Version 2.13.0-50.0.dev

Merge commit '56f46b06598bf3b8c0e7266876e81162352c986d' into 'dev'
diff --git a/pkg/front_end/test/fasta/fast_strong_suite.dart b/pkg/front_end/test/fasta/fast_strong_suite.dart
deleted file mode 100644
index e4395cb..0000000
--- a/pkg/front_end/test/fasta/fast_strong_suite.dart
+++ /dev/null
@@ -1,23 +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.
-
-// @dart = 2.9
-
-library fasta.test.fast_strong_test;
-
-import 'dart:io' show Platform;
-
-import 'testing/suite.dart';
-
-Future<FastaContext> createContext(
-    Chain suite, Map<String, String> environment) {
-  environment[ENABLE_FULL_COMPILE] = "";
-  environment["skipVm"] = "true";
-  environment["verify"] = "false";
-  return FastaContext.create(suite, environment);
-}
-
-main([List<String> arguments = const []]) => runMe(arguments, createContext,
-    configurationPath: "../../testing.json",
-    me: Platform.script.resolve("strong_tester.dart"));
diff --git a/pkg/front_end/test/fasta/strong_tester.dart b/pkg/front_end/test/fasta/strong_tester.dart
index c514438..8d862fc 100644
--- a/pkg/front_end/test/fasta/strong_tester.dart
+++ b/pkg/front_end/test/fasta/strong_tester.dart
@@ -15,6 +15,7 @@
 Future<FastaContext> createContext(
     Chain suite, Map<String, String> environment) {
   environment[ENABLE_FULL_COMPILE] = "";
+  environment['soundNullSafety'] = "true";
   return FastaContext.create(suite, environment);
 }
 
diff --git a/pkg/front_end/test/fasta/testing/suite.dart b/pkg/front_end/test/fasta/testing/suite.dart
index 9a03fcc..3b69a38 100644
--- a/pkg/front_end/test/fasta/testing/suite.dart
+++ b/pkg/front_end/test/fasta/testing/suite.dart
@@ -311,7 +311,7 @@
   final bool skipVm;
   final bool semiFuzz;
   final bool verify;
-  final bool weak;
+  final bool soundNullSafety;
   final Map<Component, KernelTarget> componentToTarget =
       <Component, KernelTarget>{};
   final Map<Component, List<Iterable<String>>> componentToDiagnostics =
@@ -351,7 +351,7 @@
       bool kernelTextSerialization,
       bool fullCompile,
       this.verify,
-      this.weak)
+      this.soundNullSafety)
       : steps = <Step>[
           new Outline(fullCompile, updateComments: updateComments),
           const Print(),
@@ -359,12 +359,12 @@
         ] {
     String fullPrefix;
     String outlinePrefix;
-    if (weak) {
+    if (soundNullSafety) {
+      fullPrefix = '.strong';
+      outlinePrefix = '.strong.outline';
+    } else {
       fullPrefix = '.weak';
       outlinePrefix = '.weak.outline';
-    } else {
-      fullPrefix = '.strong';
-      outlinePrefix = '.outline';
     }
 
     if (!fullCompile) {
@@ -444,7 +444,7 @@
             line = line.trim();
             if (line.startsWith(experimentalFlagOptions)) {
               experimentalFlagsArguments =
-                  line.substring(experimentalFlagOptions.length).split('\n');
+                  line.substring(experimentalFlagOptions.length).split(',');
             } else if (line.startsWith(overwriteCurrentSdkVersion)) {
               overwriteCurrentSdkVersionArgument =
                   line.substring(overwriteCurrentSdkVersion.length);
@@ -554,11 +554,11 @@
         ..environmentDefines = folderOptions.defines
         ..explicitExperimentalFlags = folderOptions
             .computeExplicitExperimentalFlags(explicitExperimentalFlags)
-        ..nnbdMode = weak
-            ? NnbdMode.Weak
-            : (folderOptions.nnbdAgnosticMode
+        ..nnbdMode = soundNullSafety
+            ? (folderOptions.nnbdAgnosticMode
                 ? NnbdMode.Agnostic
                 : NnbdMode.Strong)
+            : NnbdMode.Weak
         ..librariesSpecificationUri =
             uriConfiguration.librariesSpecificationUri;
       if (folderOptions.overwriteCurrentSdkVersion != null) {
@@ -729,7 +729,7 @@
     addForcedExperimentalFlag(
         "enableNonNullable", ExperimentalFlag.nonNullable);
 
-    bool weak = environment["weak"] == "true";
+    bool soundNullSafety = environment["soundNullSafety"] == "true";
     bool onlyCrashes = environment["onlyCrashes"] == "true";
     bool ignoreExpectations = environment["ignoreExpectations"] == "true";
     bool updateExpectations = environment[UPDATE_EXPECTATIONS] == "true";
@@ -759,7 +759,7 @@
         kernelTextSerialization,
         environment.containsKey(ENABLE_FULL_COMPILE),
         verify,
-        weak);
+        soundNullSafety);
   }
 }
 
@@ -788,7 +788,7 @@
         try {
           var args = <String>[];
           if (experimentalFlags[ExperimentalFlag.nonNullable] == true) {
-            if (!context.weak) {
+            if (context.soundNullSafety) {
               args.add("--sound-null-safety");
             }
           }
@@ -1035,7 +1035,7 @@
   FolderOptions folderOptions = context.computeFolderOptions(description);
   Map<ExperimentalFlag, bool> experimentalFlags = folderOptions
       .computeExplicitExperimentalFlags(context.explicitExperimentalFlags);
-  NnbdMode nnbdMode = context.weak ||
+  NnbdMode nnbdMode = !context.soundNullSafety ||
           !isExperimentEnabled(ExperimentalFlag.nonNullable,
               explicitExperimentalFlags: experimentalFlags)
       ? NnbdMode.Weak
@@ -1641,7 +1641,7 @@
     forceStaticFieldLoweringForTesting: folderOptions.forceStaticFieldLowering,
     forceNoExplicitGetterCallsForTesting:
         folderOptions.forceNoExplicitGetterCalls,
-    enableNullSafety: !context.weak,
+    enableNullSafety: context.soundNullSafety,
   );
   Target target;
   switch (folderOptions.target) {
diff --git a/pkg/front_end/test/fasta/weak1_suite.dart b/pkg/front_end/test/fasta/weak1_suite.dart
new file mode 100644
index 0000000..77f925b
--- /dev/null
+++ b/pkg/front_end/test/fasta/weak1_suite.dart
@@ -0,0 +1,11 @@
+// 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.
+
+// @dart = 2.9
+
+import 'weak_tester.dart';
+
+main(List<String> arguments) {
+  internalMain(arguments: arguments, shards: shardCount, shard: 0);
+}
diff --git a/pkg/front_end/test/fasta/weak2_suite.dart b/pkg/front_end/test/fasta/weak2_suite.dart
new file mode 100644
index 0000000..5c5745e
--- /dev/null
+++ b/pkg/front_end/test/fasta/weak2_suite.dart
@@ -0,0 +1,11 @@
+// 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.
+
+// @dart = 2.9
+
+import 'weak_tester.dart';
+
+main(List<String> arguments) {
+  internalMain(arguments: arguments, shards: shardCount, shard: 1);
+}
diff --git a/pkg/front_end/test/fasta/weak3_suite.dart b/pkg/front_end/test/fasta/weak3_suite.dart
new file mode 100644
index 0000000..a4dbb40
--- /dev/null
+++ b/pkg/front_end/test/fasta/weak3_suite.dart
@@ -0,0 +1,11 @@
+// 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.
+
+// @dart = 2.9
+
+import 'weak_tester.dart';
+
+main(List<String> arguments) {
+  internalMain(arguments: arguments, shards: shardCount, shard: 2);
+}
diff --git a/pkg/front_end/test/fasta/weak4_suite.dart b/pkg/front_end/test/fasta/weak4_suite.dart
new file mode 100644
index 0000000..fe038c5
--- /dev/null
+++ b/pkg/front_end/test/fasta/weak4_suite.dart
@@ -0,0 +1,11 @@
+// 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.
+
+// @dart = 2.9
+
+import 'weak_tester.dart';
+
+main(List<String> arguments) {
+  internalMain(arguments: arguments, shards: shardCount, shard: 3);
+}
diff --git a/pkg/front_end/test/fasta/weak_suite.dart b/pkg/front_end/test/fasta/weak_suite.dart
deleted file mode 100644
index ec9df5e..0000000
--- a/pkg/front_end/test/fasta/weak_suite.dart
+++ /dev/null
@@ -1,19 +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.
-
-// @dart = 2.9
-
-library fasta.test.weak_test;
-
-import 'testing/suite.dart';
-
-Future<FastaContext> createContext(
-    Chain suite, Map<String, String> environment) {
-  environment[ENABLE_FULL_COMPILE] = "";
-  environment["weak"] = "true";
-  return FastaContext.create(suite, environment);
-}
-
-main([List<String> arguments = const []]) =>
-    runMe(arguments, createContext, configurationPath: "../../testing.json");
diff --git a/pkg/front_end/test/fasta/weak_tester.dart b/pkg/front_end/test/fasta/weak_tester.dart
new file mode 100644
index 0000000..6544181
--- /dev/null
+++ b/pkg/front_end/test/fasta/weak_tester.dart
@@ -0,0 +1,26 @@
+// 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.
+
+// @dart = 2.9
+
+library fasta.test.weak_test;
+
+import 'testing/suite.dart';
+
+const int shardCount = 4;
+
+Future<FastaContext> createContext(
+    Chain suite, Map<String, String> environment) {
+  environment[ENABLE_FULL_COMPILE] = "";
+  return FastaContext.create(suite, environment);
+}
+
+main(List<String> arguments) {
+  internalMain(arguments: arguments);
+}
+
+internalMain(
+        {List<String> arguments = const [], int shards = 1, int shard = 0}) =>
+    runMe(arguments, createContext,
+        configurationPath: "../../testing.json", shard: shard, shards: shards);
diff --git a/pkg/front_end/test/unit_test_suites_impl.dart b/pkg/front_end/test/unit_test_suites_impl.dart
index 54af94b..71215ad 100644
--- a/pkg/front_end/test/unit_test_suites_impl.dart
+++ b/pkg/front_end/test/unit_test_suites_impl.dart
@@ -18,7 +18,6 @@
 import 'package:testing/src/test_description.dart' show TestDescription;
 
 import 'fasta/expression_suite.dart' as expression show createContext;
-import 'fasta/fast_strong_suite.dart' as fast_strong show createContext;
 import 'fasta/incremental_suite.dart' as incremental show createContext;
 import 'fasta/messages_suite.dart' as messages show createContext;
 import 'fasta/outline_suite.dart' as outline show createContext;
@@ -26,7 +25,7 @@
 import 'fasta/text_serialization_tester.dart' as text_serialization
     show createContext;
 import 'fasta/textual_outline_suite.dart' as textual_outline show createContext;
-import 'fasta/weak_suite.dart' as weak show createContext;
+import 'fasta/weak_tester.dart' as weak show createContext;
 import 'incremental_bulk_compiler_smoke_suite.dart' as incremental_bulk_compiler
     show createContext;
 import 'incremental_load_from_dill_suite.dart' as incremental_load
@@ -333,13 +332,6 @@
     "../../testing.json",
     shardCount: 2,
   ),
-  // TODO(CFE TEAM): Should the 'fast strong' be run at all?
-  const Suite(
-    "fasta/fast_strong",
-    fast_strong.createContext,
-    "../../testing.json",
-    shardCount: 4,
-  ),
   const Suite(
     "fasta/incremental",
     incremental.createContext,
@@ -365,7 +357,7 @@
     strong.createContext,
     "../../testing.json",
     path: "fasta/strong_tester.dart",
-    shardCount: 10,
+    shardCount: 2,
   ),
   const Suite(
     "incremental_bulk_compiler_smoke",
@@ -420,7 +412,8 @@
     "fasta/weak",
     weak.createContext,
     "../../testing.json",
-    shardCount: 2,
+    path: "fasta/weak_tester.dart",
+    shardCount: 10,
   ),
   const Suite(
     "fasta/textual_outline",
diff --git a/pkg/front_end/testcases/agnostic/as.dart.outline.expect b/pkg/front_end/testcases/agnostic/as.dart.outline.expect
deleted file mode 100644
index 7b8b8ac..0000000
--- a/pkg/front_end/testcases/agnostic/as.dart.outline.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::int> a = const <Null>[] as{ForNonNullableByDefault} core::List<core::int>;
-static const field core::List<core::int> b = const <core::int?>[] as{ForNonNullableByDefault} core::List<core::int>;
-static method main() → void
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: ListLiteral @ org-dartlang-testcase:///as.dart:5:17 -> ListConstant(const <Null>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///as.dart:6:17 -> ListConstant(const <int?>[])
-Extra constant evaluation: evaluated: 4, effectively constant: 2
diff --git a/pkg/front_end/testcases/agnostic/as.dart.weak.outline.expect b/pkg/front_end/testcases/agnostic/as.dart.weak.outline.expect
new file mode 100644
index 0000000..5f0c9c0
--- /dev/null
+++ b/pkg/front_end/testcases/agnostic/as.dart.weak.outline.expect
@@ -0,0 +1,14 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::int> a = const <Null>[] as{ForNonNullableByDefault} core::List<core::int>;
+static const field core::List<core::int> b = const <core::int?>[] as{ForNonNullableByDefault} core::List<core::int>;
+static method main() → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: AsExpression @ org-dartlang-testcase:///as.dart:5:20 -> ListConstant(const <Null>[])
+Evaluated: AsExpression @ org-dartlang-testcase:///as.dart:6:20 -> ListConstant(const <int?>[])
+Extra constant evaluation: evaluated: 2, effectively constant: 2
diff --git a/pkg/front_end/testcases/agnostic/folder.options b/pkg/front_end/testcases/agnostic/folder.options
index 79dd0e8..ae0440d 100644
--- a/pkg/front_end/testcases/agnostic/folder.options
+++ b/pkg/front_end/testcases/agnostic/folder.options
@@ -1,2 +1 @@
---enable-experiment=non-nullable
 --nnbd-agnostic
\ No newline at end of file
diff --git a/pkg/front_end/testcases/agnostic/identical.dart.outline.expect b/pkg/front_end/testcases/agnostic/identical.dart.outline.expect
deleted file mode 100644
index 6f87884..0000000
--- a/pkg/front_end/testcases/agnostic/identical.dart.outline.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::int> a = const <core::int>[];
-static const field core::List<core::int?> b = const <core::int?>[];
-static const field core::bool c = core::identical(self::a, self::b);
-static method main() → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: ListLiteral @ org-dartlang-testcase:///identical.dart:5:16 -> ListConstant(const <int>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///identical.dart:6:17 -> ListConstant(const <int?>[])
-Evaluated: StaticInvocation @ org-dartlang-testcase:///identical.dart:7:11 -> BoolConstant(false)
-Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/agnostic/identical.dart.weak.outline.expect b/pkg/front_end/testcases/agnostic/identical.dart.weak.outline.expect
new file mode 100644
index 0000000..0960b7b
--- /dev/null
+++ b/pkg/front_end/testcases/agnostic/identical.dart.weak.outline.expect
@@ -0,0 +1,16 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::int> a = const <core::int>[];
+static const field core::List<core::int?> b = const <core::int?>[];
+static const field core::bool c = core::identical(self::a, self::b);
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///identical.dart:5:16 -> ListConstant(const <int*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///identical.dart:6:17 -> ListConstant(const <int?>[])
+Evaluated: StaticInvocation @ org-dartlang-testcase:///identical.dart:7:11 -> BoolConstant(false)
+Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/agnostic/is.dart.outline.expect b/pkg/front_end/testcases/agnostic/is.dart.outline.expect
deleted file mode 100644
index 62c76b3..0000000
--- a/pkg/front_end/testcases/agnostic/is.dart.outline.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::bool a = const <Null>[] is{ForNonNullableByDefault} core::List<core::int>;
-static const field core::bool b = const <core::int?>[] is{ForNonNullableByDefault} core::List<core::int>;
-static method main() → void
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: ListLiteral @ org-dartlang-testcase:///is.dart:5:17 -> ListConstant(const <Null>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///is.dart:6:17 -> ListConstant(const <int?>[])
-Extra constant evaluation: evaluated: 4, effectively constant: 2
diff --git a/pkg/front_end/testcases/agnostic/is.dart.weak.outline.expect b/pkg/front_end/testcases/agnostic/is.dart.weak.outline.expect
new file mode 100644
index 0000000..eb897b7
--- /dev/null
+++ b/pkg/front_end/testcases/agnostic/is.dart.weak.outline.expect
@@ -0,0 +1,14 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::bool a = const <Null>[] is{ForNonNullableByDefault} core::List<core::int>;
+static const field core::bool b = const <core::int?>[] is{ForNonNullableByDefault} core::List<core::int>;
+static method main() → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: IsExpression @ org-dartlang-testcase:///is.dart:5:20 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///is.dart:6:20 -> BoolConstant(true)
+Extra constant evaluation: evaluated: 2, effectively constant: 2
diff --git a/pkg/front_end/testcases/agnostic/map.dart.outline.expect b/pkg/front_end/testcases/agnostic/map.dart.outline.expect
deleted file mode 100644
index 5661432..0000000
--- a/pkg/front_end/testcases/agnostic/map.dart.outline.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::int> a = const <core::int>[];
-static const field core::List<core::int?> b = const <core::int?>[];
-static const field core::Map<core::List<core::int?>, core::int> c = const <core::List<core::int?>, core::int>{self::a: 0, self::b: 1};
-static method main() → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: ListLiteral @ org-dartlang-testcase:///map.dart:5:16 -> ListConstant(const <int>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///map.dart:6:17 -> ListConstant(const <int?>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///map.dart:7:11 -> InstanceConstant(const _ImmutableMap<List<int?>, int>{_ImmutableMap._kvPairs: const <dynamic>[const <int>[], 0, const <int?>[], 1]})
-Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/agnostic/map.dart.weak.outline.expect b/pkg/front_end/testcases/agnostic/map.dart.weak.outline.expect
new file mode 100644
index 0000000..9a50a62
--- /dev/null
+++ b/pkg/front_end/testcases/agnostic/map.dart.weak.outline.expect
@@ -0,0 +1,16 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::int> a = const <core::int>[];
+static const field core::List<core::int?> b = const <core::int?>[];
+static const field core::Map<core::List<core::int?>, core::int> c = const <core::List<core::int?>, core::int>{self::a: 0, self::b: 1};
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///map.dart:5:16 -> ListConstant(const <int*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///map.dart:6:17 -> ListConstant(const <int?>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///map.dart:7:11 -> InstanceConstant(const _ImmutableMap<List<int?>*, int*>{_ImmutableMap._kvPairs: const <dynamic>[const <int*>[], 0, const <int?>[], 1]})
+Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/agnostic/set.dart.outline.expect b/pkg/front_end/testcases/agnostic/set.dart.outline.expect
deleted file mode 100644
index a0da86e..0000000
--- a/pkg/front_end/testcases/agnostic/set.dart.outline.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::int> a = const <core::int>[];
-static const field core::List<core::int?> b = const <core::int?>[];
-static const field core::Set<core::List<core::int?>> c = const <core::List<core::int?>>{self::a, self::b};
-static method main() → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: ListLiteral @ org-dartlang-testcase:///set.dart:5:16 -> ListConstant(const <int>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///set.dart:6:17 -> ListConstant(const <int?>[])
-Evaluated: SetLiteral @ org-dartlang-testcase:///set.dart:7:11 -> InstanceConstant(const _UnmodifiableSet<List<int?>>{_UnmodifiableSet._map: const _ImmutableMap<List<int?>, Null>{_ImmutableMap._kvPairs: const <dynamic>[const <int>[], null, const <int?>[], null]}})
-Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/agnostic/set.dart.weak.outline.expect b/pkg/front_end/testcases/agnostic/set.dart.weak.outline.expect
new file mode 100644
index 0000000..62e6f76
--- /dev/null
+++ b/pkg/front_end/testcases/agnostic/set.dart.weak.outline.expect
@@ -0,0 +1,16 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::int> a = const <core::int>[];
+static const field core::List<core::int?> b = const <core::int?>[];
+static const field core::Set<core::List<core::int?>> c = const <core::List<core::int?>>{self::a, self::b};
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///set.dart:5:16 -> ListConstant(const <int*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///set.dart:6:17 -> ListConstant(const <int?>[])
+Evaluated: SetLiteral @ org-dartlang-testcase:///set.dart:7:11 -> InstanceConstant(const _UnmodifiableSet<List<int?>*>{_UnmodifiableSet._map: const _ImmutableMap<List<int?>*, Null>{_ImmutableMap._kvPairs: const <dynamic>[const <int*>[], null, const <int?>[], null]}})
+Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/dart2js/list_generate.dart.outline.expect b/pkg/front_end/testcases/dart2js/list_generate.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/dart2js/list_generate.dart.outline.expect
rename to pkg/front_end/testcases/dart2js/list_generate.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/dartdevc/private_covariant.dart.outline.expect b/pkg/front_end/testcases/dartdevc/private_covariant.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/dartdevc/private_covariant.dart.outline.expect
rename to pkg/front_end/testcases/dartdevc/private_covariant.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/expression/eval.dart b/pkg/front_end/testcases/expression/eval.dart
index b905801..db764a3 100644
--- a/pkg/front_end/testcases/expression/eval.dart
+++ b/pkg/front_end/testcases/expression/eval.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 int globalVar = 100;
 
 class MyClass {
diff --git a/pkg/front_end/testcases/expression/folder.options b/pkg/front_end/testcases/expression/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/expression/folder.options
+++ b/pkg/front_end/testcases/expression/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/expression/main.dart b/pkg/front_end/testcases/expression/main.dart
index 91ad8d9..a4fefb5 100644
--- a/pkg/front_end/testcases/expression/main.dart
+++ b/pkg/front_end/testcases/expression/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 library main;
 
 import 'dart:io' show File, Process, exit;
diff --git a/pkg/front_end/testcases/expression/main_2.dart b/pkg/front_end/testcases/expression/main_2.dart
index 5cebe18..eb9600f 100644
--- a/pkg/front_end/testcases/expression/main_2.dart
+++ b/pkg/front_end/testcases/expression/main_2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 library main_2;
 
 import 'main.dart' as m;
diff --git a/pkg/front_end/testcases/extensions/ambiguous.dart b/pkg/front_end/testcases/extensions/ambiguous.dart
index df66ba8..58c25ea 100644
--- a/pkg/front_end/testcases/extensions/ambiguous.dart
+++ b/pkg/front_end/testcases/extensions/ambiguous.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension A on C {
   void method() {}
   int get getter => 42;
diff --git a/pkg/front_end/testcases/extensions/ambiguous.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/ambiguous.dart.textual_outline.expect
index cdead34..64d21ffcd 100644
--- a/pkg/front_end/testcases/extensions/ambiguous.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/ambiguous.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension A on C {
   void method() {}
   int get getter => 42;
diff --git a/pkg/front_end/testcases/extensions/ambiguous.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/ambiguous.dart.textual_outline_modelled.expect
index 181cba7e..56bcb51 100644
--- a/pkg/front_end/testcases/extensions/ambiguous.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/ambiguous.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {}
 
 errors(C c) {}
diff --git a/pkg/front_end/testcases/extensions/ambiguous.dart.strong.expect b/pkg/front_end/testcases/extensions/ambiguous.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/ambiguous.dart.strong.expect
rename to pkg/front_end/testcases/extensions/ambiguous.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/ambiguous.dart.outline.expect b/pkg/front_end/testcases/extensions/ambiguous.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/ambiguous.dart.outline.expect
rename to pkg/front_end/testcases/extensions/ambiguous.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/ambiguous.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/ambiguous.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/ambiguous.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/ambiguous.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/annotations.dart b/pkg/front_end/testcases/extensions/annotations.dart
index 0e0b623..8e69899 100644
--- a/pkg/front_end/testcases/extensions/annotations.dart
+++ b/pkg/front_end/testcases/extensions/annotations.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   @pragma('dart2js:noInline')
   instanceMethod() {}
diff --git a/pkg/front_end/testcases/extensions/annotations.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/annotations.dart.textual_outline.expect
index 29e0b7f..a48748b 100644
--- a/pkg/front_end/testcases/extensions/annotations.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/annotations.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   @pragma('dart2js:noInline')
   instanceMethod() {}
diff --git a/pkg/front_end/testcases/extensions/annotations.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/annotations.dart.textual_outline_modelled.expect
index ad11530..3c38648 100644
--- a/pkg/front_end/testcases/extensions/annotations.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/annotations.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   @pragma('dart2js:noInline')
   instanceMethod() {}
diff --git a/pkg/front_end/testcases/extensions/annotations.dart.strong.expect b/pkg/front_end/testcases/extensions/annotations.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/annotations.dart.strong.expect
rename to pkg/front_end/testcases/extensions/annotations.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/annotations.dart.outline.expect b/pkg/front_end/testcases/extensions/annotations.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/annotations.dart.outline.expect
rename to pkg/front_end/testcases/extensions/annotations.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/annotations.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/annotations.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/annotations.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/annotations.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/async_extensions.dart b/pkg/front_end/testcases/extensions/async_extensions.dart
index a958690..5c884cb 100644
--- a/pkg/front_end/testcases/extensions/async_extensions.dart
+++ b/pkg/front_end/testcases/extensions/async_extensions.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Extension on int {
   syncStarMethod() sync* {}
   asyncMethod() async {}
diff --git a/pkg/front_end/testcases/extensions/async_extensions.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/async_extensions.dart.textual_outline.expect
index 101e634..34b69e8 100644
--- a/pkg/front_end/testcases/extensions/async_extensions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/async_extensions.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Extension on int {
   syncStarMethod() sync* {}
   asyncMethod() async {}
diff --git a/pkg/front_end/testcases/extensions/async_extensions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/async_extensions.dart.textual_outline_modelled.expect
index 52c36dd..a4561c1 100644
--- a/pkg/front_end/testcases/extensions/async_extensions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/async_extensions.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Extension on int {
   asyncMethod() async {}
   asyncStarMethod() async* {}
diff --git a/pkg/front_end/testcases/extensions/async_extensions.dart.strong.expect b/pkg/front_end/testcases/extensions/async_extensions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/async_extensions.dart.strong.expect
rename to pkg/front_end/testcases/extensions/async_extensions.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/async_extensions.dart.outline.expect b/pkg/front_end/testcases/extensions/async_extensions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/async_extensions.dart.outline.expect
rename to pkg/front_end/testcases/extensions/async_extensions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/async_extensions.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/async_extensions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/async_extensions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/bounds.dart b/pkg/front_end/testcases/extensions/bounds.dart
index ee4308a..104117b 100644
--- a/pkg/front_end/testcases/extensions/bounds.dart
+++ b/pkg/front_end/testcases/extensions/bounds.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Extension1<T extends Object> on T {
   method1<S extends Object>() {}
   method2<S extends String>() {}
diff --git a/pkg/front_end/testcases/extensions/bounds.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/bounds.dart.textual_outline.expect
index fe4b2b0..e32a7f7 100644
--- a/pkg/front_end/testcases/extensions/bounds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/bounds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Extension1<T extends Object> on T {
   method1<S extends Object>() {}
   method2<S extends String>() {}
diff --git a/pkg/front_end/testcases/extensions/bounds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/bounds.dart.textual_outline_modelled.expect
index fe4b2b0..e32a7f7 100644
--- a/pkg/front_end/testcases/extensions/bounds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/bounds.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Extension1<T extends Object> on T {
   method1<S extends Object>() {}
   method2<S extends String>() {}
diff --git a/pkg/front_end/testcases/extensions/bounds.dart.strong.expect b/pkg/front_end/testcases/extensions/bounds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/bounds.dart.strong.expect
rename to pkg/front_end/testcases/extensions/bounds.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/bounds.dart.outline.expect b/pkg/front_end/testcases/extensions/bounds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/bounds.dart.outline.expect
rename to pkg/front_end/testcases/extensions/bounds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/bounds.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/bounds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/bounds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/bounds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/builtin_identifiers.dart b/pkg/front_end/testcases/extensions/builtin_identifiers.dart
index ada520d..452cea3 100644
--- a/pkg/front_end/testcases/extensions/builtin_identifiers.dart
+++ b/pkg/front_end/testcases/extensions/builtin_identifiers.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension mixin on int {}
 
 extension extension on int {}
diff --git a/pkg/front_end/testcases/extensions/builtin_identifiers.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/builtin_identifiers.dart.textual_outline.expect
index 3fef925..2e6f837 100644
--- a/pkg/front_end/testcases/extensions/builtin_identifiers.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/builtin_identifiers.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension mixin on int {}
 
 extension extension on int {}
diff --git a/pkg/front_end/testcases/extensions/builtin_identifiers.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/builtin_identifiers.dart.textual_outline_modelled.expect
index 94a2d44..b1fc88b 100644
--- a/pkg/front_end/testcases/extensions/builtin_identifiers.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/builtin_identifiers.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension as on int {}
 
 extension extension on int {}
diff --git a/pkg/front_end/testcases/extensions/builtin_identifiers.dart.strong.expect b/pkg/front_end/testcases/extensions/builtin_identifiers.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/builtin_identifiers.dart.strong.expect
rename to pkg/front_end/testcases/extensions/builtin_identifiers.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/builtin_identifiers.dart.outline.expect b/pkg/front_end/testcases/extensions/builtin_identifiers.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/builtin_identifiers.dart.outline.expect
rename to pkg/front_end/testcases/extensions/builtin_identifiers.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/builtin_identifiers.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/builtin_identifiers.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/builtin_identifiers.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/builtin_identifiers.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart b/pkg/front_end/testcases/extensions/call_methods.dart
index 3ae8fe3..d3db2f7 100644
--- a/pkg/front_end/testcases/extensions/call_methods.dart
+++ b/pkg/front_end/testcases/extensions/call_methods.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {
   String get call => "My name is A";
 }
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/call_methods.dart.strong.transformed.expect
deleted file mode 100644
index 2c5009c..0000000
--- a/pkg/front_end/testcases/extensions/call_methods.dart.strong.transformed.expect
+++ /dev/null
@@ -1,96 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/call_methods.dart:31:4: Error: 'call' isn't a function or method and can't be invoked.
-//   1(10);
-//    ^
-//
-// pkg/front_end/testcases/extensions/call_methods.dart:32:4: Error: 'call' isn't a function or method and can't be invoked.
-//   1("10");
-//    ^
-//
-// pkg/front_end/testcases/extensions/call_methods.dart:33:6: Error: 'call' isn't a function or method and can't be invoked.
-//   1.0(10);
-//      ^
-//
-// pkg/front_end/testcases/extensions/call_methods.dart:34:6: Error: 'call' isn't a function or method and can't be invoked.
-//   1.0("10");
-//      ^
-//
-// pkg/front_end/testcases/extensions/call_methods.dart:36:4: Error: 'call' isn't a function or method and can't be invoked.
-//   a(2);
-//    ^
-//
-// pkg/front_end/testcases/extensions/call_methods.dart:37:4: Error: 'call' isn't a function or method and can't be invoked.
-//   a(2, "3");
-//    ^
-//
-// pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Cannot invoke an instance of 'B' because it declares 'call' to be something other than a method.
-//  - 'B' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
-// Try changing 'call' to a method or explicitly invoke 'call'.
-//   b();
-//    ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  get call() → core::String*
-    return "My name is A";
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get call() → () →* core::String*
-    return () → core::String* => "My name is B";
-}
-extension _extension#0 on core::int* {
-  get call = self::_extension#0|get#call;
-}
-extension _extension#1 on core::num* {
-  get call = self::_extension#1|get#call;
-}
-extension _extension#2 on core::String* {
-  get call = self::_extension#2|get#call;
-}
-static method _extension#0|get#call(final core::int* #this) → core::String*
-  return "My name is int";
-static method _extension#1|get#call(final core::num* #this) → core::String*
-  return "My name is num";
-static method _extension#2|get#call(final core::String* #this) → () →* core::String*
-  return () → core::String* => "My name is String";
-static method main() → dynamic {
-  self::_extension#2|get#call("").call();
-}
-static method errors() → dynamic {
-  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:31:4: Error: 'call' isn't a function or method and can't be invoked.
-  1(10);
-   ^";
-  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:32:4: Error: 'call' isn't a function or method and can't be invoked.
-  1(\"10\");
-   ^";
-  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:33:6: Error: 'call' isn't a function or method and can't be invoked.
-  1.0(10);
-     ^";
-  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:34:6: Error: 'call' isn't a function or method and can't be invoked.
-  1.0(\"10\");
-     ^";
-  self::A* a = new self::A::•();
-  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:36:4: Error: 'call' isn't a function or method and can't be invoked.
-  a(2);
-   ^";
-  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:37:4: Error: 'call' isn't a function or method and can't be invoked.
-  a(2, \"3\");
-   ^";
-  self::B* b = new self::B::•();
-  invalid-expression "pkg/front_end/testcases/extensions/call_methods.dart:39:4: Error: Cannot invoke an instance of 'B' because it declares 'call' to be something other than a method.
- - 'B' is from 'pkg/front_end/testcases/extensions/call_methods.dart'.
-Try changing 'call' to a method or explicitly invoke 'call'.
-  b();
-   ^";
-}
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/call_methods.dart.textual_outline.expect
index cb13225..fd2596a 100644
--- a/pkg/front_end/testcases/extensions/call_methods.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/call_methods.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   String get call => "My name is A";
 }
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/call_methods.dart.textual_outline_modelled.expect
index 30be637..ac089e2 100644
--- a/pkg/front_end/testcases/extensions/call_methods.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/call_methods.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 A a = new A();
 B b = new B();
 
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.strong.expect b/pkg/front_end/testcases/extensions/call_methods.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/call_methods.dart.strong.expect
rename to pkg/front_end/testcases/extensions/call_methods.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/call_methods.dart.outline.expect b/pkg/front_end/testcases/extensions/call_methods.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/call_methods.dart.outline.expect
rename to pkg/front_end/testcases/extensions/call_methods.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/check_bounds.dart b/pkg/front_end/testcases/extensions/check_bounds.dart
index 1772b28..bfa3795 100644
--- a/pkg/front_end/testcases/extensions/check_bounds.dart
+++ b/pkg/front_end/testcases/extensions/check_bounds.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 part 'check_bounds_lib.dart';
 
 class A {}
diff --git a/pkg/front_end/testcases/extensions/check_bounds.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/check_bounds.dart.textual_outline.expect
index ee9c440..d3150dd 100644
--- a/pkg/front_end/testcases/extensions/check_bounds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/check_bounds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 part 'check_bounds_lib.dart';
 
 class A {}
diff --git a/pkg/front_end/testcases/extensions/check_bounds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/check_bounds.dart.textual_outline_modelled.expect
index 2b09fba..dbd1434 100644
--- a/pkg/front_end/testcases/extensions/check_bounds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/check_bounds.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 part 'check_bounds_lib.dart';
 
 class A {}
diff --git a/pkg/front_end/testcases/extensions/check_bounds.dart.strong.expect b/pkg/front_end/testcases/extensions/check_bounds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/check_bounds.dart.strong.expect
rename to pkg/front_end/testcases/extensions/check_bounds.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/check_bounds.dart.outline.expect b/pkg/front_end/testcases/extensions/check_bounds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/check_bounds.dart.outline.expect
rename to pkg/front_end/testcases/extensions/check_bounds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/check_bounds.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/check_bounds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/check_bounds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/check_bounds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/check_bounds_lib.dart b/pkg/front_end/testcases/extensions/check_bounds_lib.dart
index 3637ebe..cf84769 100644
--- a/pkg/front_end/testcases/extensions/check_bounds_lib.dart
+++ b/pkg/front_end/testcases/extensions/check_bounds_lib.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 part of 'check_bounds.dart';
 
 testInPart() {
diff --git a/pkg/front_end/testcases/extensions/compounds.dart b/pkg/front_end/testcases/extensions/compounds.dart
index a84d095..af73621 100644
--- a/pkg/front_end/testcases/extensions/compounds.dart
+++ b/pkg/front_end/testcases/extensions/compounds.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Number {
   final int value;
 
diff --git a/pkg/front_end/testcases/extensions/compounds.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/compounds.dart.textual_outline.expect
index 4e5e0d2..bb35225 100644
--- a/pkg/front_end/testcases/extensions/compounds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/compounds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Number {
   final int value;
   Number(this.value);
diff --git a/pkg/front_end/testcases/extensions/compounds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/compounds.dart.textual_outline_modelled.expect
index fada7bd..b845645 100644
--- a/pkg/front_end/testcases/extensions/compounds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/compounds.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   Class(this.field);
   Number field;
diff --git a/pkg/front_end/testcases/extensions/compounds.dart.strong.expect b/pkg/front_end/testcases/extensions/compounds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/compounds.dart.strong.expect
rename to pkg/front_end/testcases/extensions/compounds.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/compounds.dart.outline.expect b/pkg/front_end/testcases/extensions/compounds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/compounds.dart.outline.expect
rename to pkg/front_end/testcases/extensions/compounds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/compounds.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/compounds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/compounds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/compounds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart b/pkg/front_end/testcases/extensions/conflict_with_object.dart
index 4d25f0e..41b089d 100644
--- a/pkg/front_end/testcases/extensions/conflict_with_object.dart
+++ b/pkg/front_end/testcases/extensions/conflict_with_object.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension Extension on String {
   int get noSuchMethod => 42;
   void set hashCode(int value) {}
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.textual_outline.expect
index eb8b109..2e92f04 100644
--- a/pkg/front_end/testcases/extensions/conflict_with_object.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/conflict_with_object.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Extension on String {
   int get noSuchMethod => 42;
   void set hashCode(int value) {}
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.textual_outline_modelled.expect
index f5441b5..a4cefaa 100644
--- a/pkg/front_end/testcases/extensions/conflict_with_object.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/conflict_with_object.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 errors() {}
 expect(expected, actual) {}
 
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.strong.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/conflict_with_object.dart.strong.expect
rename to pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.outline.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/conflict_with_object.dart.outline.expect
rename to pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/conflict_with_object.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/conflict_with_object.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/conflict_with_object.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/conflicts.dart b/pkg/front_end/testcases/extensions/conflicts.dart
index b05aa28..73581ca 100644
--- a/pkg/front_end/testcases/extensions/conflicts.dart
+++ b/pkg/front_end/testcases/extensions/conflicts.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class1 {
 }
 class Class2 {}
diff --git a/pkg/front_end/testcases/extensions/conflicts.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/conflicts.dart.textual_outline.expect
index 0f53c9b..2ecd835 100644
--- a/pkg/front_end/testcases/extensions/conflicts.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/conflicts.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {}
 
 class Class2 {}
diff --git a/pkg/front_end/testcases/extensions/conflicts.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/conflicts.dart.textual_outline_modelled.expect
index 481736e..e713b85 100644
--- a/pkg/front_end/testcases/extensions/conflicts.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/conflicts.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {}
 
 class Class2 {}
diff --git a/pkg/front_end/testcases/extensions/conflicts.dart.strong.expect b/pkg/front_end/testcases/extensions/conflicts.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/conflicts.dart.strong.expect
rename to pkg/front_end/testcases/extensions/conflicts.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/conflicts.dart.outline.expect b/pkg/front_end/testcases/extensions/conflicts.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/conflicts.dart.outline.expect
rename to pkg/front_end/testcases/extensions/conflicts.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/conflicts.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/conflicts.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/conflicts.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/conflicts.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/default_values.dart b/pkg/front_end/testcases/extensions/default_values.dart
index eb948c2..cbe9d36 100644
--- a/pkg/front_end/testcases/extensions/default_values.dart
+++ b/pkg/front_end/testcases/extensions/default_values.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/default_values.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/default_values.dart.textual_outline.expect
index 76863ce..07692f8 100644
--- a/pkg/front_end/testcases/extensions/default_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/default_values.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/default_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/default_values.dart.textual_outline_modelled.expect
index dac2c87e..75eaf11 100644
--- a/pkg/front_end/testcases/extensions/default_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/default_values.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 expect(expected, actual) {}
diff --git a/pkg/front_end/testcases/extensions/default_values.dart.strong.expect b/pkg/front_end/testcases/extensions/default_values.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/default_values.dart.strong.expect
rename to pkg/front_end/testcases/extensions/default_values.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/default_values.dart.outline.expect b/pkg/front_end/testcases/extensions/default_values.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/default_values.dart.outline.expect
rename to pkg/front_end/testcases/extensions/default_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/default_values.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/default_values.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/default_values.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart
index 70ca3dd..4935ff2 100644
--- a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart
+++ b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'deferred_explicit_access_lib.dart' deferred as prefix;
 
 main() async {
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.textual_outline.expect
index 5dedc9b..7ce2bbc 100644
--- a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_explicit_access_lib.dart' deferred as prefix;
 
 main() async {}
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.textual_outline_modelled.expect
index 45edf2b..f02744c 100644
--- a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_explicit_access_lib.dart' deferred as prefix;
 
 expect(expected, actual) {}
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.strong.expect b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/deferred_explicit_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.outline.expect b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/deferred_explicit_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/deferred_explicit_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/deferred_explicit_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/deferred_explicit_access_lib.dart b/pkg/front_end/testcases/extensions/deferred_explicit_access_lib.dart
index a85bb28..76a7d59 100644
--- a/pkg/front_end/testcases/extensions/deferred_explicit_access_lib.dart
+++ b/pkg/front_end/testcases/extensions/deferred_explicit_access_lib.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension Extension on int {
   static int staticField = 0;
 
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart
index c5d6507..b289768b 100644
--- a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart
+++ b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'deferred_explicit_access_lib.dart' deferred as prefix hide Extension;
 
 main() async {
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.textual_outline.expect
index cd5075c..6e5148b 100644
--- a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_explicit_access_lib.dart' deferred as prefix hide Extension;
 
 main() async {}
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.textual_outline_modelled.expect
index 73bcfb8..72a2f58 100644
--- a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_explicit_access_lib.dart' deferred as prefix hide Extension;
 
 expect(expected, actual) {}
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.strong.expect b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/deferred_import_hidden.dart.strong.expect
rename to pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.outline.expect b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/deferred_import_hidden.dart.outline.expect
rename to pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/deferred_import_hidden.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/deferred_import_hidden.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart b/pkg/front_end/testcases/extensions/direct_instance_access.dart
index 9ccfeda..f7368f0 100644
--- a/pkg/front_end/testcases/extensions/direct_instance_access.dart
+++ b/pkg/front_end/testcases/extensions/direct_instance_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   var field;
 }
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.hierarchy.expect
deleted file mode 100644
index e70886a..0000000
--- a/pkg/front_end/testcases/extensions/direct_instance_access.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Class:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Class.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Class.field
-
-GenericClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    GenericClass.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    GenericClass.field
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.textual_outline.expect
index dd71c14..2ce2827 100644
--- a/pkg/front_end/testcases/extensions/direct_instance_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/direct_instance_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   var field;
 }
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.textual_outline_modelled.expect
index 9e4b234..00f7edc 100644
--- a/pkg/front_end/testcases/extensions/direct_instance_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/direct_instance_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   var field;
 }
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.strong.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/direct_instance_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.outline.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/direct_instance_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/direct_instance_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/direct_instance_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/direct_instance_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart b/pkg/front_end/testcases/extensions/direct_static_access.dart
index 5da64d7..4529483 100644
--- a/pkg/front_end/testcases/extensions/direct_static_access.dart
+++ b/pkg/front_end/testcases/extensions/direct_static_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class<T> {
   static var field;
 }
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.hierarchy.expect
deleted file mode 100644
index 1c0effd..0000000
--- a/pkg/front_end/testcases/extensions/direct_static_access.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Class:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Class.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Class.field
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.textual_outline.expect
index 44997e9..e8420b5 100644
--- a/pkg/front_end/testcases/extensions/direct_static_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/direct_static_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {
   static var field;
 }
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.textual_outline_modelled.expect
index cbd1559..8fc0c10 100644
--- a/pkg/front_end/testcases/extensions/direct_static_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/direct_static_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {
   static var field;
 }
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.strong.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/direct_static_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/direct_static_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.outline.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/direct_static_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/direct_static_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/direct_static_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/direct_static_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/direct_static_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/direct_static_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/dynamic_invoke.dart b/pkg/front_end/testcases/extensions/dynamic_invoke.dart
index bd327b7..c449576 100644
--- a/pkg/front_end/testcases/extensions/dynamic_invoke.dart
+++ b/pkg/front_end/testcases/extensions/dynamic_invoke.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   noSuchMethod(Invocation i) => 123;
 }
diff --git a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.textual_outline.expect
index 5ee7ab2..de6b9c9 100644
--- a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   noSuchMethod(Invocation i) => 123;
 }
diff --git a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.textual_outline_modelled.expect
index df09e5e..ab98ca8 100644
--- a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   noSuchMethod(Invocation i) => 123;
 }
diff --git a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.strong.expect b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/dynamic_invoke.dart.strong.expect
rename to pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.outline.expect b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/dynamic_invoke.dart.outline.expect
rename to pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/dynamic_invoke.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/dynamic_invoke.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/dynamic_invoke.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_access.dart b/pkg/front_end/testcases/extensions/explicit_extension_access.dart
index d030faf..88b2d04 100644
--- a/pkg/front_end/testcases/extensions/explicit_extension_access.dart
+++ b/pkg/front_end/testcases/extensions/explicit_extension_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   int field1 = 42;
   int field2 = 87;
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.textual_outline.expect
index 0bc2528..7d088c6 100644
--- a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field1 = 42;
   int field2 = 87;
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.textual_outline_modelled.expect
index 95799c3..6e3b6e5 100644
--- a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field1 = 42;
   int field2 = 87;
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.strong.expect b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_extension_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.outline.expect b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_extension_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_extension_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/explicit_extension_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart
index d2a63b9..a8ea3d7 100644
--- a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart
+++ b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {}
 class B extends A {}
 class C extends B {}
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.textual_outline.expect
index 076a719..4de6676 100644
--- a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.textual_outline_modelled.expect
index 79d6ba0..32d2370 100644
--- a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.strong.expect b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_extension_inference.dart.strong.expect
rename to pkg/front_end/testcases/extensions/explicit_extension_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.outline.expect b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_extension_inference.dart.outline.expect
rename to pkg/front_end/testcases/extensions/explicit_extension_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_extension_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/explicit_extension_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart
index d8a4598..7cde52c 100644
--- a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart
+++ b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class<T extends num> {
   T field1;
   T field2;
diff --git a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.textual_outline.expect
index b8ab337..90dcfe1 100644
--- a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T extends num> {
   T field1;
   T field2;
diff --git a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.textual_outline_modelled.expect
index f800b7a..11d1037 100644
--- a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T extends num> {
   Class(this.field1, this.field2);
   T field1;
diff --git a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.strong.expect b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.outline.expect b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/explicit_generic_extension_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart
index fc8cd69..64a0534 100644
--- a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart
+++ b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {}
diff --git a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.textual_outline.expect
index c1b8b08..e158dbb 100644
--- a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {}
diff --git a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.textual_outline_modelled.expect
index 43c658b..311863a 100644
--- a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 errors(Class c) {}
diff --git a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.strong.expect b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_invalid_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/explicit_invalid_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.outline.expect b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_invalid_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/explicit_invalid_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/explicit_invalid_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_invalid_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/explicit_invalid_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart b/pkg/front_end/testcases/extensions/explicit_this.dart
index e8f1fb4..8557323 100644
--- a/pkg/front_end/testcases/extensions/explicit_this.dart
+++ b/pkg/front_end/testcases/extensions/explicit_this.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A1 {
   Object field;
   void method1() {}
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.hierarchy.expect
deleted file mode 100644
index 759a8b1..0000000
--- a/pkg/front_end/testcases/extensions/explicit_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A1.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    A1.method1
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A1.field
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.textual_outline.expect
index 8efd4bb..63c3acd 100644
--- a/pkg/front_end/testcases/extensions/explicit_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/explicit_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {
   Object field;
   void method1() {}
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.textual_outline_modelled.expect
index ca8cb86..fb368df 100644
--- a/pkg/front_end/testcases/extensions/explicit_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/explicit_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {
   Object field;
   void method1() {}
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.strong.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_this.dart.strong.expect
rename to pkg/front_end/testcases/extensions/explicit_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.outline.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_this.dart.outline.expect
rename to pkg/front_end/testcases/extensions/explicit_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/explicit_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/explicit_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/explicit_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/export_from_dill/main.dart b/pkg/front_end/testcases/extensions/export_from_dill/main.dart
index 6524b05..3c64e58 100644
--- a/pkg/front_end/testcases/extensions/export_from_dill/main.dart
+++ b/pkg/front_end/testcases/extensions/export_from_dill/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'main_lib1.dart';
 
 main() {
diff --git a/pkg/front_end/testcases/extensions/export_from_dill/main.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/export_from_dill/main.dart.textual_outline.expect
index b27adef..37f878a 100644
--- a/pkg/front_end/testcases/extensions/export_from_dill/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/export_from_dill/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib1.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/extensions/export_from_dill/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/export_from_dill/main.dart.textual_outline_modelled.expect
index b27adef..37f878a 100644
--- a/pkg/front_end/testcases/extensions/export_from_dill/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/export_from_dill/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib1.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/extensions/export_from_dill/main.dart.strong.expect b/pkg/front_end/testcases/extensions/export_from_dill/main.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/export_from_dill/main.dart.strong.expect
rename to pkg/front_end/testcases/extensions/export_from_dill/main.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/export_from_dill/main.dart.outline.expect b/pkg/front_end/testcases/extensions/export_from_dill/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/export_from_dill/main.dart.outline.expect
rename to pkg/front_end/testcases/extensions/export_from_dill/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/export_from_dill/main.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/export_from_dill/main.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/export_from_dill/main.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/export_from_dill/main.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/export_from_dill/main_lib1.dart b/pkg/front_end/testcases/extensions/export_from_dill/main_lib1.dart
index 6c6153b..3ea16b6 100644
--- a/pkg/front_end/testcases/extensions/export_from_dill/main_lib1.dart
+++ b/pkg/front_end/testcases/extensions/export_from_dill/main_lib1.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, 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=2.9
 export 'main_lib2.dart';
diff --git a/pkg/front_end/testcases/extensions/export_from_dill/main_lib2.dart b/pkg/front_end/testcases/extensions/export_from_dill/main_lib2.dart
index b08ae03..4eba373 100644
--- a/pkg/front_end/testcases/extensions/export_from_dill/main_lib2.dart
+++ b/pkg/front_end/testcases/extensions/export_from_dill/main_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Extension on int {
   int get instanceProperty => 42;
   void set instanceProperty(int value) {}
diff --git a/pkg/front_end/testcases/extensions/export_twice.dart b/pkg/front_end/testcases/extensions/export_twice.dart
index 6fdc20a..da8915c 100644
--- a/pkg/front_end/testcases/extensions/export_twice.dart
+++ b/pkg/front_end/testcases/extensions/export_twice.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'export_twice_lib1.dart';
 import 'export_twice_lib2.dart';
 
diff --git a/pkg/front_end/testcases/extensions/export_twice.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/export_twice.dart.textual_outline.expect
index 3e4ce72..1fc614e 100644
--- a/pkg/front_end/testcases/extensions/export_twice.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/export_twice.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'export_twice_lib1.dart';
 import 'export_twice_lib2.dart';
 
diff --git a/pkg/front_end/testcases/extensions/export_twice.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/export_twice.dart.textual_outline_modelled.expect
index 3e4ce72..1fc614e 100644
--- a/pkg/front_end/testcases/extensions/export_twice.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/export_twice.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'export_twice_lib1.dart';
 import 'export_twice_lib2.dart';
 
diff --git a/pkg/front_end/testcases/extensions/export_twice.dart.strong.expect b/pkg/front_end/testcases/extensions/export_twice.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/export_twice.dart.strong.expect
rename to pkg/front_end/testcases/extensions/export_twice.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/export_twice.dart.outline.expect b/pkg/front_end/testcases/extensions/export_twice.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/export_twice.dart.outline.expect
rename to pkg/front_end/testcases/extensions/export_twice.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/export_twice.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/export_twice.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/export_twice.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/export_twice.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/export_twice_lib1.dart b/pkg/front_end/testcases/extensions/export_twice_lib1.dart
index 1004de0..22867f5 100644
--- a/pkg/front_end/testcases/extensions/export_twice_lib1.dart
+++ b/pkg/front_end/testcases/extensions/export_twice_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/export_twice_lib2.dart b/pkg/front_end/testcases/extensions/export_twice_lib2.dart
index adeca01..59fe68b 100644
--- a/pkg/front_end/testcases/extensions/export_twice_lib2.dart
+++ b/pkg/front_end/testcases/extensions/export_twice_lib2.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 export 'export_twice_lib1.dart' show Extension;
diff --git a/pkg/front_end/testcases/extensions/extension_call.dart b/pkg/front_end/testcases/extensions/extension_call.dart
index 026883a..4df75bd 100644
--- a/pkg/front_end/testcases/extensions/extension_call.dart
+++ b/pkg/front_end/testcases/extensions/extension_call.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class<T> {
   T method(T a) => a;
 }
diff --git a/pkg/front_end/testcases/extensions/extension_call.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/extension_call.dart.textual_outline.expect
index 3acad15..5083960 100644
--- a/pkg/front_end/testcases/extensions/extension_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/extension_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {
   T method(T a) => a;
 }
diff --git a/pkg/front_end/testcases/extensions/extension_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/extension_call.dart.textual_outline_modelled.expect
index 7edde0e..2f1e610 100644
--- a/pkg/front_end/testcases/extensions/extension_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/extension_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {
   T method(T a) => a;
 }
diff --git a/pkg/front_end/testcases/extensions/extension_call.dart.strong.expect b/pkg/front_end/testcases/extensions/extension_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_call.dart.strong.expect
rename to pkg/front_end/testcases/extensions/extension_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/extension_call.dart.outline.expect b/pkg/front_end/testcases/extensions/extension_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_call.dart.outline.expect
rename to pkg/front_end/testcases/extensions/extension_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/extension_call.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/extension_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/extension_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/extension_constructor.dart b/pkg/front_end/testcases/extensions/extension_constructor.dart
index 5cd257d..44773f4 100644
--- a/pkg/front_end/testcases/extensions/extension_constructor.dart
+++ b/pkg/front_end/testcases/extensions/extension_constructor.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/extension_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/extension_constructor.dart.textual_outline.expect
index ac6bee2..d24be05 100644
--- a/pkg/front_end/testcases/extensions/extension_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/extension_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 extension Extension on Class {
   Extension() {}
diff --git a/pkg/front_end/testcases/extensions/extension_constructor.dart.strong.expect b/pkg/front_end/testcases/extensions/extension_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_constructor.dart.strong.expect
rename to pkg/front_end/testcases/extensions/extension_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/extension_constructor.dart.outline.expect b/pkg/front_end/testcases/extensions/extension_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_constructor.dart.outline.expect
rename to pkg/front_end/testcases/extensions/extension_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/extension_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/extension_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/extension_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart
index 8f41979..ef9d43c 100644
--- a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart
+++ b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension E<U> on String {
   U field1 = null;
   int field2 = () { U x = null; return null; }();
diff --git a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.textual_outline.expect
index 26dc2e9..d1f6d15 100644
--- a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension E<U> on String {
   U field1 = null;
   int field2 = () { U x = null; return null; }();
diff --git a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.strong.expect b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.strong.expect
rename to pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.outline.expect b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.outline.expect
rename to pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/extension_field_with_type_parameter_usage.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/extension_member_conflict.dart b/pkg/front_end/testcases/extensions/extension_member_conflict.dart
index ef4e4de..547cb0e 100644
--- a/pkg/front_end/testcases/extensions/extension_member_conflict.dart
+++ b/pkg/front_end/testcases/extensions/extension_member_conflict.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Extension<T> on int {
   int get duplicateInstanceGetter => 0;
   int get duplicateInstanceGetter => 0;
diff --git a/pkg/front_end/testcases/extensions/extension_member_conflict.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/extension_member_conflict.dart.textual_outline.expect
index f9f55d9..7404877 100644
--- a/pkg/front_end/testcases/extensions/extension_member_conflict.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/extension_member_conflict.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Extension<T> on int {
   int get duplicateInstanceGetter => 0;
   int get duplicateInstanceGetter => 0;
diff --git a/pkg/front_end/testcases/extensions/extension_member_conflict.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/extension_member_conflict.dart.textual_outline_modelled.expect
index 88f38e3..903bc75 100644
--- a/pkg/front_end/testcases/extensions/extension_member_conflict.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/extension_member_conflict.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Extension<T> on int {
   int get duplicateInstanceGetter => 0;
   int get duplicateInstanceGetter => 0;
diff --git a/pkg/front_end/testcases/extensions/extension_member_conflict.dart.strong.expect b/pkg/front_end/testcases/extensions/extension_member_conflict.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_member_conflict.dart.strong.expect
rename to pkg/front_end/testcases/extensions/extension_member_conflict.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/extension_member_conflict.dart.outline.expect b/pkg/front_end/testcases/extensions/extension_member_conflict.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_member_conflict.dart.outline.expect
rename to pkg/front_end/testcases/extensions/extension_member_conflict.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/extension_member_conflict.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/extension_member_conflict.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_member_conflict.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/extension_member_conflict.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart b/pkg/front_end/testcases/extensions/extension_methods.dart
index 51013db..3b79049 100644
--- a/pkg/front_end/testcases/extensions/extension_methods.dart
+++ b/pkg/front_end/testcases/extensions/extension_methods.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // SharedOptions=--enable-experiment=extension-methods
 
 import 'package:expect/expect.dart';
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.hierarchy.expect
deleted file mode 100644
index 468454b..0000000
--- a/pkg/front_end/testcases/extensions/extension_methods.dart.hierarchy.expect
+++ /dev/null
@@ -1,387 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.one
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.textual_outline.expect
index 5ed8d9d8..298f478 100644
--- a/pkg/front_end/testcases/extensions/extension_methods.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/extension_methods.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 class C {
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.textual_outline_modelled.expect
index 5ed8d9d8..298f478 100644
--- a/pkg/front_end/testcases/extensions/extension_methods.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/extension_methods.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 class C {
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.strong.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_methods.dart.strong.expect
rename to pkg/front_end/testcases/extensions/extension_methods.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.outline.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_methods.dart.outline.expect
rename to pkg/front_end/testcases/extensions/extension_methods.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/extension_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/extension_methods.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_methods.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/extension_methods.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/extension_setter.dart b/pkg/front_end/testcases/extensions/extension_setter.dart
index 79ab6ce..de402ac 100644
--- a/pkg/front_end/testcases/extensions/extension_setter.dart
+++ b/pkg/front_end/testcases/extensions/extension_setter.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/extension_setter.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/extension_setter.dart.textual_outline.expect
index f06572f..0938e85 100644
--- a/pkg/front_end/testcases/extensions/extension_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/extension_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/extension_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/extension_setter.dart.textual_outline_modelled.expect
index 171d483..62b27ca 100644
--- a/pkg/front_end/testcases/extensions/extension_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/extension_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/extension_setter.dart.strong.expect b/pkg/front_end/testcases/extensions/extension_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_setter.dart.strong.expect
rename to pkg/front_end/testcases/extensions/extension_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/extension_setter.dart.outline.expect b/pkg/front_end/testcases/extensions/extension_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_setter.dart.outline.expect
rename to pkg/front_end/testcases/extensions/extension_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/extension_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/extension_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/extension_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/extension_setter_error.dart b/pkg/front_end/testcases/extensions/extension_setter_error.dart
index db67de0..a8b5d50 100644
--- a/pkg/front_end/testcases/extensions/extension_setter_error.dart
+++ b/pkg/front_end/testcases/extensions/extension_setter_error.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class GenericClass<T> {}
 
 extension GenericExtension<T> on GenericClass<T> {
diff --git a/pkg/front_end/testcases/extensions/extension_setter_error.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/extension_setter_error.dart.textual_outline.expect
index 1a91b18..f98e6ac 100644
--- a/pkg/front_end/testcases/extensions/extension_setter_error.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/extension_setter_error.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class GenericClass<T> {}
 
 extension GenericExtension<T> on GenericClass<T> {
diff --git a/pkg/front_end/testcases/extensions/extension_setter_error.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/extension_setter_error.dart.textual_outline_modelled.expect
index c2d2db9..282faec 100644
--- a/pkg/front_end/testcases/extensions/extension_setter_error.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/extension_setter_error.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class GenericClass<T> {}
 
 error() {}
diff --git a/pkg/front_end/testcases/extensions/extension_setter_error.dart.strong.expect b/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_setter_error.dart.strong.expect
rename to pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/extension_setter_error.dart.outline.expect b/pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/extension_setter_error.dart.outline.expect
rename to pkg/front_end/testcases/extensions/extension_setter_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/folder.options b/pkg/front_end/testcases/extensions/folder.options
index 77e0400..85bbbb6 100644
--- a/pkg/front_end/testcases/extensions/folder.options
+++ b/pkg/front_end/testcases/extensions/folder.options
@@ -1 +1 @@
---enable-experiment=extension-methods,no-non-nullable
\ No newline at end of file
+--enable-experiment=extension-methods
diff --git a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart
index 72989b9..60e02c6 100644
--- a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart
+++ b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 /// Regression test for missing substitution of type variable used in the
 /// return type of a generic method on a generic extension.
 
diff --git a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.textual_outline.expect
index c0519a0..77c5035 100644
--- a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {}
 
 extension Extension<T> on Class<T> {
diff --git a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.textual_outline_modelled.expect
index c0519a0..77c5035 100644
--- a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {}
 
 extension Extension<T> on Class<T> {
diff --git a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.strong.expect b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.strong.expect
rename to pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.outline.expect b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.outline.expect
rename to pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/generic_function_in_generic_extension.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart
index eb42294..95951cc 100644
--- a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart
+++ b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   int get m1 => 0;
   void set m2(int x) {}
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.textual_outline.expect
index 0207a05..332dd6c 100644
--- a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int get m1 => 0;
   void set m2(int x) {}
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.textual_outline_modelled.expect
index 3da20ad..0d6d5d5 100644
--- a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int get m1 => 0;
   void set m2(int x) {}
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.strong.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/getter_setter_conflict.dart.strong.expect
rename to pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.outline.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/getter_setter_conflict.dart.outline.expect
rename to pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/getter_setter_conflict.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/getter_setter_conflict.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/if_null.dart b/pkg/front_end/testcases/extensions/if_null.dart
index 4dadffb..68e54bb 100644
--- a/pkg/front_end/testcases/extensions/if_null.dart
+++ b/pkg/front_end/testcases/extensions/if_null.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/if_null.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/if_null.dart.textual_outline.expect
index 473e89a..b2bd059 100644
--- a/pkg/front_end/testcases/extensions/if_null.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/if_null.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/if_null.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/if_null.dart.textual_outline_modelled.expect
index f29446e..b3d8fd0 100644
--- a/pkg/front_end/testcases/extensions/if_null.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/if_null.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/if_null.dart.strong.expect b/pkg/front_end/testcases/extensions/if_null.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/if_null.dart.strong.expect
rename to pkg/front_end/testcases/extensions/if_null.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/if_null.dart.outline.expect b/pkg/front_end/testcases/extensions/if_null.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/if_null.dart.outline.expect
rename to pkg/front_end/testcases/extensions/if_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/if_null.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/if_null.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/if_null.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/if_null.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart
index fe69fc8..bc59f49 100644
--- a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart
+++ b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {}
 class B extends A {}
 class C extends B {}
diff --git a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.outline.expect b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.outline.expect
deleted file mode 100644
index eb41182..0000000
--- a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.outline.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-}
-class GenericClass<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::GenericClass<self::GenericClass::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-extension GenericExtension<T extends core::Object* = dynamic> on self::GenericClass<T*>* {
-  get property = self::GenericExtension|get#property;
-  method method = self::GenericExtension|method;
-  tearoff method = self::GenericExtension|get#method;
-  method genericMethod1 = self::GenericExtension|genericMethod1;
-  tearoff genericMethod1 = self::GenericExtension|get#genericMethod1;
-}
-static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
-  ;
-static method GenericExtension|method<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|method::T*>* #this, self::GenericExtension|method::T* t) → self::GenericExtension|method::T*
-  ;
-static method GenericExtension|get#method<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#method::T*>* #this) → (self::GenericExtension|get#method::T*) →* self::GenericExtension|get#method::T*
-  return (self::GenericExtension|get#method::T* t) → self::GenericExtension|get#method::T* => self::GenericExtension|method<self::GenericExtension|get#method::T*>(#this, t);
-static method GenericExtension|genericMethod1<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericMethod1::T*>* #this, self::GenericExtension|genericMethod1::S* s) → self::GenericExtension|genericMethod1::S*
-  ;
-static method GenericExtension|get#genericMethod1<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericMethod1::T*>* #this) → <S extends core::Object* = dynamic>(S*) →* S*
-  return <S extends core::Object* = dynamic>(S* s) → S* => self::GenericExtension|genericMethod1<self::GenericExtension|get#genericMethod1::T*, S*>(#this, s);
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.textual_outline.expect
index 076a719..4de6676 100644
--- a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.textual_outline_modelled.expect
index 79d6ba0..32d2370 100644
--- a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.strong.expect b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/implicit_extension_inference.dart.strong.expect
rename to pkg/front_end/testcases/extensions/implicit_extension_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_extension_inference.dart.outline.expect b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/extensions/explicit_extension_inference.dart.outline.expect
copy to pkg/front_end/testcases/extensions/implicit_extension_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/implicit_extension_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/implicit_extension_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/implicit_extension_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart b/pkg/front_end/testcases/extensions/implicit_this.dart
index 212f107..12db6db9 100644
--- a/pkg/front_end/testcases/extensions/implicit_this.dart
+++ b/pkg/front_end/testcases/extensions/implicit_this.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A1 {
   Object field;
   void method1() {}
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.hierarchy.expect
deleted file mode 100644
index 759a8b1..0000000
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A1.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    A1.method1
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A1.field
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.outline.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.outline.expect
deleted file mode 100644
index 21fa5c7..0000000
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.outline.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A1 extends core::Object {
-  field core::Object* field;
-  synthetic constructor •() → self::A1*
-    ;
-  method method1() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-extension A2 on self::A1* {
-  method method2 = self::A2|method2;
-  tearoff method2 = self::A2|get#method2;
-  method method3 = self::A2|method3;
-  tearoff method3 = self::A2|get#method3;
-  method method4 = self::A2|method4;
-  tearoff method4 = self::A2|get#method4;
-}
-static method A2|method2(lowered final self::A1* #this) → void
-  ;
-static method A2|get#method2(lowered final self::A1* #this) → () →* void
-  return () → void => self::A2|method2(#this);
-static method A2|method3(lowered final self::A1* #this) → core::Object*
-  ;
-static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
-  return () → core::Object* => self::A2|method3(#this);
-static method A2|method4(lowered final self::A1* #this, core::Object* o) → void
-  ;
-static method A2|get#method4(lowered final self::A1* #this) → (core::Object*) →* void
-  return (core::Object* o) → void => self::A2|method4(#this, o);
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.strong.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.strong.expect
deleted file mode 100644
index f13b8bd..0000000
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.strong.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-extension A2 on self::A1* {
-  method method2 = self::A2|method2;
-  tearoff method2 = self::A2|get#method2;
-  method method3 = self::A2|method3;
-  tearoff method3 = self::A2|get#method3;
-  method method4 = self::A2|method4;
-  tearoff method4 = self::A2|get#method4;
-}
-static method A2|method2(lowered final self::A1* #this) → void
-  return #this.{self::A1::method1}();
-static method A2|get#method2(lowered final self::A1* #this) → () →* void
-  return () → void => self::A2|method2(#this);
-static method A2|method3(lowered final self::A1* #this) → core::Object*
-  return #this.{self::A1::field};
-static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
-  return () → core::Object* => self::A2|method3(#this);
-static method A2|method4(lowered final self::A1* #this, core::Object* o) → void {
-  #this.{self::A1::field} = o;
-}
-static method A2|get#method4(lowered final self::A1* #this) → (core::Object*) →* void
-  return (core::Object* o) → void => self::A2|method4(#this, o);
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.strong.transformed.expect
deleted file mode 100644
index f13b8bd..0000000
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.strong.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-extension A2 on self::A1* {
-  method method2 = self::A2|method2;
-  tearoff method2 = self::A2|get#method2;
-  method method3 = self::A2|method3;
-  tearoff method3 = self::A2|get#method3;
-  method method4 = self::A2|method4;
-  tearoff method4 = self::A2|get#method4;
-}
-static method A2|method2(lowered final self::A1* #this) → void
-  return #this.{self::A1::method1}();
-static method A2|get#method2(lowered final self::A1* #this) → () →* void
-  return () → void => self::A2|method2(#this);
-static method A2|method3(lowered final self::A1* #this) → core::Object*
-  return #this.{self::A1::field};
-static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
-  return () → core::Object* => self::A2|method3(#this);
-static method A2|method4(lowered final self::A1* #this, core::Object* o) → void {
-  #this.{self::A1::field} = o;
-}
-static method A2|get#method4(lowered final self::A1* #this) → (core::Object*) →* void
-  return (core::Object* o) → void => self::A2|method4(#this, o);
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.textual_outline.expect
index 89eff23..50496bd 100644
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/implicit_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {
   Object field;
   void method1() {}
diff --git a/pkg/front_end/testcases/extensions/implicit_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.textual_outline_modelled.expect
index eb7a0dd..f48f869 100644
--- a/pkg/front_end/testcases/extensions/implicit_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/implicit_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {
   Object field;
   void method1() {}
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.strong.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.weak.expect
similarity index 100%
copy from pkg/front_end/testcases/extensions/explicit_this.dart.strong.expect
copy to pkg/front_end/testcases/extensions/implicit_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.outline.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/extensions/explicit_this.dart.outline.expect
copy to pkg/front_end/testcases/extensions/implicit_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/explicit_this.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/implicit_this.dart.weak.transformed.expect
similarity index 100%
copy from pkg/front_end/testcases/extensions/explicit_this.dart.strong.transformed.expect
copy to pkg/front_end/testcases/extensions/implicit_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/import_from_dill/main.dart b/pkg/front_end/testcases/extensions/import_from_dill/main.dart
index 6524b05..3c64e58 100644
--- a/pkg/front_end/testcases/extensions/import_from_dill/main.dart
+++ b/pkg/front_end/testcases/extensions/import_from_dill/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'main_lib1.dart';
 
 main() {
diff --git a/pkg/front_end/testcases/extensions/import_from_dill/main.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/import_from_dill/main.dart.textual_outline.expect
index b27adef..37f878a 100644
--- a/pkg/front_end/testcases/extensions/import_from_dill/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/import_from_dill/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib1.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/extensions/import_from_dill/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/import_from_dill/main.dart.textual_outline_modelled.expect
index b27adef..37f878a 100644
--- a/pkg/front_end/testcases/extensions/import_from_dill/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/import_from_dill/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib1.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/extensions/import_from_dill/main.dart.strong.expect b/pkg/front_end/testcases/extensions/import_from_dill/main.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/import_from_dill/main.dart.strong.expect
rename to pkg/front_end/testcases/extensions/import_from_dill/main.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/import_from_dill/main.dart.outline.expect b/pkg/front_end/testcases/extensions/import_from_dill/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/import_from_dill/main.dart.outline.expect
rename to pkg/front_end/testcases/extensions/import_from_dill/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/import_from_dill/main.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/import_from_dill/main.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/import_from_dill/main.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/import_from_dill/main.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/import_from_dill/main_lib1.dart b/pkg/front_end/testcases/extensions/import_from_dill/main_lib1.dart
index b08ae03..4eba373 100644
--- a/pkg/front_end/testcases/extensions/import_from_dill/main_lib1.dart
+++ b/pkg/front_end/testcases/extensions/import_from_dill/main_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Extension on int {
   int get instanceProperty => 42;
   void set instanceProperty(int value) {}
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix.dart b/pkg/front_end/testcases/extensions/import_via_prefix.dart
index a266734..859334a 100644
--- a/pkg/front_end/testcases/extensions/import_via_prefix.dart
+++ b/pkg/front_end/testcases/extensions/import_via_prefix.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'import_via_prefix_lib.dart' as prefix;
 
 main() {
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/import_via_prefix.dart.textual_outline.expect
index b1848ace..493b461 100644
--- a/pkg/front_end/testcases/extensions/import_via_prefix.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/import_via_prefix.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_via_prefix_lib.dart' as prefix;
 
 main() {}
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/import_via_prefix.dart.textual_outline_modelled.expect
index 72ac1a4..60e4620 100644
--- a/pkg/front_end/testcases/extensions/import_via_prefix.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/import_via_prefix.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_via_prefix_lib.dart' as prefix;
 
 expect(expected, actual) {}
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix.dart.strong.expect b/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/import_via_prefix.dart.strong.expect
rename to pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix.dart.outline.expect b/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/import_via_prefix.dart.outline.expect
rename to pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/import_via_prefix.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/import_via_prefix.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/import_via_prefix_lib.dart b/pkg/front_end/testcases/extensions/import_via_prefix_lib.dart
index a2f111a..12a6894 100644
--- a/pkg/front_end/testcases/extensions/import_via_prefix_lib.dart
+++ b/pkg/front_end/testcases/extensions/import_via_prefix_lib.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension Extension on String {
   int method() => length;
 }
diff --git a/pkg/front_end/testcases/extensions/index.dart b/pkg/front_end/testcases/extensions/index.dart
index 0e19617..c33cd60 100644
--- a/pkg/front_end/testcases/extensions/index.dart
+++ b/pkg/front_end/testcases/extensions/index.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class MapLike<K, V> {
   final Map<K, V> _map = {};
 
diff --git a/pkg/front_end/testcases/extensions/index.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/index.dart.textual_outline.expect
index 78005ed..1bcd398 100644
--- a/pkg/front_end/testcases/extensions/index.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/index.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class MapLike<K, V> {
   final Map<K, V> _map = {};
   V get(Object key) => _map[key];
diff --git a/pkg/front_end/testcases/extensions/index.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/index.dart.textual_outline_modelled.expect
index d0d5ec9..8fb123f 100644
--- a/pkg/front_end/testcases/extensions/index.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/index.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class MapLike<K, V> {
   V get(Object key) => _map[key];
   V put(K key, V value) => _map[key] = value;
diff --git a/pkg/front_end/testcases/extensions/index.dart.strong.expect b/pkg/front_end/testcases/extensions/index.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/index.dart.strong.expect
rename to pkg/front_end/testcases/extensions/index.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/index.dart.outline.expect b/pkg/front_end/testcases/extensions/index.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/index.dart.outline.expect
rename to pkg/front_end/testcases/extensions/index.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/index.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/index.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/index.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/index.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/instance_access.dart b/pkg/front_end/testcases/extensions/instance_access.dart
index 93f74ed..6a2598d 100644
--- a/pkg/front_end/testcases/extensions/instance_access.dart
+++ b/pkg/front_end/testcases/extensions/instance_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class1 {
   int field;
 
diff --git a/pkg/front_end/testcases/extensions/instance_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/instance_access.dart.textual_outline.expect
index a9ea239..b1a3aa6 100644
--- a/pkg/front_end/testcases/extensions/instance_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/instance_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {
   int field;
   Class1(this.field);
diff --git a/pkg/front_end/testcases/extensions/instance_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/instance_access.dart.textual_outline_modelled.expect
index e584bee..55a5670 100644
--- a/pkg/front_end/testcases/extensions/instance_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/instance_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {
   Class1(this.field);
   String toString() => 'Class1($field)';
diff --git a/pkg/front_end/testcases/extensions/instance_access.dart.strong.expect b/pkg/front_end/testcases/extensions/instance_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/instance_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/instance_access.dart.outline.expect b/pkg/front_end/testcases/extensions/instance_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/instance_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/instance_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/instance_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/instance_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart b/pkg/front_end/testcases/extensions/instance_access_of_static.dart
index a8b0b2d..5c06df4 100644
--- a/pkg/front_end/testcases/extensions/instance_access_of_static.dart
+++ b/pkg/front_end/testcases/extensions/instance_access_of_static.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class1 {
 }
 
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.textual_outline.expect
index 8e3e499..de48df1 100644
--- a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {}
 
 extension Extension1 on Class1 {
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.textual_outline_modelled.expect
index d5db1d4..61592f5 100644
--- a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {}
 
 extension Extension1 on Class1 {
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.strong.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_access_of_static.dart.strong.expect
rename to pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.outline.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_access_of_static.dart.outline.expect
rename to pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/instance_access_of_static.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_access_of_static.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/instance_access_of_static.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart b/pkg/front_end/testcases/extensions/instance_members.dart
index 17fa4b5..3792c5d 100644
--- a/pkg/front_end/testcases/extensions/instance_members.dart
+++ b/pkg/front_end/testcases/extensions/instance_members.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A1 {}
 
 extension A2 on A1 {
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/instance_members.dart.hierarchy.expect
deleted file mode 100644
index 41cb083..0000000
--- a/pkg/front_end/testcases/extensions/instance_members.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/instance_members.dart.textual_outline.expect
index 1fd012e..01b5f25 100644
--- a/pkg/front_end/testcases/extensions/instance_members.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/instance_members.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {}
 
 extension A2 on A1 {
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/instance_members.dart.textual_outline_modelled.expect
index bfacdaa..ecc7423 100644
--- a/pkg/front_end/testcases/extensions/instance_members.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/instance_members.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {}
 
 class B1<T> {}
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart.strong.expect b/pkg/front_end/testcases/extensions/instance_members.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_members.dart.strong.expect
rename to pkg/front_end/testcases/extensions/instance_members.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart.outline.expect b/pkg/front_end/testcases/extensions/instance_members.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_members.dart.outline.expect
rename to pkg/front_end/testcases/extensions/instance_members.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/instance_members.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/instance_members.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_members.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/instance_members.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/instance_tearoff.dart b/pkg/front_end/testcases/extensions/instance_tearoff.dart
index 9689df3..edff3f7 100644
--- a/pkg/front_end/testcases/extensions/instance_tearoff.dart
+++ b/pkg/front_end/testcases/extensions/instance_tearoff.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class1 {
   int field;
 
diff --git a/pkg/front_end/testcases/extensions/instance_tearoff.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/instance_tearoff.dart.textual_outline.expect
index 5d3c178..153e287 100644
--- a/pkg/front_end/testcases/extensions/instance_tearoff.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/instance_tearoff.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {
   int field;
   Class1(this.field);
diff --git a/pkg/front_end/testcases/extensions/instance_tearoff.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/instance_tearoff.dart.textual_outline_modelled.expect
index ab11e38..e782f44 100644
--- a/pkg/front_end/testcases/extensions/instance_tearoff.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/instance_tearoff.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {
   Class1(this.field);
   String toString() => 'Class1($field)';
diff --git a/pkg/front_end/testcases/extensions/instance_tearoff.dart.strong.expect b/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_tearoff.dart.strong.expect
rename to pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/instance_tearoff.dart.outline.expect b/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_tearoff.dart.outline.expect
rename to pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/instance_tearoff.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/instance_tearoff.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/instance_tearoff.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/internal_resolution.dart b/pkg/front_end/testcases/extensions/internal_resolution.dart
index 1494e16..a6a36e9 100644
--- a/pkg/front_end/testcases/extensions/internal_resolution.dart
+++ b/pkg/front_end/testcases/extensions/internal_resolution.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/internal_resolution.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/internal_resolution.dart.textual_outline.expect
index ad984f3..f8c5fde 100644
--- a/pkg/front_end/testcases/extensions/internal_resolution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/internal_resolution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/internal_resolution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/internal_resolution.dart.textual_outline_modelled.expect
index b4a0cb3..44ba9bd 100644
--- a/pkg/front_end/testcases/extensions/internal_resolution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/internal_resolution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/internal_resolution.dart.strong.expect b/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/internal_resolution.dart.strong.expect
rename to pkg/front_end/testcases/extensions/internal_resolution.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/internal_resolution.dart.outline.expect b/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/internal_resolution.dart.outline.expect
rename to pkg/front_end/testcases/extensions/internal_resolution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/internal_resolution.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/internal_resolution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/internal_resolution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/internal_resolution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart
index 5210e3a..8161b72 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.textual_outline.expect
index fda67e5..fc12d80 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.textual_outline_modelled.expect
index cccd074..b8ad069 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 class GenericClass<T> {}
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.strong.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/invalid_explicit_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.outline.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/invalid_explicit_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/invalid_explicit_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/invalid_explicit_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart
index 3fdcc7d..acadced 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension Extension on String {
   static method() {}
   static get getter => null;
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.textual_outline.expect
index 2654863..69490b0 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Extension on String {
   static method() {}
   static get getter => null;
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.textual_outline_modelled.expect
index 0abe64c..ab88088 100644
--- a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 errors() {}
 
 extension Extension on String {
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.strong.expect b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.outline.expect b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/invalid_explicit_static_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue38600.dart b/pkg/front_end/testcases/extensions/issue38600.dart
index d2014e2..8ad593c 100644
--- a/pkg/front_end/testcases/extensions/issue38600.dart
+++ b/pkg/front_end/testcases/extensions/issue38600.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class<T> {}
 
 extension try<T> on Class<T> {}
diff --git a/pkg/front_end/testcases/extensions/issue38600.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue38600.dart.textual_outline.expect
index 43bf0c2..edb7740 100644
--- a/pkg/front_end/testcases/extensions/issue38600.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue38600.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {}
 extension on{}
 try<T> (){}
diff --git a/pkg/front_end/testcases/extensions/issue38600.dart.strong.expect b/pkg/front_end/testcases/extensions/issue38600.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38600.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue38600.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue38600.dart.outline.expect b/pkg/front_end/testcases/extensions/issue38600.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38600.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue38600.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue38600.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue38600.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38600.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue38600.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue38712.dart b/pkg/front_end/testcases/extensions/issue38712.dart
index 511036f..799af6a 100644
--- a/pkg/front_end/testcases/extensions/issue38712.dart
+++ b/pkg/front_end/testcases/extensions/issue38712.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension C {
 }
 
diff --git a/pkg/front_end/testcases/extensions/issue38712.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue38712.dart.textual_outline.expect
index ec4321b..3faefa5 100644
--- a/pkg/front_end/testcases/extensions/issue38712.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue38712.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 extension C on{}
 void main() {}
diff --git a/pkg/front_end/testcases/extensions/issue38712.dart.strong.expect b/pkg/front_end/testcases/extensions/issue38712.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38712.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue38712.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue38712.dart.outline.expect b/pkg/front_end/testcases/extensions/issue38712.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38712.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue38712.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue38712.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue38712.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38712.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue38712.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue38713.dart b/pkg/front_end/testcases/extensions/issue38713.dart
index 0006934..ef83847 100644
--- a/pkg/front_end/testcases/extensions/issue38713.dart
+++ b/pkg/front_end/testcases/extensions/issue38713.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension C on int {
   static int property2;
   static void set property2(int x) {}
diff --git a/pkg/front_end/testcases/extensions/issue38713.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue38713.dart.textual_outline.expect
index 07df337..06e37f8 100644
--- a/pkg/front_end/testcases/extensions/issue38713.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue38713.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension C on int {
   static int property2;
   static void set property2(int x) {}
diff --git a/pkg/front_end/testcases/extensions/issue38713.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue38713.dart.textual_outline_modelled.expect
index 8b89684..39b481c 100644
--- a/pkg/front_end/testcases/extensions/issue38713.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue38713.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension C on int {
   int get property3 => 1;
   static int property2;
diff --git a/pkg/front_end/testcases/extensions/issue38713.dart.strong.expect b/pkg/front_end/testcases/extensions/issue38713.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38713.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue38713.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue38713.dart.outline.expect b/pkg/front_end/testcases/extensions/issue38713.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38713.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue38713.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue38713.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue38713.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38713.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue38713.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue38745.dart b/pkg/front_end/testcases/extensions/issue38745.dart
index 357a655..e285241 100644
--- a/pkg/front_end/testcases/extensions/issue38745.dart
+++ b/pkg/front_end/testcases/extensions/issue38745.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class C<T> {
 }
 
diff --git a/pkg/front_end/testcases/extensions/issue38745.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue38745.dart.textual_outline.expect
index d0a4d03..2fa8049 100644
--- a/pkg/front_end/testcases/extensions/issue38745.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue38745.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<T> {}
 extension ext<T> on C<T> {
   int field;
diff --git a/pkg/front_end/testcases/extensions/issue38745.dart.strong.expect b/pkg/front_end/testcases/extensions/issue38745.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38745.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue38745.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue38745.dart.outline.expect b/pkg/front_end/testcases/extensions/issue38745.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38745.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue38745.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue38745.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue38745.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38745.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue38745.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart b/pkg/front_end/testcases/extensions/issue38750.dart
index 46f0bc6..24eaeb9 100644
--- a/pkg/front_end/testcases/extensions/issue38750.dart
+++ b/pkg/front_end/testcases/extensions/issue38750.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'issue38750_lib1.dart';
 import 'issue38750_lib2.dart';
 
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue38750.dart.textual_outline.expect
index 5bc7316..974f3ed 100644
--- a/pkg/front_end/testcases/extensions/issue38750.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue38750.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue38750_lib1.dart';
 import 'issue38750_lib2.dart';
 
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue38750.dart.textual_outline_modelled.expect
index cca0335..6ee009d 100644
--- a/pkg/front_end/testcases/extensions/issue38750.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue38750.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue38750_lib1.dart';
 import 'issue38750_lib2.dart';
 
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.strong.expect b/pkg/front_end/testcases/extensions/issue38750.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38750.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue38750.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.outline.expect b/pkg/front_end/testcases/extensions/issue38750.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38750.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue38750.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue38750.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38750.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue38750.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue38750_lib1.dart b/pkg/front_end/testcases/extensions/issue38750_lib1.dart
index e2913d7..00fddf2 100644
--- a/pkg/front_end/testcases/extensions/issue38750_lib1.dart
+++ b/pkg/front_end/testcases/extensions/issue38750_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class C {
   foo() => _foo();
   _foo() {
diff --git a/pkg/front_end/testcases/extensions/issue38750_lib2.dart b/pkg/front_end/testcases/extensions/issue38750_lib2.dart
index 8432aad..3385c39 100644
--- a/pkg/front_end/testcases/extensions/issue38750_lib2.dart
+++ b/pkg/front_end/testcases/extensions/issue38750_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'issue38750_lib1.dart';
 
 errors() {
diff --git a/pkg/front_end/testcases/extensions/issue38755.dart b/pkg/front_end/testcases/extensions/issue38755.dart
index cdc9cca..68e25cd7 100644
--- a/pkg/front_end/testcases/extensions/issue38755.dart
+++ b/pkg/front_end/testcases/extensions/issue38755.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 final list = ["a", "b", "c"].myMap((it) => it);
 
 extension A<T> on List<T> {
diff --git a/pkg/front_end/testcases/extensions/issue38755.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue38755.dart.textual_outline.expect
index c52f04b..173682a 100644
--- a/pkg/front_end/testcases/extensions/issue38755.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue38755.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 final list = ["a", "b", "c"].myMap((it) => it);
 
 extension A<T> on List<T> {
diff --git a/pkg/front_end/testcases/extensions/issue38755.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue38755.dart.textual_outline_modelled.expect
index fd90a7a..649da97 100644
--- a/pkg/front_end/testcases/extensions/issue38755.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue38755.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension A<T> on List<T> {
   List<R> myMap<R>(R Function(T) block) {}
 }
diff --git a/pkg/front_end/testcases/extensions/issue38755.dart.strong.expect b/pkg/front_end/testcases/extensions/issue38755.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38755.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue38755.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue38755.dart.outline.expect b/pkg/front_end/testcases/extensions/issue38755.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38755.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue38755.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue38755.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue38755.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38755.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue38755.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue38915.dart b/pkg/front_end/testcases/extensions/issue38915.dart
index 5d4752d..3792c68 100644
--- a/pkg/front_end/testcases/extensions/issue38915.dart
+++ b/pkg/front_end/testcases/extensions/issue38915.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/issue38915.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue38915.dart.textual_outline.expect
index 349b61f..faa81ba 100644
--- a/pkg/front_end/testcases/extensions/issue38915.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue38915.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/issue38915.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue38915.dart.textual_outline_modelled.expect
index 349b61f..faa81ba 100644
--- a/pkg/front_end/testcases/extensions/issue38915.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue38915.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/issue38915.dart.strong.expect b/pkg/front_end/testcases/extensions/issue38915.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38915.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue38915.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue38915.dart.outline.expect b/pkg/front_end/testcases/extensions/issue38915.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38915.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue38915.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue38915.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue38915.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue38915.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue38915.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue39527.dart b/pkg/front_end/testcases/extensions/issue39527.dart
index 7990741..5e2f9cd 100644
--- a/pkg/front_end/testcases/extensions/issue39527.dart
+++ b/pkg/front_end/testcases/extensions/issue39527.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class C {
   int value = 0;
 }
diff --git a/pkg/front_end/testcases/extensions/issue39527.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue39527.dart.textual_outline.expect
index 586004b..3dec874 100644
--- a/pkg/front_end/testcases/extensions/issue39527.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue39527.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   int value = 0;
 }
diff --git a/pkg/front_end/testcases/extensions/issue39527.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue39527.dart.textual_outline_modelled.expect
index 56b4c36..8a10e4c 100644
--- a/pkg/front_end/testcases/extensions/issue39527.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue39527.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   int value = 0;
 }
diff --git a/pkg/front_end/testcases/extensions/issue39527.dart.strong.expect b/pkg/front_end/testcases/extensions/issue39527.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39527.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue39527.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue39527.dart.outline.expect b/pkg/front_end/testcases/extensions/issue39527.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39527.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue39527.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue39527.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue39527.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39527.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue39527.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue39889.dart b/pkg/front_end/testcases/extensions/issue39889.dart
index 7ff900b..f53be7d 100644
--- a/pkg/front_end/testcases/extensions/issue39889.dart
+++ b/pkg/front_end/testcases/extensions/issue39889.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class C {}
 
 extension E on C {
diff --git a/pkg/front_end/testcases/extensions/issue39889.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue39889.dart.textual_outline.expect
index 2b64dea..87bc816 100644
--- a/pkg/front_end/testcases/extensions/issue39889.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue39889.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {}
 
 extension E on C {
diff --git a/pkg/front_end/testcases/extensions/issue39889.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue39889.dart.textual_outline_modelled.expect
index 2b64dea..87bc816 100644
--- a/pkg/front_end/testcases/extensions/issue39889.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue39889.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {}
 
 extension E on C {
diff --git a/pkg/front_end/testcases/extensions/issue39889.dart.strong.expect b/pkg/front_end/testcases/extensions/issue39889.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39889.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue39889.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue39889.dart.outline.expect b/pkg/front_end/testcases/extensions/issue39889.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39889.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue39889.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue39889.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue39889.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39889.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue39889.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart
index 5a39748..d78f27a 100644
--- a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart
+++ b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'issue39938_lib.dart';
 
 main() {
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.textual_outline.expect
index 5a7bb14..19911dd 100644
--- a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue39938_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.textual_outline_modelled.expect
index 55e3b57..416331d 100644
--- a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue39938_lib.dart';
 
 expect(expected, actual) {}
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.strong.expect b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39938/issue39938.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.outline.expect b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39938/issue39938.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue39938/issue39938.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue39938/issue39938.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue39938/issue39938_lib.dart b/pkg/front_end/testcases/extensions/issue39938/issue39938_lib.dart
index 8f2588e..da0e29f 100644
--- a/pkg/front_end/testcases/extensions/issue39938/issue39938_lib.dart
+++ b/pkg/front_end/testcases/extensions/issue39938/issue39938_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Extension on bool {
   bool operator +(bool other) => this | other;
 }
diff --git a/pkg/front_end/testcases/extensions/issue40596.dart b/pkg/front_end/testcases/extensions/issue40596.dart
index 733236c..fd0c1c1 100644
--- a/pkg/front_end/testcases/extensions/issue40596.dart
+++ b/pkg/front_end/testcases/extensions/issue40596.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'dart:async';
 
 void main() {
diff --git a/pkg/front_end/testcases/extensions/issue40596.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue40596.dart.textual_outline.expect
index ee456e8..ce04073 100644
--- a/pkg/front_end/testcases/extensions/issue40596.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue40596.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 void main() {}
diff --git a/pkg/front_end/testcases/extensions/issue40596.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue40596.dart.textual_outline_modelled.expect
index a5b08bb..15839ab 100644
--- a/pkg/front_end/testcases/extensions/issue40596.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue40596.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 extension Extension<T> on Stream<T> {
diff --git a/pkg/front_end/testcases/extensions/issue40596.dart.strong.expect b/pkg/front_end/testcases/extensions/issue40596.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue40596.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue40596.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue40596.dart.outline.expect b/pkg/front_end/testcases/extensions/issue40596.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue40596.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue40596.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue40596.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue40596.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue40596.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue40596.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart b/pkg/front_end/testcases/extensions/issue40713.dart
index 609d2f4..04e924b 100644
--- a/pkg/front_end/testcases/extensions/issue40713.dart
+++ b/pkg/front_end/testcases/extensions/issue40713.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension SafeAccess<T> on Iterable<T> {
   T get safeFirst {
     return isNotEmpty ? first : null;
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue40713.dart.strong.transformed.expect
deleted file mode 100644
index cd9ba8b..0000000
--- a/pkg/front_end/testcases/extensions/issue40713.dart.strong.transformed.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/extensions/issue40713.dart:17:9: Error: 'safeFirst' isn't a function or method and can't be invoked.
-//   list2.safeFirst(0);
-//         ^
-//
-// pkg/front_end/testcases/extensions/issue40713.dart:22:8: Error: 'safeFirst' isn't a function or method and can't be invoked.
-//   list.safeFirst();
-//        ^
-//
-// pkg/front_end/testcases/extensions/issue40713.dart:24:9: Error: 'safeFirst' isn't a function or method and can't be invoked.
-//   list2.safeFirst();
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-extension SafeAccess<T extends core::Object* = dynamic> on core::Iterable<T*>* {
-  get safeFirst = self::SafeAccess|get#safeFirst;
-}
-static method SafeAccess|get#safeFirst<T extends core::Object* = dynamic>(final core::Iterable<self::SafeAccess|get#safeFirst::T*>* #this) → self::SafeAccess|get#safeFirst::T* {
-  return #this.{core::Iterable::isNotEmpty} ?{self::SafeAccess|get#safeFirst::T*} #this.{core::Iterable::first} : null;
-}
-static method main() → dynamic {}
-static method test() → void {
-  final core::List<dynamic>* list = <dynamic>[];
-  self::SafeAccess|get#safeFirst<dynamic>(list).call();
-  final core::List<(core::int*) →* void>* list2 = <(core::int*) →* void>[];
-  invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:17:9: Error: 'safeFirst' isn't a function or method and can't be invoked.
-  list2.safeFirst(0);
-        ^";
-}
-static method errors() → void {
-  final core::List<core::Object*>* list = <core::Object*>[];
-  invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:22:8: Error: 'safeFirst' isn't a function or method and can't be invoked.
-  list.safeFirst();
-       ^";
-  final core::List<(core::int*) →* void>* list2 = <(core::int*) →* void>[];
-  invalid-expression "pkg/front_end/testcases/extensions/issue40713.dart:24:9: Error: 'safeFirst' isn't a function or method and can't be invoked.
-  list2.safeFirst();
-        ^";
-}
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue40713.dart.textual_outline.expect
index 86e8aaa..9f514d2 100644
--- a/pkg/front_end/testcases/extensions/issue40713.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue40713.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension SafeAccess<T> on Iterable<T> {
   T get safeFirst {}
 }
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue40713.dart.textual_outline_modelled.expect
index b4b03d34..c011a05 100644
--- a/pkg/front_end/testcases/extensions/issue40713.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue40713.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension SafeAccess<T> on Iterable<T> {
   T get safeFirst {}
 }
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.strong.expect b/pkg/front_end/testcases/extensions/issue40713.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue40713.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue40713.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue40713.dart.outline.expect b/pkg/front_end/testcases/extensions/issue40713.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue40713.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue40713.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue40816.dart b/pkg/front_end/testcases/extensions/issue40816.dart
index 9e85e2c..99ec5d2 100644
--- a/pkg/front_end/testcases/extensions/issue40816.dart
+++ b/pkg/front_end/testcases/extensions/issue40816.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {}
 
 class B {}
diff --git a/pkg/front_end/testcases/extensions/issue40816.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue40816.dart.textual_outline.expect
index e806109..fe13f68 100644
--- a/pkg/front_end/testcases/extensions/issue40816.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue40816.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B {}
diff --git a/pkg/front_end/testcases/extensions/issue40816.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue40816.dart.textual_outline_modelled.expect
index e806109..fe13f68 100644
--- a/pkg/front_end/testcases/extensions/issue40816.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue40816.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B {}
diff --git a/pkg/front_end/testcases/extensions/issue40816.dart.strong.expect b/pkg/front_end/testcases/extensions/issue40816.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue40816.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue40816.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue40816.dart.outline.expect b/pkg/front_end/testcases/extensions/issue40816.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue40816.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue40816.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue40816.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue40816.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue40816.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue40816.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart b/pkg/front_end/testcases/extensions/issue43218.dart
index fa413a6..d90e5cf 100644
--- a/pkg/front_end/testcases/extensions/issue43218.dart
+++ b/pkg/front_end/testcases/extensions/issue43218.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class C {
   int value;
   C() : value = 0 {}
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue43218.dart.textual_outline.expect
index c3323e8..6774e67 100644
--- a/pkg/front_end/testcases/extensions/issue43218.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue43218.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   int value;
   C() : value = 0 {}
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue43218.dart.textual_outline_modelled.expect
index 6c5f1e6..1579e1d 100644
--- a/pkg/front_end/testcases/extensions/issue43218.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue43218.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C() : value = 0 {}
   init() {}
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.strong.expect b/pkg/front_end/testcases/extensions/issue43218.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue43218.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue43218.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.outline.expect b/pkg/front_end/testcases/extensions/issue43218.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue43218.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue43218.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue43218.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue43218.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue43218.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue44003.dart b/pkg/front_end/testcases/extensions/issue44003.dart
index a7a25ed..01c1fe6 100644
--- a/pkg/front_end/testcases/extensions/issue44003.dart
+++ b/pkg/front_end/testcases/extensions/issue44003.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2021, 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=2.9
 void test(List<String> args) {
   args.foo('1', 2);
 }
diff --git a/pkg/front_end/testcases/extensions/issue44003.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue44003.dart.textual_outline.expect
index c57b097..c8476d8 100644
--- a/pkg/front_end/testcases/extensions/issue44003.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue44003.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 void test(List<String> args) {}
 
 extension on List<String> {
diff --git a/pkg/front_end/testcases/extensions/issue44003.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue44003.dart.textual_outline_modelled.expect
index 47d69a0..72ed5d4 100644
--- a/pkg/front_end/testcases/extensions/issue44003.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue44003.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension on List<String> {
   void foo(String bar) {}
   void foo(String baz, int a) {}
diff --git a/pkg/front_end/testcases/extensions/issue44003.dart.strong.expect b/pkg/front_end/testcases/extensions/issue44003.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue44003.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue44003.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue44003.dart.outline.expect b/pkg/front_end/testcases/extensions/issue44003.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue44003.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue44003.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue44003.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue44003.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue44003.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue44003.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/issue44844.dart b/pkg/front_end/testcases/extensions/issue44844.dart
index 14f590b..afb96ca 100644
--- a/pkg/front_end/testcases/extensions/issue44844.dart
+++ b/pkg/front_end/testcases/extensions/issue44844.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2021, 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=2.9
 extension on int {
   static int foo = 2;
   void foo() {}
diff --git a/pkg/front_end/testcases/extensions/issue44844.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/issue44844.dart.textual_outline.expect
index 53fe40b..52d5738 100644
--- a/pkg/front_end/testcases/extensions/issue44844.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/issue44844.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension on int {
   static int foo = 2;
   void foo() {}
diff --git a/pkg/front_end/testcases/extensions/issue44844.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/issue44844.dart.textual_outline_modelled.expect
index 401a830..90a72cd 100644
--- a/pkg/front_end/testcases/extensions/issue44844.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/issue44844.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension on int {
   static int foo = 2;
   void foo() {}
diff --git a/pkg/front_end/testcases/extensions/issue44844.dart.strong.expect b/pkg/front_end/testcases/extensions/issue44844.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue44844.dart.strong.expect
rename to pkg/front_end/testcases/extensions/issue44844.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/issue44844.dart.outline.expect b/pkg/front_end/testcases/extensions/issue44844.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue44844.dart.outline.expect
rename to pkg/front_end/testcases/extensions/issue44844.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/issue44844.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/issue44844.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/issue44844.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/issue44844.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/language_issue1182.dart b/pkg/front_end/testcases/extensions/language_issue1182.dart
index c9d46c8..2849485 100644
--- a/pkg/front_end/testcases/extensions/language_issue1182.dart
+++ b/pkg/front_end/testcases/extensions/language_issue1182.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Test<T> on T {
   T Function(T) get test => (a) => this;
 }
diff --git a/pkg/front_end/testcases/extensions/language_issue1182.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/language_issue1182.dart.textual_outline.expect
index 5f989b2..c444fb0 100644
--- a/pkg/front_end/testcases/extensions/language_issue1182.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/language_issue1182.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Test<T> on T {
   T Function(T) get test => (a) => this;
 }
diff --git a/pkg/front_end/testcases/extensions/language_issue1182.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/language_issue1182.dart.textual_outline_modelled.expect
index 9aaf1c7..1ad8e0f 100644
--- a/pkg/front_end/testcases/extensions/language_issue1182.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/language_issue1182.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<S extends num> {
   void test1(S x) {}
 }
diff --git a/pkg/front_end/testcases/extensions/language_issue1182.dart.strong.expect b/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/language_issue1182.dart.strong.expect
rename to pkg/front_end/testcases/extensions/language_issue1182.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/language_issue1182.dart.outline.expect b/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/language_issue1182.dart.outline.expect
rename to pkg/front_end/testcases/extensions/language_issue1182.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/language_issue1182.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/language_issue1182.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/language_issue1182.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/language_issue1182.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart b/pkg/front_end/testcases/extensions/missing_toplevel.dart
index 2844255..2ccfeb9 100644
--- a/pkg/front_end/testcases/extensions/missing_toplevel.dart
+++ b/pkg/front_end/testcases/extensions/missing_toplevel.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.textual_outline.expect
index 83182ff..6a82a61 100644
--- a/pkg/front_end/testcases/extensions/missing_toplevel.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/missing_toplevel.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.textual_outline_modelled.expect
index 94e9a17..7cede08 100644
--- a/pkg/front_end/testcases/extensions/missing_toplevel.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/missing_toplevel.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.strong.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/missing_toplevel.dart.strong.expect
rename to pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.outline.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/missing_toplevel.dart.outline.expect
rename to pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/missing_toplevel.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/missing_toplevel.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/missing_toplevel.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/nested_on_types.dart b/pkg/front_end/testcases/extensions/nested_on_types.dart
index f0cbdc1..e1fc07d 100644
--- a/pkg/front_end/testcases/extensions/nested_on_types.dart
+++ b/pkg/front_end/testcases/extensions/nested_on_types.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A<T> {}
 
 extension Extension<T> on A<A<T>> {
diff --git a/pkg/front_end/testcases/extensions/nested_on_types.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/nested_on_types.dart.textual_outline.expect
index 8970b3e..fcdf4f1 100644
--- a/pkg/front_end/testcases/extensions/nested_on_types.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/nested_on_types.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 extension Extension<T> on A<A<T>> {
diff --git a/pkg/front_end/testcases/extensions/nested_on_types.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/nested_on_types.dart.textual_outline_modelled.expect
index 8970b3e..fcdf4f1 100644
--- a/pkg/front_end/testcases/extensions/nested_on_types.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/nested_on_types.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 extension Extension<T> on A<A<T>> {
diff --git a/pkg/front_end/testcases/extensions/nested_on_types.dart.strong.expect b/pkg/front_end/testcases/extensions/nested_on_types.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/nested_on_types.dart.strong.expect
rename to pkg/front_end/testcases/extensions/nested_on_types.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/nested_on_types.dart.outline.expect b/pkg/front_end/testcases/extensions/nested_on_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/nested_on_types.dart.outline.expect
rename to pkg/front_end/testcases/extensions/nested_on_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/nested_on_types.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/nested_on_types.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/nested_on_types.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/nested_on_types.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/null_aware.dart b/pkg/front_end/testcases/extensions/null_aware.dart
index 6b8d908..327f7b4 100644
--- a/pkg/front_end/testcases/extensions/null_aware.dart
+++ b/pkg/front_end/testcases/extensions/null_aware.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/null_aware.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/null_aware.dart.textual_outline.expect
index 378b04c..8555d59 100644
--- a/pkg/front_end/testcases/extensions/null_aware.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/null_aware.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/null_aware.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/null_aware.dart.textual_outline_modelled.expect
index dc73414..bb3c97f 100644
--- a/pkg/front_end/testcases/extensions/null_aware.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/null_aware.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   int field;
 }
diff --git a/pkg/front_end/testcases/extensions/null_aware.dart.strong.expect b/pkg/front_end/testcases/extensions/null_aware.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/null_aware.dart.strong.expect
rename to pkg/front_end/testcases/extensions/null_aware.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/null_aware.dart.outline.expect b/pkg/front_end/testcases/extensions/null_aware.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/null_aware.dart.outline.expect
rename to pkg/front_end/testcases/extensions/null_aware.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/null_aware.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/null_aware.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/null_aware.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/null_aware.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/on_function_type.dart b/pkg/front_end/testcases/extensions/on_function_type.dart
index b3e30d2..d7f1522 100644
--- a/pkg/front_end/testcases/extensions/on_function_type.dart
+++ b/pkg/front_end/testcases/extensions/on_function_type.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension<R, T> on R Function(T) {
   Type get returnType => R;
   Type get parameterType => T;
diff --git a/pkg/front_end/testcases/extensions/on_function_type.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/on_function_type.dart.textual_outline.expect
index 7b1f078..ce9147e 100644
--- a/pkg/front_end/testcases/extensions/on_function_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/on_function_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension<R, T> on R Function(T) {
   Type get returnType => R;
   Type get parameterType => T;
diff --git a/pkg/front_end/testcases/extensions/on_function_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/on_function_type.dart.textual_outline_modelled.expect
index d84ff38..b40bc01 100644
--- a/pkg/front_end/testcases/extensions/on_function_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/on_function_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T extends Class<T>> {}
 
 class Subclass extends Class<Subclass> {}
diff --git a/pkg/front_end/testcases/extensions/on_function_type.dart.strong.expect b/pkg/front_end/testcases/extensions/on_function_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_function_type.dart.strong.expect
rename to pkg/front_end/testcases/extensions/on_function_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/on_function_type.dart.outline.expect b/pkg/front_end/testcases/extensions/on_function_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_function_type.dart.outline.expect
rename to pkg/front_end/testcases/extensions/on_function_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/on_function_type.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/on_function_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_function_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/on_function_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/on_type_inference.dart b/pkg/front_end/testcases/extensions/on_type_inference.dart
index 2cce0dc..d2aaaf8 100644
--- a/pkg/front_end/testcases/extensions/on_type_inference.dart
+++ b/pkg/front_end/testcases/extensions/on_type_inference.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension BestCom<T extends num> on Iterable<T> {
   T best() => null;
 }
diff --git a/pkg/front_end/testcases/extensions/on_type_inference.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/on_type_inference.dart.textual_outline.expect
index 9aa7eba..022a16e 100644
--- a/pkg/front_end/testcases/extensions/on_type_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/on_type_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension BestCom<T extends num> on Iterable<T> {
   T best() => null;
 }
diff --git a/pkg/front_end/testcases/extensions/on_type_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/on_type_inference.dart.textual_outline_modelled.expect
index 9aa7eba..022a16e 100644
--- a/pkg/front_end/testcases/extensions/on_type_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/on_type_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension BestCom<T extends num> on Iterable<T> {
   T best() => null;
 }
diff --git a/pkg/front_end/testcases/extensions/on_type_inference.dart.strong.expect b/pkg/front_end/testcases/extensions/on_type_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_type_inference.dart.strong.expect
rename to pkg/front_end/testcases/extensions/on_type_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/on_type_inference.dart.outline.expect b/pkg/front_end/testcases/extensions/on_type_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_type_inference.dart.outline.expect
rename to pkg/front_end/testcases/extensions/on_type_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/on_type_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/on_type_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_type_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/on_type_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart
index a56cd04..513f153 100644
--- a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart
+++ b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Struct {}
 
 class StructA extends Struct {}
diff --git a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.textual_outline.expect
index d757af3..00c99d0 100644
--- a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Struct {}
 
 class StructA extends Struct {}
diff --git a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.textual_outline_modelled.expect
index 16a0644..67dde84 100644
--- a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class NonStruct {}
 
 class Struct {}
diff --git a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.strong.expect b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_type_variable_inference.dart.strong.expect
rename to pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.outline.expect b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_type_variable_inference.dart.outline.expect
rename to pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/on_type_variable_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/on_type_variable_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/operators.dart b/pkg/front_end/testcases/extensions/operators.dart
index 17d5e27..8e50810 100644
--- a/pkg/front_end/testcases/extensions/operators.dart
+++ b/pkg/front_end/testcases/extensions/operators.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Complex {
   final double real;
   final double imaginary;
diff --git a/pkg/front_end/testcases/extensions/operators.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/operators.dart.textual_outline.expect
index 908102a..3242e21 100644
--- a/pkg/front_end/testcases/extensions/operators.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/operators.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Complex {
   final double real;
   final double imaginary;
diff --git a/pkg/front_end/testcases/extensions/operators.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/operators.dart.textual_outline_modelled.expect
index d77488d..a7a65c6 100644
--- a/pkg/front_end/testcases/extensions/operators.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/operators.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Complex {
   Complex add(Complex other) {}
   Complex negate() {}
diff --git a/pkg/front_end/testcases/extensions/operators.dart.strong.expect b/pkg/front_end/testcases/extensions/operators.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/operators.dart.strong.expect
rename to pkg/front_end/testcases/extensions/operators.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/operators.dart.outline.expect b/pkg/front_end/testcases/extensions/operators.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/operators.dart.outline.expect
rename to pkg/front_end/testcases/extensions/operators.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/operators.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/operators.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/operators.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/operators.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart b/pkg/front_end/testcases/extensions/other_kinds.dart
index 1958166..cefe49f 100644
--- a/pkg/front_end/testcases/extensions/other_kinds.dart
+++ b/pkg/front_end/testcases/extensions/other_kinds.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A1 {
   int _instanceField;
   int getInstanceField() => _instanceField;
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.hierarchy.expect
deleted file mode 100644
index bb80724..0000000
--- a/pkg/front_end/testcases/extensions/other_kinds.dart.hierarchy.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A1.setStaticField
-    A1.getInstanceField
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A1.getStaticField
-    A1._instanceField
-    Object._instanceOf
-    Object.noSuchMethod
-    A1._staticField
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    A1.setInstanceField
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A1._instanceField
-    A1._staticField
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.textual_outline.expect
index 85d642c..70739a0 100644
--- a/pkg/front_end/testcases/extensions/other_kinds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/other_kinds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {
   int _instanceField;
   int getInstanceField() => _instanceField;
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.textual_outline_modelled.expect
index 1e10a1c..ceb2b26 100644
--- a/pkg/front_end/testcases/extensions/other_kinds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/other_kinds.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {
   int _instanceField;
   int getInstanceField() => _instanceField;
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.strong.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/other_kinds.dart.strong.expect
rename to pkg/front_end/testcases/extensions/other_kinds.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.outline.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/other_kinds.dart.outline.expect
rename to pkg/front_end/testcases/extensions/other_kinds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/other_kinds.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/other_kinds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/other_kinds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/other_kinds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/private_members.dart b/pkg/front_end/testcases/extensions/private_members.dart
index 59b873f..73cbe03 100644
--- a/pkg/front_end/testcases/extensions/private_members.dart
+++ b/pkg/front_end/testcases/extensions/private_members.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'private_members_lib.dart';
 
 main() {
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/private_members.dart.textual_outline.expect
index ca40cab..492a3a9 100644
--- a/pkg/front_end/testcases/extensions/private_members.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/private_members.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'private_members_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/private_members.dart.textual_outline_modelled.expect
index dfeb024..65259cc 100644
--- a/pkg/front_end/testcases/extensions/private_members.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/private_members.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'private_members_lib.dart';
 
 errors() {}
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.strong.expect b/pkg/front_end/testcases/extensions/private_members.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/private_members.dart.strong.expect
rename to pkg/front_end/testcases/extensions/private_members.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.outline.expect b/pkg/front_end/testcases/extensions/private_members.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/private_members.dart.outline.expect
rename to pkg/front_end/testcases/extensions/private_members.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/private_members.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/private_members.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/private_members.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/private_members_lib.dart b/pkg/front_end/testcases/extensions/private_members_lib.dart
index 2cf5032..4f5f780 100644
--- a/pkg/front_end/testcases/extensions/private_members_lib.dart
+++ b/pkg/front_end/testcases/extensions/private_members_lib.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 extension _PrivateExtension on String {
   int publicMethod1() => 42;
   int _privateMethod1() => 87;
diff --git a/pkg/front_end/testcases/extensions/static_access.dart b/pkg/front_end/testcases/extensions/static_access.dart
index 170f77e..37f9cf6 100644
--- a/pkg/front_end/testcases/extensions/static_access.dart
+++ b/pkg/front_end/testcases/extensions/static_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/static_access.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/static_access.dart.hierarchy.expect
deleted file mode 100644
index f9ef17b..0000000
--- a/pkg/front_end/testcases/extensions/static_access.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Class:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/extensions/static_access.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/static_access.dart.textual_outline.expect
index af89663..a124177 100644
--- a/pkg/front_end/testcases/extensions/static_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/static_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/static_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/static_access.dart.textual_outline_modelled.expect
index d7a88d1..03ebb40 100644
--- a/pkg/front_end/testcases/extensions/static_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/static_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/static_access.dart.strong.expect b/pkg/front_end/testcases/extensions/static_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/static_access.dart.strong.expect
rename to pkg/front_end/testcases/extensions/static_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/static_access.dart.outline.expect b/pkg/front_end/testcases/extensions/static_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/static_access.dart.outline.expect
rename to pkg/front_end/testcases/extensions/static_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/static_access.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/static_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/static_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/static_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/static_access_of_instance.dart b/pkg/front_end/testcases/extensions/static_access_of_instance.dart
index 606a735..7b664f9 100644
--- a/pkg/front_end/testcases/extensions/static_access_of_instance.dart
+++ b/pkg/front_end/testcases/extensions/static_access_of_instance.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/static_access_of_instance.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/static_access_of_instance.dart.textual_outline.expect
index 38dbcbf..2a3f073 100644
--- a/pkg/front_end/testcases/extensions/static_access_of_instance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/static_access_of_instance.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/static_access_of_instance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/static_access_of_instance.dart.textual_outline_modelled.expect
index 114f677..856f36c 100644
--- a/pkg/front_end/testcases/extensions/static_access_of_instance.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/static_access_of_instance.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/static_access_of_instance.dart.strong.expect b/pkg/front_end/testcases/extensions/static_access_of_instance.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/static_access_of_instance.dart.strong.expect
rename to pkg/front_end/testcases/extensions/static_access_of_instance.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/static_access_of_instance.dart.outline.expect b/pkg/front_end/testcases/extensions/static_access_of_instance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/static_access_of_instance.dart.outline.expect
rename to pkg/front_end/testcases/extensions/static_access_of_instance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/static_access_of_instance.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/static_access_of_instance.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/static_access_of_instance.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/static_access_of_instance.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/tear_offs.dart b/pkg/front_end/testcases/extensions/tear_offs.dart
index 3d7e5a6..ce7b186 100644
--- a/pkg/front_end/testcases/extensions/tear_offs.dart
+++ b/pkg/front_end/testcases/extensions/tear_offs.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/tear_offs.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/tear_offs.dart.textual_outline.expect
index 45dbc23..5acd58f 100644
--- a/pkg/front_end/testcases/extensions/tear_offs.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/tear_offs.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 extension Extension on Class {
diff --git a/pkg/front_end/testcases/extensions/tear_offs.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/tear_offs.dart.textual_outline_modelled.expect
index 5ce0c980..1a63596 100644
--- a/pkg/front_end/testcases/extensions/tear_offs.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/tear_offs.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 errors() {}
diff --git a/pkg/front_end/testcases/extensions/tear_offs.dart.strong.expect b/pkg/front_end/testcases/extensions/tear_offs.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/tear_offs.dart.strong.expect
rename to pkg/front_end/testcases/extensions/tear_offs.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/tear_offs.dart.outline.expect b/pkg/front_end/testcases/extensions/tear_offs.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/tear_offs.dart.outline.expect
rename to pkg/front_end/testcases/extensions/tear_offs.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/tear_offs.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/tear_offs.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/tear_offs.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/tear_offs.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/type_variable_bound.dart b/pkg/front_end/testcases/extensions/type_variable_bound.dart
index f547bad..2d98762d 100644
--- a/pkg/front_end/testcases/extensions/type_variable_bound.dart
+++ b/pkg/front_end/testcases/extensions/type_variable_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.8
 
 extension Extension<T> on T {
diff --git a/pkg/front_end/testcases/extensions/type_variable_bound.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/type_variable_bound.dart.textual_outline.expect
index 59d5ad1..23bbc97 100644
--- a/pkg/front_end/testcases/extensions/type_variable_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/type_variable_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 // @dart = 2.8
 extension Extension<T> on T {
   T method1() => this;
diff --git a/pkg/front_end/testcases/extensions/type_variable_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/type_variable_bound.dart.textual_outline_modelled.expect
index a08e473..3dcbad3 100644
--- a/pkg/front_end/testcases/extensions/type_variable_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/type_variable_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 // @dart = 2.8
 Class test1<T>(T t1) {}
 
diff --git a/pkg/front_end/testcases/extensions/type_variable_bound.dart.strong.expect b/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/type_variable_bound.dart.strong.expect
rename to pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/type_variable_bound.dart.outline.expect b/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/type_variable_bound.dart.outline.expect
rename to pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/type_variable_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/type_variable_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/type_variable_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart b/pkg/front_end/testcases/extensions/type_variables.dart
index bea2ded..c17dbcb 100644
--- a/pkg/front_end/testcases/extensions/type_variables.dart
+++ b/pkg/front_end/testcases/extensions/type_variables.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A1<T> {}
 
 extension A2<T> on A1<T> {
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/type_variables.dart.hierarchy.expect
deleted file mode 100644
index 9ac08b3..0000000
--- a/pkg/front_end/testcases/extensions/type_variables.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/type_variables.dart.textual_outline.expect
index 4f3bfdf..28326e8 100644
--- a/pkg/front_end/testcases/extensions/type_variables.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/type_variables.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1<T> {}
 
 extension A2<T> on A1<T> {
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/type_variables.dart.textual_outline_modelled.expect
index 4f3bfdf..28326e8 100644
--- a/pkg/front_end/testcases/extensions/type_variables.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/type_variables.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1<T> {}
 
 extension A2<T> on A1<T> {
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart.strong.expect b/pkg/front_end/testcases/extensions/type_variables.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/type_variables.dart.strong.expect
rename to pkg/front_end/testcases/extensions/type_variables.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart.outline.expect b/pkg/front_end/testcases/extensions/type_variables.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/type_variables.dart.outline.expect
rename to pkg/front_end/testcases/extensions/type_variables.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/type_variables.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/type_variables.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/type_variables.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/type_variables.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/unnamed_extensions.dart b/pkg/front_end/testcases/extensions/unnamed_extensions.dart
index d425a9f..bf0bddc 100644
--- a/pkg/front_end/testcases/extensions/unnamed_extensions.dart
+++ b/pkg/front_end/testcases/extensions/unnamed_extensions.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class1 {
   int field;
 
diff --git a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.textual_outline.expect
index 792016b..4120a4e 100644
--- a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {
   int field;
   Class1(this.field);
diff --git a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.textual_outline_modelled.expect
index 66a7a5b..d2ab91a 100644
--- a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {
   Class1(this.field);
   String toString() => 'Class1($field)';
diff --git a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.strong.expect b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/unnamed_extensions.dart.strong.expect
rename to pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.outline.expect b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/unnamed_extensions.dart.outline.expect
rename to pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/unnamed_extensions.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/unnamed_extensions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/unnamed_extensions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/extensions/use_this.dart b/pkg/front_end/testcases/extensions/use_this.dart
index 6843fae..32ef9d9 100644
--- a/pkg/front_end/testcases/extensions/use_this.dart
+++ b/pkg/front_end/testcases/extensions/use_this.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // SharedOptions=--enable-experiment=extension-methods
 
 class A1 {}
diff --git a/pkg/front_end/testcases/extensions/use_this.dart.hierarchy.expect b/pkg/front_end/testcases/extensions/use_this.dart.hierarchy.expect
deleted file mode 100644
index 41cb083..0000000
--- a/pkg/front_end/testcases/extensions/use_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/extensions/use_this.dart.textual_outline.expect b/pkg/front_end/testcases/extensions/use_this.dart.textual_outline.expect
index f12590a..9cf7a3b 100644
--- a/pkg/front_end/testcases/extensions/use_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/extensions/use_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {}
 
 extension A2 on A1 {
diff --git a/pkg/front_end/testcases/extensions/use_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/extensions/use_this.dart.textual_outline_modelled.expect
index f79fb58..d1ae3f2 100644
--- a/pkg/front_end/testcases/extensions/use_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/extensions/use_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A1 {}
 
 class B1<T> {}
diff --git a/pkg/front_end/testcases/extensions/use_this.dart.strong.expect b/pkg/front_end/testcases/extensions/use_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/use_this.dart.strong.expect
rename to pkg/front_end/testcases/extensions/use_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/extensions/use_this.dart.outline.expect b/pkg/front_end/testcases/extensions/use_this.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/use_this.dart.outline.expect
rename to pkg/front_end/testcases/extensions/use_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/extensions/use_this.dart.strong.transformed.expect b/pkg/front_end/testcases/extensions/use_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/extensions/use_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/extensions/use_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart b/pkg/front_end/testcases/general/DeltaBlue.dart
index fc36961..a69a085 100644
--- a/pkg/front_end/testcases/general/DeltaBlue.dart
+++ b/pkg/front_end/testcases/general/DeltaBlue.dart
@@ -18,7 +18,7 @@
 //
 // Translated first from Smalltalk to JavaScript, and finally to
 // Dart by Google 2008-2010.
-
+// @dart=2.9
 /**
  * A Dart implementation of the DeltaBlue constraint-solving
  * algorithm, as described in:
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.hierarchy.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.hierarchy.expect
deleted file mode 100644
index bdad7e9..0000000
--- a/pkg/front_end/testcases/general/DeltaBlue.dart.hierarchy.expect
+++ /dev/null
@@ -1,408 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-DeltaBlue:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    DeltaBlue.run
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Strength:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Strength.weakest
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Strength.nextWeaker
-    Strength.value
-    Strength.stronger
-    Object._instanceOf
-    Strength.name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Strength.weaker
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Strength.strongest
-  classSetters:
-
-Constraint:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Constraint.markUnsatisfied
-    Constraint.chooseMethod
-    Constraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    Constraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    Constraint.markInputs
-    Object._identityHashCode
-    Constraint.recalculate
-    Constraint.execute
-    Constraint.output
-    Constraint.addConstraint
-    Constraint.isSatisfied
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Constraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-
-UnaryConstraint:
-  superclasses:
-    Object
-      -> Constraint
-  interfaces:
-  classMembers:
-    UnaryConstraint.markUnsatisfied
-    UnaryConstraint.chooseMethod
-    UnaryConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    UnaryConstraint.myOutput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    UnaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    UnaryConstraint.markInputs
-    Object._identityHashCode
-    UnaryConstraint.recalculate
-    Constraint.execute
-    UnaryConstraint.output
-    Constraint.addConstraint
-    UnaryConstraint.isSatisfied
-    Object.hashCode
-    UnaryConstraint.satisfied
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    UnaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    UnaryConstraint.satisfied
-
-StayConstraint:
-  superclasses:
-    Object
-      -> Constraint
-        -> UnaryConstraint
-  interfaces:
-  classMembers:
-    UnaryConstraint.markUnsatisfied
-    UnaryConstraint.chooseMethod
-    UnaryConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    UnaryConstraint.myOutput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    UnaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    UnaryConstraint.markInputs
-    Object._identityHashCode
-    UnaryConstraint.recalculate
-    StayConstraint.execute
-    UnaryConstraint.output
-    Constraint.addConstraint
-    UnaryConstraint.isSatisfied
-    Object.hashCode
-    UnaryConstraint.satisfied
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    UnaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    UnaryConstraint.satisfied
-
-EditConstraint:
-  superclasses:
-    Object
-      -> Constraint
-        -> UnaryConstraint
-  interfaces:
-  classMembers:
-    UnaryConstraint.markUnsatisfied
-    UnaryConstraint.chooseMethod
-    UnaryConstraint.addToGraph
-    Object.toString
-    EditConstraint.isInput
-    UnaryConstraint.myOutput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    UnaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    UnaryConstraint.markInputs
-    Object._identityHashCode
-    UnaryConstraint.recalculate
-    EditConstraint.execute
-    UnaryConstraint.output
-    Constraint.addConstraint
-    UnaryConstraint.isSatisfied
-    Object.hashCode
-    UnaryConstraint.satisfied
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    UnaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    UnaryConstraint.satisfied
-
-BinaryConstraint:
-  superclasses:
-    Object
-      -> Constraint
-  interfaces:
-  classMembers:
-    BinaryConstraint.markUnsatisfied
-    BinaryConstraint.chooseMethod
-    BinaryConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    BinaryConstraint.v2
-    BinaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    BinaryConstraint.markInputs
-    Object._identityHashCode
-    BinaryConstraint.recalculate
-    Constraint.execute
-    BinaryConstraint.output
-    Constraint.addConstraint
-    BinaryConstraint.isSatisfied
-    Object.hashCode
-    BinaryConstraint.input
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    BinaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    BinaryConstraint.v2
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-
-ScaleConstraint:
-  superclasses:
-    Object
-      -> Constraint
-        -> BinaryConstraint
-  interfaces:
-  classMembers:
-    BinaryConstraint.markUnsatisfied
-    BinaryConstraint.chooseMethod
-    ScaleConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    ScaleConstraint.scale
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    BinaryConstraint.v2
-    BinaryConstraint.inputsKnown
-    ScaleConstraint.offset
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    ScaleConstraint.markInputs
-    Object._identityHashCode
-    ScaleConstraint.recalculate
-    ScaleConstraint.execute
-    BinaryConstraint.output
-    Constraint.addConstraint
-    BinaryConstraint.isSatisfied
-    Object.hashCode
-    BinaryConstraint.input
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    ScaleConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    BinaryConstraint.v2
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-
-EqualityConstraint:
-  superclasses:
-    Object
-      -> Constraint
-        -> BinaryConstraint
-  interfaces:
-  classMembers:
-    BinaryConstraint.markUnsatisfied
-    BinaryConstraint.chooseMethod
-    BinaryConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    BinaryConstraint.v2
-    BinaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    BinaryConstraint.markInputs
-    Object._identityHashCode
-    BinaryConstraint.recalculate
-    EqualityConstraint.execute
-    BinaryConstraint.output
-    Constraint.addConstraint
-    BinaryConstraint.isSatisfied
-    Object.hashCode
-    BinaryConstraint.input
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    BinaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    BinaryConstraint.v2
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-
-Variable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Variable.mark
-    Variable.stay
-    Object.toString
-    Variable.constraints
-    Variable.walkStrength
-    Variable.determinedBy
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Variable.value
-    Object._instanceOf
-    Variable.name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Variable.removeConstraint
-    Variable.addConstraint
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Variable.mark
-    Variable.stay
-    Variable.constraints
-    Variable.walkStrength
-    Variable.determinedBy
-    Variable.value
-
-Planner:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Planner.addConstraintsConsumingTo
-    Planner.removePropagateFrom
-    Object.toString
-    Planner.incrementalRemove
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Planner.newMark
-    Planner.addPropagate
-    Planner.currentMark
-    Planner.incrementalAdd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Planner.makePlan
-    Planner.extractPlanFromConstraints
-  classSetters:
-    Planner.currentMark
-
-Plan:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Plan.size
-    Plan.list
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Plan.execute
-    Plan.addConstraint
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Plan.list
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.textual_outline.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.textual_outline.expect
index b0e9877..d32aa29 100644
--- a/pkg/front_end/testcases/general/DeltaBlue.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/DeltaBlue.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 
 class DeltaBlue {
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.textual_outline_modelled.expect
index 43daecc..3e2df26 100644
--- a/pkg/front_end/testcases/general/DeltaBlue.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/DeltaBlue.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 Planner planner;
 
 abstract class BinaryConstraint extends Constraint {
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.strong.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/DeltaBlue.dart.strong.expect
rename to pkg/front_end/testcases/general/DeltaBlue.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.outline.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/DeltaBlue.dart.outline.expect
rename to pkg/front_end/testcases/general/DeltaBlue.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/DeltaBlue.dart.strong.transformed.expect b/pkg/front_end/testcases/general/DeltaBlue.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/DeltaBlue.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/DeltaBlue.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/abstract_members.dart b/pkg/front_end/testcases/general/abstract_members.dart
index 127c6fc..967a96e 100644
--- a/pkg/front_end/testcases/general/abstract_members.dart
+++ b/pkg/front_end/testcases/general/abstract_members.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class Interface1 {
   void interfaceMethod1() {}
 }
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.hierarchy.expect b/pkg/front_end/testcases/general/abstract_members.dart.hierarchy.expect
deleted file mode 100644
index 99a7137..0000000
--- a/pkg/front_end/testcases/general/abstract_members.dart.hierarchy.expect
+++ /dev/null
@@ -1,614 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Interface1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Interface2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Interface2.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Interface2.interfaceMethod1
-
-Interface3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Interface3.interfaceMethod3
-  classSetters:
-
-A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    A.aMethod
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    A.aMethod
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> A
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    Object.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    Object.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-MyClass:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    MyClass.aaMethod
-    Object.toString
-    Object.runtimeType
-    MyClass.aMethod
-    Object._simpleInstanceOf
-    MyClass.bMethod
-    Object._instanceOf
-    MyClass.cMethod
-    Object.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    MyClass.property2
-  classSetters:
-    A.property3
-    A.property1
-    MyClass.property2
-  interfaceMembers:
-    MyClass.aaMethod
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    MyClass.aMethod
-    Object._simpleInstanceOf
-    MyClass.bMethod
-    Object._instanceOf
-    MyClass.cMethod
-    Object.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-    MyClass.property2
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    MyClass.property2
-
-MyMock1:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock1.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock1.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-MyMock2:
-  Longest path to Object: 5
-  superclasses:
-    Object
-      -> A
-        -> B
-          -> MyMock1
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock2.MyMock1.noSuchMethod%MyMock2.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock2.MyMock1.noSuchMethod%MyMock2.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-MyMock3:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock3.Object.noSuchMethod%MyMock3.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock3.Object.noSuchMethod%MyMock3.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces: Interface2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Interface2.interfaceMethod1
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.interfaceMethod1
-
-F:
-  superclasses:
-    Object
-      -> E
-  interfaces: Interface1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.interfaceMethod1
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.interfaceMethod1
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-H:
-  superclasses:
-    Object
-      -> G
-  interfaces: Foo
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Bar.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-J:
-  superclasses:
-    Object
-      -> I
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.strong.transformed.expect b/pkg/front_end/testcases/general/abstract_members.dart.strong.transformed.expect
deleted file mode 100644
index a76d03a..0000000
--- a/pkg/front_end/testcases/general/abstract_members.dart.strong.transformed.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/abstract_members.dart:19:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
-//  - 'abstractMethod'
-//  - 'property3='
-//  - 'property1='
-// 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 {
-//       ^^^^^^^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  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 set property3(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.textual_outline.expect b/pkg/front_end/testcases/general/abstract_members.dart.textual_outline.expect
index 866053c..1b76287 100644
--- a/pkg/front_end/testcases/general/abstract_members.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/abstract_members.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Interface1 {
   void interfaceMethod1() {}
 }
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/abstract_members.dart.textual_outline_modelled.expect
index 77e8755..4f03476 100644
--- a/pkg/front_end/testcases/general/abstract_members.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/abstract_members.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A implements Interface1, Interface2, Interface3 {
   aMethod() {}
   abstractMethod();
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.strong.expect b/pkg/front_end/testcases/general/abstract_members.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_members.dart.strong.expect
rename to pkg/front_end/testcases/general/abstract_members.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/abstract_members.dart.outline.expect b/pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_members.dart.outline.expect
rename to pkg/front_end/testcases/general/abstract_members.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/abstract_operator_override.dart b/pkg/front_end/testcases/general/abstract_operator_override.dart
index 89d5f93..47d3698 100644
--- a/pkg/front_end/testcases/general/abstract_operator_override.dart
+++ b/pkg/front_end/testcases/general/abstract_operator_override.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   A operator +(B b) => new A();
   A operator -() => new A();
diff --git a/pkg/front_end/testcases/general/abstract_operator_override.dart.textual_outline.expect b/pkg/front_end/testcases/general/abstract_operator_override.dart.textual_outline.expect
index cbb8adc..5e5db9f 100644
--- a/pkg/front_end/testcases/general/abstract_operator_override.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/abstract_operator_override.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A operator +(B b) => new A();
   A operator -() => new A();
diff --git a/pkg/front_end/testcases/general/abstract_operator_override.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/abstract_operator_override.dart.textual_outline_modelled.expect
index a8a7f31..26007df 100644
--- a/pkg/front_end/testcases/general/abstract_operator_override.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/abstract_operator_override.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A operator +(B b) => new A();
   A operator -() => new A();
diff --git a/pkg/front_end/testcases/general/abstract_operator_override.dart.strong.expect b/pkg/front_end/testcases/general/abstract_operator_override.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_operator_override.dart.strong.expect
rename to pkg/front_end/testcases/general/abstract_operator_override.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/abstract_operator_override.dart.outline.expect b/pkg/front_end/testcases/general/abstract_operator_override.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_operator_override.dart.outline.expect
rename to pkg/front_end/testcases/general/abstract_operator_override.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/abstract_operator_override.dart.strong.transformed.expect b/pkg/front_end/testcases/general/abstract_operator_override.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_operator_override.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/abstract_operator_override.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart
index 8a0f040..b7152e5 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   void foo() {}
 }
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.textual_outline.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.textual_outline.expect
index 5b023fe..09d2c13 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   void foo() {}
 }
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.textual_outline_modelled.expect
index 7f52cec..bee9faa 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class B extends A {
   void foo([a]);
 }
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.strong.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_overrides_concrete.dart.strong.expect
rename to pkg/front_end/testcases/general/abstract_overrides_concrete.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.outline.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_overrides_concrete.dart.outline.expect
rename to pkg/front_end/testcases/general/abstract_overrides_concrete.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.strong.transformed.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_overrides_concrete.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/abstract_overrides_concrete.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart
index 7bba23c..3899c92 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 abstract class A {
   A foo() => null;
 }
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.hierarchy.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.hierarchy.expect
deleted file mode 100644
index 344af9a..0000000
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,105 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.A.foo%B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> C
-  interfaces: B, A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.A.foo%B.foo
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.textual_outline.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.textual_outline.expect
index a22c063..815f3ac 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   A foo() => null;
 }
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.textual_outline_modelled.expect
index a22c063..815f3ac 100644
--- a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   A foo() => null;
 }
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.strong.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.strong.expect
rename to pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.outline.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.outline.expect
rename to pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.strong.transformed.expect b/pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/abstract_overrides_concrete_with_no_such_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/accessors.dart b/pkg/front_end/testcases/general/accessors.dart
index 5ac1323..67c5b20 100644
--- a/pkg/front_end/testcases/general/accessors.dart
+++ b/pkg/front_end/testcases/general/accessors.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 void set onlySetter(value) {
   print("onlySetter called with $value.");
 }
diff --git a/pkg/front_end/testcases/general/accessors.dart.hierarchy.expect b/pkg/front_end/testcases/general/accessors.dart.hierarchy.expect
deleted file mode 100644
index 390a1b2..0000000
--- a/pkg/front_end/testcases/general/accessors.dart.hierarchy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.testD
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.testC
-  classSetters:
-    C.onlySetter
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    C.testD
-    D.onlySetter
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.testC
-  classSetters:
-    D.onlySetter
diff --git a/pkg/front_end/testcases/general/accessors.dart.textual_outline.expect b/pkg/front_end/testcases/general/accessors.dart.textual_outline.expect
index 9c4a898..a9e633e 100644
--- a/pkg/front_end/testcases/general/accessors.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/accessors.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 void set onlySetter(value) {}
 
 class C {
diff --git a/pkg/front_end/testcases/general/accessors.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/accessors.dart.textual_outline_modelled.expect
index 3072e99..7bea72f 100644
--- a/pkg/front_end/testcases/general/accessors.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/accessors.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   testC() {}
   testD() {}
diff --git a/pkg/front_end/testcases/general/accessors.dart.strong.expect b/pkg/front_end/testcases/general/accessors.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/accessors.dart.strong.expect
rename to pkg/front_end/testcases/general/accessors.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/accessors.dart.outline.expect b/pkg/front_end/testcases/general/accessors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/accessors.dart.outline.expect
rename to pkg/front_end/testcases/general/accessors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/accessors.dart.strong.transformed.expect b/pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/accessors.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/accessors.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/all_variances.dart b/pkg/front_end/testcases/general/all_variances.dart
index 3f1a118..8d98162 100644
--- a/pkg/front_end/testcases/general/all_variances.dart
+++ b/pkg/front_end/testcases/general/all_variances.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // The test checks how type parameters of different variances are serialized.
 
 typedef F<W, X, Y, Z> = X Function(Y, Z Function(Z));
diff --git a/pkg/front_end/testcases/general/all_variances.dart.legacy.expect b/pkg/front_end/testcases/general/all_variances.dart.legacy.expect
deleted file mode 100644
index add5d55..0000000
--- a/pkg/front_end/testcases/general/all_variances.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated W extends core::Object = dynamic, X extends core::Object = dynamic, contravariant Y extends core::Object = dynamic, invariant Z extends core::Object = dynamic> = (Y, (Z) → Z) → X;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/all_variances.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/all_variances.dart.legacy.transformed.expect
deleted file mode 100644
index add5d55..0000000
--- a/pkg/front_end/testcases/general/all_variances.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated W extends core::Object = dynamic, X extends core::Object = dynamic, contravariant Y extends core::Object = dynamic, invariant Z extends core::Object = dynamic> = (Y, (Z) → Z) → X;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/all_variances.dart.textual_outline.expect b/pkg/front_end/testcases/general/all_variances.dart.textual_outline.expect
index e174256..e3a12d0 100644
--- a/pkg/front_end/testcases/general/all_variances.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/all_variances.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 typedef F<W, X, Y, Z> = X Function(Y, Z Function(Z));
 main() {}
diff --git a/pkg/front_end/testcases/general/all_variances.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/all_variances.dart.textual_outline_modelled.expect
index 487ff53..5b8c061 100644
--- a/pkg/front_end/testcases/general/all_variances.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/all_variances.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 typedef F<W, X, Y, Z> = X Function(Y, Z Function(Z));
diff --git a/pkg/front_end/testcases/general/all_variances.dart.strong.expect b/pkg/front_end/testcases/general/all_variances.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/all_variances.dart.strong.expect
rename to pkg/front_end/testcases/general/all_variances.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/all_variances.dart.outline.expect b/pkg/front_end/testcases/general/all_variances.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/all_variances.dart.outline.expect
rename to pkg/front_end/testcases/general/all_variances.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/all_variances.dart.strong.transformed.expect b/pkg/front_end/testcases/general/all_variances.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/all_variances.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/all_variances.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/ambiguous_exports.dart b/pkg/front_end/testcases/general/ambiguous_exports.dart
index 123d1dd..1ee8c77 100644
--- a/pkg/front_end/testcases/general/ambiguous_exports.dart
+++ b/pkg/front_end/testcases/general/ambiguous_exports.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 export 'hello.dart' show main;
 
 export 'map.dart' show main;
diff --git a/pkg/front_end/testcases/general/ambiguous_exports.dart.textual_outline.expect b/pkg/front_end/testcases/general/ambiguous_exports.dart.textual_outline.expect
index 7fe554b..88998de 100644
--- a/pkg/front_end/testcases/general/ambiguous_exports.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/ambiguous_exports.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 export 'hello.dart' show main;
 export 'map.dart' show main;
diff --git a/pkg/front_end/testcases/general/ambiguous_exports.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/ambiguous_exports.dart.textual_outline_modelled.expect
index 7fe554b..88998de 100644
--- a/pkg/front_end/testcases/general/ambiguous_exports.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/ambiguous_exports.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 export 'hello.dart' show main;
 export 'map.dart' show main;
diff --git a/pkg/front_end/testcases/general/ambiguous_exports.dart.strong.expect b/pkg/front_end/testcases/general/ambiguous_exports.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/ambiguous_exports.dart.strong.expect
rename to pkg/front_end/testcases/general/ambiguous_exports.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/ambiguous_exports.dart.outline.expect b/pkg/front_end/testcases/general/ambiguous_exports.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/ambiguous_exports.dart.outline.expect
rename to pkg/front_end/testcases/general/ambiguous_exports.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/ambiguous_exports.dart.strong.transformed.expect b/pkg/front_end/testcases/general/ambiguous_exports.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/ambiguous_exports.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/ambiguous_exports.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/annotation_eof.dart b/pkg/front_end/testcases/general/annotation_eof.dart
index 55b8bb0..0a6ab32 100644
--- a/pkg/front_end/testcases/general/annotation_eof.dart
+++ b/pkg/front_end/testcases/general/annotation_eof.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   print('There is a dangling annotation at the end of this file');
 }
diff --git a/pkg/front_end/testcases/general/annotation_eof.dart.textual_outline.expect b/pkg/front_end/testcases/general/annotation_eof.dart.textual_outline.expect
index a1a8776..f6bb0c3 100644
--- a/pkg/front_end/testcases/general/annotation_eof.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/annotation_eof.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 @AnnotationAtEOF
diff --git a/pkg/front_end/testcases/general/annotation_eof.dart.strong.expect b/pkg/front_end/testcases/general/annotation_eof.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_eof.dart.strong.expect
rename to pkg/front_end/testcases/general/annotation_eof.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/annotation_eof.dart.outline.expect b/pkg/front_end/testcases/general/annotation_eof.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_eof.dart.outline.expect
rename to pkg/front_end/testcases/general/annotation_eof.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/annotation_eof.dart.strong.transformed.expect b/pkg/front_end/testcases/general/annotation_eof.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_eof.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/annotation_eof.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart b/pkg/front_end/testcases/general/annotation_on_enum_values.dart
index 7e7fca2..a992a24 100644
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart
+++ b/pkg/front_end/testcases/general/annotation_on_enum_values.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that annotations on enum values are preserved by the
 // compiler.
 
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.hierarchy.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.hierarchy.expect
deleted file mode 100644
index 6abd62f..0000000
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Fisk.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.bar
-    Foo.cafebabe
-    Foo.toString
-    Foo.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Foo.baz
-  classSetters:
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.textual_outline.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.textual_outline.expect
index 42c4aa9..acd4589 100644
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int hest = 42;
 
 class Fisk<T> {
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.textual_outline_modelled.expect
index 1866609..e371c97 100644
--- a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk<T> {
   const Fisk.fisk(this.x);
   final T x;
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.expect
rename to pkg/front_end/testcases/general/annotation_on_enum_values.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.outline.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_on_enum_values.dart.outline.expect
rename to pkg/front_end/testcases/general/annotation_on_enum_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.transformed.expect b/pkg/front_end/testcases/general/annotation_on_enum_values.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_on_enum_values.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/annotation_on_enum_values.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/annotation_top.dart b/pkg/front_end/testcases/general/annotation_top.dart
index 9fdb7e7..ee7490b 100644
--- a/pkg/front_end/testcases/general/annotation_top.dart
+++ b/pkg/front_end/testcases/general/annotation_top.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 @a
 @A(1)
 library test;
diff --git a/pkg/front_end/testcases/general/annotation_top.dart.hierarchy.expect b/pkg/front_end/testcases/general/annotation_top.dart.hierarchy.expect
deleted file mode 100644
index ad9c025..0000000
--- a/pkg/front_end/testcases/general/annotation_top.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/annotation_top.dart.textual_outline.expect b/pkg/front_end/testcases/general/annotation_top.dart.textual_outline.expect
index 579bc70..2135285 100644
--- a/pkg/front_end/testcases/general/annotation_top.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/annotation_top.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 @a
 @A(1)
 library test;
diff --git a/pkg/front_end/testcases/general/annotation_top.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/annotation_top.dart.textual_outline_modelled.expect
index 11150ed..09e49c6 100644
--- a/pkg/front_end/testcases/general/annotation_top.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/annotation_top.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 @a
 @A(1)
 library test;
diff --git a/pkg/front_end/testcases/general/annotation_top.dart.strong.expect b/pkg/front_end/testcases/general/annotation_top.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_top.dart.strong.expect
rename to pkg/front_end/testcases/general/annotation_top.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/annotation_top.dart.outline.expect b/pkg/front_end/testcases/general/annotation_top.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_top.dart.outline.expect
rename to pkg/front_end/testcases/general/annotation_top.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/annotation_top.dart.strong.transformed.expect b/pkg/front_end/testcases/general/annotation_top.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_top.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/annotation_top.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals.dart b/pkg/front_end/testcases/general/annotation_typedef_formals.dart
index bfa05d7..1eb641f 100644
--- a/pkg/front_end/testcases/general/annotation_typedef_formals.dart
+++ b/pkg/front_end/testcases/general/annotation_typedef_formals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the compiler handles annotations on formals of
 // typedefs.
 
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.textual_outline.expect b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.textual_outline.expect
index 15fb5d5..85560f8 100644
--- a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int foo = 21;
 const int bar = 42;
 const int baz = 84;
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.textual_outline_modelled.expect
index b301156..38e9070 100644
--- a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int bar = 42;
 const int baz = 84;
 const int foo = 21;
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.strong.expect b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_typedef_formals.dart.strong.expect
rename to pkg/front_end/testcases/general/annotation_typedef_formals.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.outline.expect b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_typedef_formals.dart.outline.expect
rename to pkg/front_end/testcases/general/annotation_typedef_formals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals.dart.strong.transformed.expect b/pkg/front_end/testcases/general/annotation_typedef_formals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_typedef_formals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/annotation_typedef_formals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart
index 64d7e03..81560dc 100644
--- a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart
+++ b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the annotation on a formal parameter of a typedef is
 // resolved to the top-level constant, and not to the parameter itself in case
 // of a name match.
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.textual_outline.expect b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.textual_outline.expect
index 31a5a66..2549290 100644
--- a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int app = 0;
 typedef int F(@app int app);
 main() {}
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.textual_outline_modelled.expect
index e353a08..af7fca0 100644
--- a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int app = 0;
 main() {}
 typedef int F(@app int app);
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.strong.expect b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.strong.expect
rename to pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.outline.expect b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.outline.expect
rename to pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.strong.transformed.expect b/pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/annotation_typedef_formals_resolution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart b/pkg/front_end/testcases/general/annotation_variable_declaration.dart
index c64fad7..7635fa4 100644
--- a/pkg/front_end/testcases/general/annotation_variable_declaration.dart
+++ b/pkg/front_end/testcases/general/annotation_variable_declaration.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 const int foo = 42;
 
 class Bar {
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.hierarchy.expect b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.hierarchy.expect
deleted file mode 100644
index b37c1fd..0000000
--- a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Baz:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Baz.hest
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Baz.fisk
-  classSetters:
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.textual_outline.expect b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.textual_outline.expect
index 52559a9..788c674 100644
--- a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int foo = 42;
 
 class Bar {
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.textual_outline_modelled.expect
index 1a18629..cbd062c 100644
--- a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bar {
   const Bar();
   const Bar.named(x);
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.strong.expect b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_variable_declaration.dart.strong.expect
rename to pkg/front_end/testcases/general/annotation_variable_declaration.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.outline.expect b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_variable_declaration.dart.outline.expect
rename to pkg/front_end/testcases/general/annotation_variable_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/annotation_variable_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/general/annotation_variable_declaration.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/annotation_variable_declaration.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/annotation_variable_declaration.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/argument.dart b/pkg/front_end/testcases/general/argument.dart
index 8642ce9..e483d8a 100644
--- a/pkg/front_end/testcases/general/argument.dart
+++ b/pkg/front_end/testcases/general/argument.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 abstract class Base {}
 
 class Foo extends Base {}
diff --git a/pkg/front_end/testcases/general/argument.dart.hierarchy.expect b/pkg/front_end/testcases/general/argument.dart.hierarchy.expect
deleted file mode 100644
index 0d45c08..0000000
--- a/pkg/front_end/testcases/general/argument.dart.hierarchy.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Baz:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/argument.dart.textual_outline.expect b/pkg/front_end/testcases/general/argument.dart.textual_outline.expect
index 09a1fdd..c9367b3 100644
--- a/pkg/front_end/testcases/general/argument.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/argument.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Base {}
 
 class Foo extends Base {}
diff --git a/pkg/front_end/testcases/general/argument.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/argument.dart.textual_outline_modelled.expect
index 3150668..66bc084 100644
--- a/pkg/front_end/testcases/general/argument.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/argument.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Base {}
 
 class Bar extends Base {}
diff --git a/pkg/front_end/testcases/general/argument.dart.strong.expect b/pkg/front_end/testcases/general/argument.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/argument.dart.strong.expect
rename to pkg/front_end/testcases/general/argument.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/argument.dart.outline.expect b/pkg/front_end/testcases/general/argument.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/argument.dart.outline.expect
rename to pkg/front_end/testcases/general/argument.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/argument.dart.strong.transformed.expect b/pkg/front_end/testcases/general/argument.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/argument.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/argument.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/argument_mismatch.dart b/pkg/front_end/testcases/general/argument_mismatch.dart
index ec2894e..ed5aa97 100644
--- a/pkg/front_end/testcases/general/argument_mismatch.dart
+++ b/pkg/front_end/testcases/general/argument_mismatch.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 foo() {}
 
 test() {
diff --git a/pkg/front_end/testcases/general/argument_mismatch.dart.textual_outline.expect b/pkg/front_end/testcases/general/argument_mismatch.dart.textual_outline.expect
index 3b58842..0a62fd2 100644
--- a/pkg/front_end/testcases/general/argument_mismatch.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/argument_mismatch.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 foo() {}
 test() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/argument_mismatch.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/argument_mismatch.dart.textual_outline_modelled.expect
index 1391a6a..3bcd9ca 100644
--- a/pkg/front_end/testcases/general/argument_mismatch.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/argument_mismatch.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 foo() {}
 main() {}
 test() {}
diff --git a/pkg/front_end/testcases/general/argument_mismatch.dart.strong.expect b/pkg/front_end/testcases/general/argument_mismatch.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/argument_mismatch.dart.strong.expect
rename to pkg/front_end/testcases/general/argument_mismatch.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/argument_mismatch.dart.outline.expect b/pkg/front_end/testcases/general/argument_mismatch.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/argument_mismatch.dart.outline.expect
rename to pkg/front_end/testcases/general/argument_mismatch.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/argument_mismatch.dart.strong.transformed.expect b/pkg/front_end/testcases/general/argument_mismatch.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/argument_mismatch.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/argument_mismatch.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/arithmetic.dart b/pkg/front_end/testcases/general/arithmetic.dart
index 91b5c0a..d1d5bfb 100644
--- a/pkg/front_end/testcases/general/arithmetic.dart
+++ b/pkg/front_end/testcases/general/arithmetic.dart
@@ -1,6 +1,9 @@
 // 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.
+
+// @dart=2.9
+
 int foo(int x, int y) {
   var z = x + y;
   return z << 4;
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.textual_outline.expect b/pkg/front_end/testcases/general/arithmetic.dart.textual_outline.expect
index 5c6fdec..96ca7d7 100644
--- a/pkg/front_end/testcases/general/arithmetic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/arithmetic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 int foo(int x, int y) {}
 void loop(List xs) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/arithmetic.dart.textual_outline_modelled.expect
index d2e4a11..19ae1c4 100644
--- a/pkg/front_end/testcases/general/arithmetic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/arithmetic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 int foo(int x, int y) {}
 main() {}
 void loop(List xs) {}
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.strong.expect b/pkg/front_end/testcases/general/arithmetic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/arithmetic.dart.strong.expect
rename to pkg/front_end/testcases/general/arithmetic.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.outline.expect b/pkg/front_end/testcases/general/arithmetic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/arithmetic.dart.outline.expect
rename to pkg/front_end/testcases/general/arithmetic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/arithmetic.dart.strong.transformed.expect b/pkg/front_end/testcases/general/arithmetic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/arithmetic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/arithmetic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/arrow_function.dart b/pkg/front_end/testcases/general/arrow_function.dart
index 0b8e57d..f189150 100644
--- a/pkg/front_end/testcases/general/arrow_function.dart
+++ b/pkg/front_end/testcases/general/arrow_function.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2017, 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=2.9
 main<T>() => () => T;
diff --git a/pkg/front_end/testcases/general/arrow_function.dart.textual_outline.expect b/pkg/front_end/testcases/general/arrow_function.dart.textual_outline.expect
index b66ca49..3ac95b3 100644
--- a/pkg/front_end/testcases/general/arrow_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/arrow_function.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main<T>() => () => T;
diff --git a/pkg/front_end/testcases/general/arrow_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/arrow_function.dart.textual_outline_modelled.expect
index b66ca49..3ac95b3 100644
--- a/pkg/front_end/testcases/general/arrow_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/arrow_function.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main<T>() => () => T;
diff --git a/pkg/front_end/testcases/general/arrow_function.dart.strong.expect b/pkg/front_end/testcases/general/arrow_function.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/arrow_function.dart.strong.expect
rename to pkg/front_end/testcases/general/arrow_function.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/arrow_function.dart.outline.expect b/pkg/front_end/testcases/general/arrow_function.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/arrow_function.dart.outline.expect
rename to pkg/front_end/testcases/general/arrow_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/arrow_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general/arrow_function.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/arrow_function.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/arrow_function.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart
index dd3d5b3..e6ee1c2 100644
--- a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart
+++ b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import "package:expect/expect.dart";
 
 class A {
diff --git a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.textual_outline.expect b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.textual_outline.expect
index 0ee755e..9cb355d 100644
--- a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A {
diff --git a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.textual_outline_modelled.expect
index 4d7dc12..c0dd247 100644
--- a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A {
diff --git a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.strong.expect b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/assign_to_initializing_formal.dart.strong.expect
rename to pkg/front_end/testcases/general/assign_to_initializing_formal.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.outline.expect b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/assign_to_initializing_formal.dart.outline.expect
rename to pkg/front_end/testcases/general/assign_to_initializing_formal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.strong.transformed.expect b/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/assign_to_initializing_formal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/assign_to_initializing_formal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/async_function.dart b/pkg/front_end/testcases/general/async_function.dart
index 7b3001e..3ba8a91 100644
--- a/pkg/front_end/testcases/general/async_function.dart
+++ b/pkg/front_end/testcases/general/async_function.dart
@@ -1,6 +1,9 @@
 // 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.
+
+// @dart=2.9
+
 import 'dart:async';
 
 Future<String> asyncString() async {
diff --git a/pkg/front_end/testcases/general/async_function.dart.textual_outline.expect b/pkg/front_end/testcases/general/async_function.dart.textual_outline.expect
index 20ff937..8440a30 100644
--- a/pkg/front_end/testcases/general/async_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/async_function.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 Future<String> asyncString() async {}
diff --git a/pkg/front_end/testcases/general/async_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/async_function.dart.textual_outline_modelled.expect
index 2451edd..c2af55e 100644
--- a/pkg/front_end/testcases/general/async_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/async_function.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 Future<String> asyncString() async {}
diff --git a/pkg/front_end/testcases/general/async_function.dart.strong.expect b/pkg/front_end/testcases/general/async_function.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/async_function.dart.strong.expect
rename to pkg/front_end/testcases/general/async_function.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/async_function.dart.outline.expect b/pkg/front_end/testcases/general/async_function.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/async_function.dart.outline.expect
rename to pkg/front_end/testcases/general/async_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/async_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/async_function.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/async_function.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart
index b5d5980..f5b5a24 100644
--- a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart
+++ b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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.
-
+// @dart=2.9
 foo() async {
   Bar x;
   for (dynamic y in x.z) {}
diff --git a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.textual_outline.expect
index 88505fd..8c23a08 100644
--- a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 foo() async {}
diff --git a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.textual_outline_modelled.expect
index 88505fd..8c23a08 100644
--- a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 foo() async {}
diff --git a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.strong.expect b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/async_method_with_invalid_type.dart.strong.expect
rename to pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.outline.expect b/pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/async_method_with_invalid_type.dart.outline.expect
rename to pkg/front_end/testcases/general/async_method_with_invalid_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/async_nested.dart b/pkg/front_end/testcases/general/async_nested.dart
index a4d0891..669f7f4 100644
--- a/pkg/front_end/testcases/general/async_nested.dart
+++ b/pkg/front_end/testcases/general/async_nested.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This has been automatically generated by script
 // "async_nested_test_generator.dart".
 
diff --git a/pkg/front_end/testcases/general/async_nested.dart.hierarchy.expect b/pkg/front_end/testcases/general/async_nested.dart.hierarchy.expect
deleted file mode 100644
index 3ec82b1..0000000
--- a/pkg/front_end/testcases/general/async_nested.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Node:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Node.toSimpleString
-    Node.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Node.name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Node.nested
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/async_nested.dart.textual_outline.expect b/pkg/front_end/testcases/general/async_nested.dart.textual_outline.expect
index 01c5288..62c9c4d 100644
--- a/pkg/front_end/testcases/general/async_nested.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/async_nested.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 void main() async {}
diff --git a/pkg/front_end/testcases/general/async_nested.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/async_nested.dart.textual_outline_modelled.expect
index 8be533c..d47e785 100644
--- a/pkg/front_end/testcases/general/async_nested.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/async_nested.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class Node {
diff --git a/pkg/front_end/testcases/general/async_nested.dart.strong.expect b/pkg/front_end/testcases/general/async_nested.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/async_nested.dart.strong.expect
rename to pkg/front_end/testcases/general/async_nested.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/async_nested.dart.outline.expect b/pkg/front_end/testcases/general/async_nested.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/async_nested.dart.outline.expect
rename to pkg/front_end/testcases/general/async_nested.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/async_nested.dart.strong.transformed.expect b/pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/async_nested.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/async_nested.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/await.dart b/pkg/front_end/testcases/general/await.dart
index 03f2945..a34fe00 100644
--- a/pkg/front_end/testcases/general/await.dart
+++ b/pkg/front_end/testcases/general/await.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() async {
   print(await "Hello, World!");
 }
diff --git a/pkg/front_end/testcases/general/await.dart.textual_outline.expect b/pkg/front_end/testcases/general/await.dart.textual_outline.expect
index 386f405..ff8d120 100644
--- a/pkg/front_end/testcases/general/await.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/await.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/general/await.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/await.dart.textual_outline_modelled.expect
index 386f405..ff8d120 100644
--- a/pkg/front_end/testcases/general/await.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/await.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/general/await.dart.strong.expect b/pkg/front_end/testcases/general/await.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await.dart.strong.expect
rename to pkg/front_end/testcases/general/await.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/await.dart.outline.expect b/pkg/front_end/testcases/general/await.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await.dart.outline.expect
rename to pkg/front_end/testcases/general/await.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/await.dart.strong.transformed.expect b/pkg/front_end/testcases/general/await.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/await.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/await_complex.dart b/pkg/front_end/testcases/general/await_complex.dart
index 4cae35f..8046619 100644
--- a/pkg/front_end/testcases/general/await_complex.dart
+++ b/pkg/front_end/testcases/general/await_complex.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2014, 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=2.9
 // This test was adapted from language_2/await_test
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/general/await_complex.dart.textual_outline.expect b/pkg/front_end/testcases/general/await_complex.dart.textual_outline.expect
index 16785e4..77158ae 100644
--- a/pkg/front_end/testcases/general/await_complex.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/await_complex.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 int globalVariable = 1;
diff --git a/pkg/front_end/testcases/general/await_complex.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/await_complex.dart.textual_outline_modelled.expect
index ddaab5f..7ef3245 100644
--- a/pkg/front_end/testcases/general/await_complex.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/await_complex.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 FutureOr<T> future<T>(T value) async => value;
diff --git a/pkg/front_end/testcases/general/await_complex.dart.strong.expect b/pkg/front_end/testcases/general/await_complex.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_complex.dart.strong.expect
rename to pkg/front_end/testcases/general/await_complex.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/await_complex.dart.outline.expect b/pkg/front_end/testcases/general/await_complex.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_complex.dart.outline.expect
rename to pkg/front_end/testcases/general/await_complex.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/await_complex.dart.strong.transformed.expect b/pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_complex.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/await_complex.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart b/pkg/front_end/testcases/general/await_in_cascade.dart
index 47cc183..c73b599 100644
--- a/pkg/front_end/testcases/general/await_in_cascade.dart
+++ b/pkg/front_end/testcases/general/await_in_cascade.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 // This test was adapted from language_2/await_in_cascade_  test
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.textual_outline.expect b/pkg/front_end/testcases/general/await_in_cascade.dart.textual_outline.expect
index 543028a..136cd51 100644
--- a/pkg/front_end/testcases/general/await_in_cascade.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/await_in_cascade.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class C {
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/await_in_cascade.dart.textual_outline_modelled.expect
index 305a56e..97ba6b5 100644
--- a/pkg/front_end/testcases/general/await_in_cascade.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/await_in_cascade.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class C {
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.strong.expect b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_in_cascade.dart.strong.expect
rename to pkg/front_end/testcases/general/await_in_cascade.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.outline.expect b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_in_cascade.dart.outline.expect
rename to pkg/front_end/testcases/general/await_in_cascade.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_in_cascade.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/await_in_cascade.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart b/pkg/front_end/testcases/general/await_in_non_async.dart
index 7cbf642..43361b4 100644
--- a/pkg/front_end/testcases/general/await_in_non_async.dart
+++ b/pkg/front_end/testcases/general/await_in_non_async.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 main() {
   foo();
 }
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart.textual_outline.expect b/pkg/front_end/testcases/general/await_in_non_async.dart.textual_outline.expect
index afc9a41..0097a33 100644
--- a/pkg/front_end/testcases/general/await_in_non_async.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/await_in_non_async.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 foo() {}
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/await_in_non_async.dart.textual_outline_modelled.expect
index d530fa8..822c313 100644
--- a/pkg/front_end/testcases/general/await_in_non_async.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/await_in_non_async.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 foo() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart.strong.expect b/pkg/front_end/testcases/general/await_in_non_async.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_in_non_async.dart.strong.expect
rename to pkg/front_end/testcases/general/await_in_non_async.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart.outline.expect b/pkg/front_end/testcases/general/await_in_non_async.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_in_non_async.dart.outline.expect
rename to pkg/front_end/testcases/general/await_in_non_async.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart.strong.transformed.expect b/pkg/front_end/testcases/general/await_in_non_async.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/await_in_non_async.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/await_in_non_async.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bad_setter_abstract.dart b/pkg/front_end/testcases/general/bad_setter_abstract.dart
index 5cfd41b..429614e 100644
--- a/pkg/front_end/testcases/general/bad_setter_abstract.dart
+++ b/pkg/front_end/testcases/general/bad_setter_abstract.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 set b();
 
 set c(x, y);
diff --git a/pkg/front_end/testcases/general/bad_setter_abstract.dart.hierarchy.expect b/pkg/front_end/testcases/general/bad_setter_abstract.dart.hierarchy.expect
deleted file mode 100644
index 2c47c23..0000000
--- a/pkg/front_end/testcases/general/bad_setter_abstract.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
-    A.d
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.a
-    B.d
diff --git a/pkg/front_end/testcases/general/bad_setter_abstract.dart.textual_outline.expect b/pkg/front_end/testcases/general/bad_setter_abstract.dart.textual_outline.expect
index 679a54a..3fd780c 100644
--- a/pkg/front_end/testcases/general/bad_setter_abstract.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bad_setter_abstract.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 set b();
 set c(x, y);
 class A {
diff --git a/pkg/front_end/testcases/general/bad_setter_abstract.dart.strong.expect b/pkg/front_end/testcases/general/bad_setter_abstract.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_setter_abstract.dart.strong.expect
rename to pkg/front_end/testcases/general/bad_setter_abstract.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bad_setter_abstract.dart.outline.expect b/pkg/front_end/testcases/general/bad_setter_abstract.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_setter_abstract.dart.outline.expect
rename to pkg/front_end/testcases/general/bad_setter_abstract.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bad_setter_abstract.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bad_setter_abstract.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_setter_abstract.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bad_setter_abstract.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bad_store.dart b/pkg/front_end/testcases/general/bad_store.dart
index b1de494..9e0174a 100644
--- a/pkg/front_end/testcases/general/bad_store.dart
+++ b/pkg/front_end/testcases/general/bad_store.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Foo {
   var field;
 }
diff --git a/pkg/front_end/testcases/general/bad_store.dart.hierarchy.expect b/pkg/front_end/testcases/general/bad_store.dart.hierarchy.expect
deleted file mode 100644
index 1c6019a..0000000
--- a/pkg/front_end/testcases/general/bad_store.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.field
diff --git a/pkg/front_end/testcases/general/bad_store.dart.textual_outline.expect b/pkg/front_end/testcases/general/bad_store.dart.textual_outline.expect
index 1749c06..68aecce 100644
--- a/pkg/front_end/testcases/general/bad_store.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bad_store.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   var field;
 }
diff --git a/pkg/front_end/testcases/general/bad_store.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bad_store.dart.textual_outline_modelled.expect
index 1745116..6ff3adf 100644
--- a/pkg/front_end/testcases/general/bad_store.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bad_store.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   var field;
 }
diff --git a/pkg/front_end/testcases/general/bad_store.dart.strong.expect b/pkg/front_end/testcases/general/bad_store.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_store.dart.strong.expect
rename to pkg/front_end/testcases/general/bad_store.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bad_store.dart.outline.expect b/pkg/front_end/testcases/general/bad_store.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_store.dart.outline.expect
rename to pkg/front_end/testcases/general/bad_store.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bad_store.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bad_store.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_store.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bad_store.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart
index 44f446d..1f679a4 100644
--- a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart
+++ b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 typedef ContravariantUse<T> = Function(T);
 
 typedef InvariantUse<T> = T Function(T);
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.hierarchy.expect b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.hierarchy.expect
deleted file mode 100644
index 060d1ab..0000000
--- a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.hierarchy.expect
+++ /dev/null
@@ -1,917 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Empty:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bi:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Cc:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ci:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Dc:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Di:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Ec:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Ei:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-      -> _F&Object&A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fc:
-  superclasses:
-    Object
-      -> _Fc&Object&A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fi:
-  superclasses:
-    Object
-      -> _Fi&Object&A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A with Empty:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-G:
-  Longest path to Object: 3
-  superclasses:
-    A
-      -> _G&A&Empty<T>
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A with Empty:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gc:
-  Longest path to Object: 3
-  superclasses:
-    A
-      -> _Gc&A&Empty<T>
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A with Empty:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gi:
-  Longest path to Object: 3
-  superclasses:
-    A
-      -> _Gi&A&Empty<T>
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Hff:
-  superclasses:
-    Object
-      -> A<(null) -> null>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hfc:
-  superclasses:
-    Object
-      -> A<(null) -> null>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hcf:
-  superclasses:
-    Object
-      -> A<ContravariantUse<(null) -> null>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hcc:
-  superclasses:
-    Object
-      -> A<ContravariantUse<ContravariantUse<T>>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hii:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Iafc:
-  superclasses:
-    Object
-      -> A<A<(null) -> null>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Iacf:
-  superclasses:
-    Object
-      -> A<A<ContravariantUse<(null) -> null>>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ifac:
-  superclasses:
-    Object
-      -> A<(null) -> null>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ifca:
-  superclasses:
-    Object
-      -> A<(null) -> null>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Icaf:
-  superclasses:
-    Object
-      -> A<ContravariantUse<A<(null) -> null>>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Icfa:
-  superclasses:
-    Object
-      -> A<ContravariantUse<(null) -> null>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jfff:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jffc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jfcf:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jfcc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jcff:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jcfc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jccf:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jccc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.textual_outline.expect b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.textual_outline.expect
index c9ae869..298a790 100644
--- a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef ContravariantUse<T> = Function(T);
 typedef InvariantUse<T> = T Function(T);
 
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.textual_outline_modelled.expect
index 2b6edb9..e2c9c7c 100644
--- a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 class B<T> extends A<Function(T)> {}
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.strong.expect b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.strong.expect
rename to pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.outline.expect b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.outline.expect
rename to pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bad_type_variable_uses_in_supertypes.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart
index a5163bb..4d668a5 100644
--- a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart
+++ b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This testcase checks an implementation detail in the bounds checking
 // mechanism.  Here String passed into bar should be checked against the bound
 // that depends on the result of type inference for expression `B.foo()`.
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.hierarchy.expect
deleted file mode 100644
index 91f36e2..0000000
--- a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.textual_outline.expect
index 1b987ae..bfd899b 100644
--- a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {
   bar<Y extends X>() => null;
 }
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.textual_outline_modelled.expect
index da490d2..2568052 100644
--- a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 baz() {}
 
 class A<X> {
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.strong.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.strong.expect
rename to pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.outline.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.outline.expect
rename to pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart
index 955eb3d..a0d29c8 100644
--- a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart
+++ b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2021, 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=2.9
 class A<X extends String> {}
 
 typedef F = Function<Z extends A<Y>>() Function<Y extends num>();
diff --git a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.textual_outline.expect b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.textual_outline.expect
index 0005089..5b7ac34a 100644
--- a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends String> {}
 
 typedef F = Function<Z extends A<Y>>() Function<Y extends num>();
diff --git a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.textual_outline_modelled.expect
index 66a369f..14c6c33 100644
--- a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends String> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.strong.expect b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bounds_check_in_typedef.dart.strong.expect
rename to pkg/front_end/testcases/general/bounds_check_in_typedef.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.outline.expect b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bounds_check_in_typedef.dart.outline.expect
rename to pkg/front_end/testcases/general/bounds_check_in_typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bounds_check_in_typedef.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bounds_check_in_typedef.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bounds_check_in_typedef.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug21938.dart b/pkg/front_end/testcases/general/bug21938.dart
index b6e851b..9783d24 100644
--- a/pkg/front_end/testcases/general/bug21938.dart
+++ b/pkg/front_end/testcases/general/bug21938.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 test() {
   Object x;
   Function f;
diff --git a/pkg/front_end/testcases/general/bug21938.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug21938.dart.textual_outline.expect
index ec6b9e0..001308b 100644
--- a/pkg/front_end/testcases/general/bug21938.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug21938.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 test() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/bug21938.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug21938.dart.textual_outline_modelled.expect
index f67dbb0..38df08d 100644
--- a/pkg/front_end/testcases/general/bug21938.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug21938.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 test() {}
diff --git a/pkg/front_end/testcases/general/bug21938.dart.strong.expect b/pkg/front_end/testcases/general/bug21938.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug21938.dart.strong.expect
rename to pkg/front_end/testcases/general/bug21938.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug21938.dart.outline.expect b/pkg/front_end/testcases/general/bug21938.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug21938.dart.outline.expect
copy to pkg/front_end/testcases/general/bug21938.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug30695.dart b/pkg/front_end/testcases/general/bug30695.dart
index 078fdb1..278372a 100644
--- a/pkg/front_end/testcases/general/bug30695.dart
+++ b/pkg/front_end/testcases/general/bug30695.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2013, 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=2.9
 class A {
   var foo = 42;
 }
diff --git a/pkg/front_end/testcases/general/bug30695.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug30695.dart.hierarchy.expect
deleted file mode 100644
index 94fa588..0000000
--- a/pkg/front_end/testcases/general/bug30695.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
diff --git a/pkg/front_end/testcases/general/bug30695.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug30695.dart.textual_outline.expect
index 8f35078..06d774d 100644
--- a/pkg/front_end/testcases/general/bug30695.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug30695.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var foo = 42;
 }
diff --git a/pkg/front_end/testcases/general/bug30695.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug30695.dart.textual_outline_modelled.expect
index 8f35078..06d774d 100644
--- a/pkg/front_end/testcases/general/bug30695.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug30695.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var foo = 42;
 }
diff --git a/pkg/front_end/testcases/general/bug30695.dart.strong.expect b/pkg/front_end/testcases/general/bug30695.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug30695.dart.strong.expect
rename to pkg/front_end/testcases/general/bug30695.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug30695.dart.outline.expect b/pkg/front_end/testcases/general/bug30695.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug30695.dart.outline.expect
rename to pkg/front_end/testcases/general/bug30695.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug31124.dart b/pkg/front_end/testcases/general/bug31124.dart
index 6920fe1..be63d7d 100644
--- a/pkg/front_end/testcases/general/bug31124.dart
+++ b/pkg/front_end/testcases/general/bug31124.dart
@@ -1 +1,2 @@
+// @dart=2.9
 var a = () => 'b';a();
diff --git a/pkg/front_end/testcases/general/bug31124.dart.outline.expect b/pkg/front_end/testcases/general/bug31124.dart.outline.expect
deleted file mode 100644
index 7ac93d0..0000000
--- a/pkg/front_end/testcases/general/bug31124.dart.outline.expect
+++ /dev/null
@@ -1,20 +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;
-import "dart:core" as core;
-
-static field () →* core::String* a;
diff --git a/pkg/front_end/testcases/general/bug31124.dart.strong.expect b/pkg/front_end/testcases/general/bug31124.dart.strong.expect
deleted file mode 100644
index 7ac93d0..0000000
--- a/pkg/front_end/testcases/general/bug31124.dart.strong.expect
+++ /dev/null
@@ -1,20 +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;
-import "dart:core" as core;
-
-static field () →* core::String* a;
diff --git a/pkg/front_end/testcases/general/bug31124.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug31124.dart.strong.transformed.expect
deleted file mode 100644
index 7ac93d0..0000000
--- a/pkg/front_end/testcases/general/bug31124.dart.strong.transformed.expect
+++ /dev/null
@@ -1,20 +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;
-import "dart:core" as core;
-
-static field () →* core::String* a;
diff --git a/pkg/front_end/testcases/general/bug31124.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug31124.dart.textual_outline.expect
index 331dc8b..0a7830f 100644
--- a/pkg/front_end/testcases/general/bug31124.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug31124.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 var a = () => 'b';
 a();
diff --git a/pkg/front_end/testcases/general/bug31124.dart.weak.expect b/pkg/front_end/testcases/general/bug31124.dart.weak.expect
new file mode 100644
index 0000000..05d5b71
--- /dev/null
+++ b/pkg/front_end/testcases/general/bug31124.dart.weak.expect
@@ -0,0 +1,20 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/bug31124.dart:2:22: Error: Expected a function body or '=>'.
+// Try adding {}.
+// var a = () => 'b';a();
+//                      ^
+//
+// pkg/front_end/testcases/general/bug31124.dart:2:19: Error: 'a' is already declared in this scope.
+// var a = () => 'b';a();
+//                   ^
+// pkg/front_end/testcases/general/bug31124.dart:2:5: Context: Previous declaration of 'a'.
+// var a = () => 'b';a();
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field () →* core::String* a;
diff --git a/pkg/front_end/testcases/general/bug31124.dart.weak.outline.expect b/pkg/front_end/testcases/general/bug31124.dart.weak.outline.expect
new file mode 100644
index 0000000..05d5b71
--- /dev/null
+++ b/pkg/front_end/testcases/general/bug31124.dart.weak.outline.expect
@@ -0,0 +1,20 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/bug31124.dart:2:22: Error: Expected a function body or '=>'.
+// Try adding {}.
+// var a = () => 'b';a();
+//                      ^
+//
+// pkg/front_end/testcases/general/bug31124.dart:2:19: Error: 'a' is already declared in this scope.
+// var a = () => 'b';a();
+//                   ^
+// pkg/front_end/testcases/general/bug31124.dart:2:5: Context: Previous declaration of 'a'.
+// var a = () => 'b';a();
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field () →* core::String* a;
diff --git a/pkg/front_end/testcases/general/bug31124.dart.weak.transformed.expect b/pkg/front_end/testcases/general/bug31124.dart.weak.transformed.expect
new file mode 100644
index 0000000..05d5b71
--- /dev/null
+++ b/pkg/front_end/testcases/general/bug31124.dart.weak.transformed.expect
@@ -0,0 +1,20 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/bug31124.dart:2:22: Error: Expected a function body or '=>'.
+// Try adding {}.
+// var a = () => 'b';a();
+//                      ^
+//
+// pkg/front_end/testcases/general/bug31124.dart:2:19: Error: 'a' is already declared in this scope.
+// var a = () => 'b';a();
+//                   ^
+// pkg/front_end/testcases/general/bug31124.dart:2:5: Context: Previous declaration of 'a'.
+// var a = () => 'b';a();
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field () →* core::String* a;
diff --git a/pkg/front_end/testcases/general/bug32414a.dart b/pkg/front_end/testcases/general/bug32414a.dart
index 7313a04..5f453b0 100644
--- a/pkg/front_end/testcases/general/bug32414a.dart
+++ b/pkg/front_end/testcases/general/bug32414a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 
 void test() {
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug32414a.dart.textual_outline.expect
index 41786bb..c5aabb4 100644
--- a/pkg/front_end/testcases/general/bug32414a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug32414a.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 void test() {}
 void main() {}
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug32414a.dart.textual_outline_modelled.expect
index 0e0980f..d4e1593 100644
--- a/pkg/front_end/testcases/general/bug32414a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug32414a.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 void main() {}
 void test() {}
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.strong.expect b/pkg/front_end/testcases/general/bug32414a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32414a.dart.strong.expect
rename to pkg/front_end/testcases/general/bug32414a.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.outline.expect b/pkg/front_end/testcases/general/bug32414a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32414a.dart.outline.expect
rename to pkg/front_end/testcases/general/bug32414a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32414a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug32414a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug32414b.dart b/pkg/front_end/testcases/general/bug32414b.dart
index b1cff49..e1be246 100644
--- a/pkg/front_end/testcases/general/bug32414b.dart
+++ b/pkg/front_end/testcases/general/bug32414b.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 
 void test() {
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.outline.expect b/pkg/front_end/testcases/general/bug32414b.dart.outline.expect
deleted file mode 100644
index a440da0..0000000
--- a/pkg/front_end/testcases/general/bug32414b.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug32414b.dart.textual_outline.expect
index 41786bb..c5aabb4 100644
--- a/pkg/front_end/testcases/general/bug32414b.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug32414b.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 void test() {}
 void main() {}
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug32414b.dart.textual_outline_modelled.expect
index 0e0980f..d4e1593 100644
--- a/pkg/front_end/testcases/general/bug32414b.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug32414b.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 void main() {}
 void test() {}
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.strong.expect b/pkg/front_end/testcases/general/bug32414b.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32414b.dart.strong.expect
rename to pkg/front_end/testcases/general/bug32414b.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.outline.expect b/pkg/front_end/testcases/general/bug32414b.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug32414a.dart.outline.expect
copy to pkg/front_end/testcases/general/bug32414b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug32414b.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug32414b.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32414b.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug32414b.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug32426.dart b/pkg/front_end/testcases/general/bug32426.dart
index cb70b9b..8a5658a 100644
--- a/pkg/front_end/testcases/general/bug32426.dart
+++ b/pkg/front_end/testcases/general/bug32426.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 abstract class I {
   void call();
 }
diff --git a/pkg/front_end/testcases/general/bug32426.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug32426.dart.hierarchy.expect
deleted file mode 100644
index b816c89..0000000
--- a/pkg/front_end/testcases/general/bug32426.dart.hierarchy.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    I.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/bug32426.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug32426.dart.textual_outline.expect
index 9a90eda..ce9d389 100644
--- a/pkg/front_end/testcases/general/bug32426.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug32426.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   void call();
 }
diff --git a/pkg/front_end/testcases/general/bug32426.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug32426.dart.textual_outline_modelled.expect
index 9a90eda..ce9d389 100644
--- a/pkg/front_end/testcases/general/bug32426.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug32426.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   void call();
 }
diff --git a/pkg/front_end/testcases/general/bug32426.dart.strong.expect b/pkg/front_end/testcases/general/bug32426.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32426.dart.strong.expect
rename to pkg/front_end/testcases/general/bug32426.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug32426.dart.outline.expect b/pkg/front_end/testcases/general/bug32426.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32426.dart.outline.expect
rename to pkg/front_end/testcases/general/bug32426.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug32426.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug32426.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32426.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug32426.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug32629.dart b/pkg/front_end/testcases/general/bug32629.dart
index 95bb9e2..fc54cf1 100644
--- a/pkg/front_end/testcases/general/bug32629.dart
+++ b/pkg/front_end/testcases/general/bug32629.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   dynamic call(dynamic a, dynamic b) {
     return a;
diff --git a/pkg/front_end/testcases/general/bug32629.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug32629.dart.hierarchy.expect
deleted file mode 100644
index 9aca183..0000000
--- a/pkg/front_end/testcases/general/bug32629.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/bug32629.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug32629.dart.textual_outline.expect
index 79a8b78..a3c767a 100644
--- a/pkg/front_end/testcases/general/bug32629.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug32629.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic call(dynamic a, dynamic b) {}
 }
diff --git a/pkg/front_end/testcases/general/bug32629.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug32629.dart.textual_outline_modelled.expect
index 499e1c6..1a9eaba 100644
--- a/pkg/front_end/testcases/general/bug32629.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug32629.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic call(dynamic a, dynamic b) {}
 }
diff --git a/pkg/front_end/testcases/general/bug32629.dart.strong.expect b/pkg/front_end/testcases/general/bug32629.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32629.dart.strong.expect
rename to pkg/front_end/testcases/general/bug32629.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug32629.dart.outline.expect b/pkg/front_end/testcases/general/bug32629.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32629.dart.outline.expect
rename to pkg/front_end/testcases/general/bug32629.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug32629.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32629.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug32629.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug32866.dart b/pkg/front_end/testcases/general/bug32866.dart
index 4c97c86..8c1bb4c 100644
--- a/pkg/front_end/testcases/general/bug32866.dart
+++ b/pkg/front_end/testcases/general/bug32866.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // Regression test that top-level inference correctly handles dependencies from
 // top-level field -> initializing formal -> field that overrides a getter.
 
diff --git a/pkg/front_end/testcases/general/bug32866.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug32866.dart.hierarchy.expect
deleted file mode 100644
index ec9f23e..0000000
--- a/pkg/front_end/testcases/general/bug32866.dart.hierarchy.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/bug32866.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug32866.dart.textual_outline.expect
index 8207658..7d02dab 100644
--- a/pkg/front_end/testcases/general/bug32866.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug32866.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class B {
   String get f;
 }
diff --git a/pkg/front_end/testcases/general/bug32866.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug32866.dart.textual_outline_modelled.expect
index 9acbfae..165ed26 100644
--- a/pkg/front_end/testcases/general/bug32866.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug32866.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class B {
   String get f;
 }
diff --git a/pkg/front_end/testcases/general/bug32866.dart.strong.expect b/pkg/front_end/testcases/general/bug32866.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32866.dart.strong.expect
rename to pkg/front_end/testcases/general/bug32866.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug32866.dart.outline.expect b/pkg/front_end/testcases/general/bug32866.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32866.dart.outline.expect
rename to pkg/front_end/testcases/general/bug32866.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug32866.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug32866.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug32866.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug32866.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug33099.dart b/pkg/front_end/testcases/general/bug33099.dart
index 25fd24e..a93ee35 100644
--- a/pkg/front_end/testcases/general/bug33099.dart
+++ b/pkg/front_end/testcases/general/bug33099.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import 'dart:mirrors';
 
 const _FailingTest failingTest = const _FailingTest();
diff --git a/pkg/front_end/testcases/general/bug33099.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug33099.dart.hierarchy.expect
deleted file mode 100644
index 443af04..0000000
--- a/pkg/front_end/testcases/general/bug33099.dart.hierarchy.expect
+++ /dev/null
@@ -1,119 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_FailingTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-MyTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with MyTest:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: MyTest
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-MyTest2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _MyTest2&Object&MyTest
-  interfaces: MyTest
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/bug33099.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug33099.dart.textual_outline.expect
index dfdc73b..cb1228a 100644
--- a/pkg/front_end/testcases/general/bug33099.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug33099.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:mirrors';
 
 const _FailingTest failingTest = const _FailingTest();
diff --git a/pkg/front_end/testcases/general/bug33099.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug33099.dart.textual_outline_modelled.expect
index 4aa3b4d..ebfba93 100644
--- a/pkg/front_end/testcases/general/bug33099.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug33099.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:mirrors';
 
 bool _hasAnnotationInstance(DeclarationMirror declaration, instance) =>
diff --git a/pkg/front_end/testcases/general/bug33099.dart.strong.expect b/pkg/front_end/testcases/general/bug33099.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33099.dart.strong.expect
rename to pkg/front_end/testcases/general/bug33099.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug33099.dart.outline.expect b/pkg/front_end/testcases/general/bug33099.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33099.dart.outline.expect
rename to pkg/front_end/testcases/general/bug33099.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug33099.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug33099.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33099.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug33099.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug33196.dart b/pkg/front_end/testcases/general/bug33196.dart
index e2f01f1..bdd0891 100644
--- a/pkg/front_end/testcases/general/bug33196.dart
+++ b/pkg/front_end/testcases/general/bug33196.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import 'dart:async';
 
 main() {
diff --git a/pkg/front_end/testcases/general/bug33196.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug33196.dart.textual_outline.expect
index 527244a..971ae6d 100644
--- a/pkg/front_end/testcases/general/bug33196.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug33196.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/bug33196.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug33196.dart.textual_outline_modelled.expect
index 66d5579..19764fd 100644
--- a/pkg/front_end/testcases/general/bug33196.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug33196.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 FutureOr<String> returnsString() async {}
diff --git a/pkg/front_end/testcases/general/bug33196.dart.strong.expect b/pkg/front_end/testcases/general/bug33196.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33196.dart.strong.expect
rename to pkg/front_end/testcases/general/bug33196.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug33196.dart.outline.expect b/pkg/front_end/testcases/general/bug33196.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33196.dart.outline.expect
rename to pkg/front_end/testcases/general/bug33196.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug33196.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33196.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug33196.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug33206.dart b/pkg/front_end/testcases/general/bug33206.dart
index 79892c5..d5ca7d7 100644
--- a/pkg/front_end/testcases/general/bug33206.dart
+++ b/pkg/front_end/testcases/general/bug33206.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import 'dart:async';
 
 class X {
diff --git a/pkg/front_end/testcases/general/bug33206.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug33206.dart.hierarchy.expect
deleted file mode 100644
index 84bd4d6..0000000
--- a/pkg/front_end/testcases/general/bug33206.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    X.y
-    X.toString
-    X.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Y.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/bug33206.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug33206.dart.textual_outline.expect
index 1d7feb68..26f532e 100644
--- a/pkg/front_end/testcases/general/bug33206.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug33206.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class X {
diff --git a/pkg/front_end/testcases/general/bug33206.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug33206.dart.textual_outline_modelled.expect
index d229418..f3605aa 100644
--- a/pkg/front_end/testcases/general/bug33206.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug33206.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 Future<List<Object>> f1() async {}
diff --git a/pkg/front_end/testcases/general/bug33206.dart.strong.expect b/pkg/front_end/testcases/general/bug33206.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33206.dart.strong.expect
rename to pkg/front_end/testcases/general/bug33206.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug33206.dart.outline.expect b/pkg/front_end/testcases/general/bug33206.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33206.dart.outline.expect
rename to pkg/front_end/testcases/general/bug33206.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug33206.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33206.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug33206.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug33298.dart b/pkg/front_end/testcases/general/bug33298.dart
index e388026..971339f 100644
--- a/pkg/front_end/testcases/general/bug33298.dart
+++ b/pkg/front_end/testcases/general/bug33298.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   String call(String s) => '$s$s';
 }
diff --git a/pkg/front_end/testcases/general/bug33298.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug33298.dart.hierarchy.expect
deleted file mode 100644
index 874d1b7..0000000
--- a/pkg/front_end/testcases/general/bug33298.dart.hierarchy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/bug33298.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug33298.dart.textual_outline.expect
index e2157d3..f4412c3 100644
--- a/pkg/front_end/testcases/general/bug33298.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug33298.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   String call(String s) => '$s$s';
 }
diff --git a/pkg/front_end/testcases/general/bug33298.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug33298.dart.textual_outline_modelled.expect
index 1bf1c4a..db93bd0 100644
--- a/pkg/front_end/testcases/general/bug33298.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug33298.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   String call(String s) => '$s$s';
 }
diff --git a/pkg/front_end/testcases/general/bug33298.dart.strong.expect b/pkg/front_end/testcases/general/bug33298.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33298.dart.strong.expect
rename to pkg/front_end/testcases/general/bug33298.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug33298.dart.outline.expect b/pkg/front_end/testcases/general/bug33298.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33298.dart.outline.expect
rename to pkg/front_end/testcases/general/bug33298.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug33298.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug33298.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug33298.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug34511.dart b/pkg/front_end/testcases/general/bug34511.dart
index d8ad848..c231ec0 100644
--- a/pkg/front_end/testcases/general/bug34511.dart
+++ b/pkg/front_end/testcases/general/bug34511.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // See http://dartbug.com/34511 for details.
 
 class A<X> {}
diff --git a/pkg/front_end/testcases/general/bug34511.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug34511.dart.hierarchy.expect
deleted file mode 100644
index 57d451c..0000000
--- a/pkg/front_end/testcases/general/bug34511.dart.hierarchy.expect
+++ /dev/null
@@ -1,97 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with A<() -> Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A<() -> Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _B&Object&A<Z>
-  interfaces: A<() -> Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/bug34511.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug34511.dart.textual_outline.expect
index d85c73d..b65d36d 100644
--- a/pkg/front_end/testcases/general/bug34511.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug34511.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class B<Z> extends Object with A<Z Function()> {}
diff --git a/pkg/front_end/testcases/general/bug34511.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug34511.dart.textual_outline_modelled.expect
index d85c73d..b65d36d 100644
--- a/pkg/front_end/testcases/general/bug34511.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug34511.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class B<Z> extends Object with A<Z Function()> {}
diff --git a/pkg/front_end/testcases/general/bug34511.dart.strong.expect b/pkg/front_end/testcases/general/bug34511.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug34511.dart.strong.expect
rename to pkg/front_end/testcases/general/bug34511.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug34511.dart.outline.expect b/pkg/front_end/testcases/general/bug34511.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug34511.dart.outline.expect
rename to pkg/front_end/testcases/general/bug34511.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug34511.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug34511.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug34511.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug34511.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug35470.dart b/pkg/front_end/testcases/general/bug35470.dart
index 9d8d9d9..ac370a6 100644
--- a/pkg/front_end/testcases/general/bug35470.dart
+++ b/pkg/front_end/testcases/general/bug35470.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A<X> {
   foo<Y extends X>() {}
 }
diff --git a/pkg/front_end/testcases/general/bug35470.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug35470.dart.hierarchy.expect
deleted file mode 100644
index be0da75..0000000
--- a/pkg/front_end/testcases/general/bug35470.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<dynamic>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/bug35470.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug35470.dart.textual_outline.expect
index 880e7ff..199687c 100644
--- a/pkg/front_end/testcases/general/bug35470.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug35470.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {
   foo<Y extends X>() {}
 }
diff --git a/pkg/front_end/testcases/general/bug35470.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug35470.dart.textual_outline_modelled.expect
index ee614fb..41faf2e 100644
--- a/pkg/front_end/testcases/general/bug35470.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug35470.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bar(B b) {}
 
 class A<X> {
diff --git a/pkg/front_end/testcases/general/bug35470.dart.strong.expect b/pkg/front_end/testcases/general/bug35470.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug35470.dart.strong.expect
rename to pkg/front_end/testcases/general/bug35470.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug35470.dart.outline.expect b/pkg/front_end/testcases/general/bug35470.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug35470.dart.outline.expect
rename to pkg/front_end/testcases/general/bug35470.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug35470.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug35470.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug35470.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug35470.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/bug37476.dart b/pkg/front_end/testcases/general/bug37476.dart
index 53a6f0d..76686a5 100644
--- a/pkg/front_end/testcases/general/bug37476.dart
+++ b/pkg/front_end/testcases/general/bug37476.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 /*@testedFeatures=checks*/
 
 class A<T extends num> {
diff --git a/pkg/front_end/testcases/general/bug37476.dart.hierarchy.expect b/pkg/front_end/testcases/general/bug37476.dart.hierarchy.expect
deleted file mode 100644
index 2f145ca..0000000
--- a/pkg/front_end/testcases/general/bug37476.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/bug37476.dart.textual_outline.expect b/pkg/front_end/testcases/general/bug37476.dart.textual_outline.expect
index 5f90d7d..d50f30c 100644
--- a/pkg/front_end/testcases/general/bug37476.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/bug37476.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {
   void Function<S extends T>(S x) foo() {}
 }
diff --git a/pkg/front_end/testcases/general/bug37476.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/bug37476.dart.textual_outline_modelled.expect
index 8cbb59f..5503dfb 100644
--- a/pkg/front_end/testcases/general/bug37476.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/bug37476.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 A<num> a = new A<int>();
 B<num> b = new B<int>();
 
diff --git a/pkg/front_end/testcases/general/bug37476.dart.strong.expect b/pkg/front_end/testcases/general/bug37476.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug37476.dart.strong.expect
rename to pkg/front_end/testcases/general/bug37476.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug37476.dart.outline.expect b/pkg/front_end/testcases/general/bug37476.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug37476.dart.outline.expect
rename to pkg/front_end/testcases/general/bug37476.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/bug37476.dart.strong.transformed.expect b/pkg/front_end/testcases/general/bug37476.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug37476.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/bug37476.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/build_issue_2688.dart b/pkg/front_end/testcases/general/build_issue_2688.dart
index 016f457..45272cb 100644
--- a/pkg/front_end/testcases/general/build_issue_2688.dart
+++ b/pkg/front_end/testcases/general/build_issue_2688.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // Regression test for https://github.com/dart-lang/build/issues/2688
 
 mixin M0 {
diff --git a/pkg/front_end/testcases/general/build_issue_2688.dart.textual_outline.expect b/pkg/front_end/testcases/general/build_issue_2688.dart.textual_outline.expect
index ed52349..e5d14fd 100644
--- a/pkg/front_end/testcases/general/build_issue_2688.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/build_issue_2688.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 mixin M0 {
   int get property;
 }
diff --git a/pkg/front_end/testcases/general/build_issue_2688.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/build_issue_2688.dart.textual_outline_modelled.expect
index d2ec562..b6bd96c 100644
--- a/pkg/front_end/testcases/general/build_issue_2688.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/build_issue_2688.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Super {
   int get property;
 }
diff --git a/pkg/front_end/testcases/general/build_issue_2688.dart.strong.expect b/pkg/front_end/testcases/general/build_issue_2688.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/build_issue_2688.dart.strong.expect
rename to pkg/front_end/testcases/general/build_issue_2688.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/build_issue_2688.dart.outline.expect b/pkg/front_end/testcases/general/build_issue_2688.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/build_issue_2688.dart.outline.expect
rename to pkg/front_end/testcases/general/build_issue_2688.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/build_issue_2688.dart.strong.transformed.expect b/pkg/front_end/testcases/general/build_issue_2688.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/build_issue_2688.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/build_issue_2688.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/call.dart b/pkg/front_end/testcases/general/call.dart
index 4152cd8..57128a3 100644
--- a/pkg/front_end/testcases/general/call.dart
+++ b/pkg/front_end/testcases/general/call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Callable {
   call(x) {
     return "string";
diff --git a/pkg/front_end/testcases/general/call.dart.hierarchy.expect b/pkg/front_end/testcases/general/call.dart.hierarchy.expect
deleted file mode 100644
index b10a126..0000000
--- a/pkg/front_end/testcases/general/call.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Callable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Callable.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-CallableGetter:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    CallableGetter.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/call.dart.textual_outline.expect b/pkg/front_end/testcases/general/call.dart.textual_outline.expect
index f9a3aa0..04861fa 100644
--- a/pkg/front_end/testcases/general/call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Callable {
   call(x) {}
 }
diff --git a/pkg/front_end/testcases/general/call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/call.dart.textual_outline_modelled.expect
index 2eca437..ae92de7 100644
--- a/pkg/front_end/testcases/general/call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Callable {
   call(x) {}
 }
diff --git a/pkg/front_end/testcases/general/call.dart.strong.expect b/pkg/front_end/testcases/general/call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/call.dart.strong.expect
rename to pkg/front_end/testcases/general/call.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/call.dart.outline.expect b/pkg/front_end/testcases/general/call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/call.dart.outline.expect
rename to pkg/front_end/testcases/general/call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart b/pkg/front_end/testcases/general/callable_type_variable.dart
index 3fda2e4..85ef462 100644
--- a/pkg/front_end/testcases/general/callable_type_variable.dart
+++ b/pkg/front_end/testcases/general/callable_type_variable.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Class1<T extends Function> {
   T field;
 
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart.textual_outline.expect b/pkg/front_end/testcases/general/callable_type_variable.dart.textual_outline.expect
index d54964e..774edf2 100644
--- a/pkg/front_end/testcases/general/callable_type_variable.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/callable_type_variable.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1<T extends Function> {
   T field;
   Class1(this.field);
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/callable_type_variable.dart.textual_outline_modelled.expect
index 8eb5879..a8cdd5e 100644
--- a/pkg/front_end/testcases/general/callable_type_variable.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/callable_type_variable.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1<T extends Function> {
   Class1(this.field);
   T field;
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart.strong.expect b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/callable_type_variable.dart.strong.expect
rename to pkg/front_end/testcases/general/callable_type_variable.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/callable_type_variable.dart.outline.expect b/pkg/front_end/testcases/general/callable_type_variable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/callable_type_variable.dart.outline.expect
rename to pkg/front_end/testcases/general/callable_type_variable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/candidate_found.dart b/pkg/front_end/testcases/general/candidate_found.dart
index 6b4c624..8c5531f 100644
--- a/pkg/front_end/testcases/general/candidate_found.dart
+++ b/pkg/front_end/testcases/general/candidate_found.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Fisk {
   Fisk(int x) {}
 
diff --git a/pkg/front_end/testcases/general/candidate_found.dart.textual_outline.expect b/pkg/front_end/testcases/general/candidate_found.dart.textual_outline.expect
index 59e6dfd..3878c51 100644
--- a/pkg/front_end/testcases/general/candidate_found.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/candidate_found.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk {
   Fisk(int x) {}
   Fisk.named(int x) {}
diff --git a/pkg/front_end/testcases/general/candidate_found.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/candidate_found.dart.textual_outline_modelled.expect
index 49525b6..0ef7f2c8 100644
--- a/pkg/front_end/testcases/general/candidate_found.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/candidate_found.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk {
   Fisk(int x) {}
   Fisk.named(int x) {}
diff --git a/pkg/front_end/testcases/general/candidate_found.dart.strong.expect b/pkg/front_end/testcases/general/candidate_found.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/candidate_found.dart.strong.expect
rename to pkg/front_end/testcases/general/candidate_found.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/candidate_found.dart.outline.expect b/pkg/front_end/testcases/general/candidate_found.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/candidate_found.dart.outline.expect
rename to pkg/front_end/testcases/general/candidate_found.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart b/pkg/front_end/testcases/general/cascade.dart
index 97a3402..ca4653a 100644
--- a/pkg/front_end/testcases/general/cascade.dart
+++ b/pkg/front_end/testcases/general/cascade.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   var list = [1]
     ..add(2)
diff --git a/pkg/front_end/testcases/general/cascade.dart.textual_outline.expect b/pkg/front_end/testcases/general/cascade.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/cascade.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/cascade.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/cascade.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/cascade.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/cascade.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/cascade.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/cascade.dart.strong.expect b/pkg/front_end/testcases/general/cascade.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cascade.dart.strong.expect
rename to pkg/front_end/testcases/general/cascade.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/cascade.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/cascade.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cascade.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/cascade.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/cascade_context.dart b/pkg/front_end/testcases/general/cascade_context.dart
index 4242a2f..01cb795 100644
--- a/pkg/front_end/testcases/general/cascade_context.dart
+++ b/pkg/front_end/testcases/general/cascade_context.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 T f<T>() => null;
 
 test() {
diff --git a/pkg/front_end/testcases/general/cascade_context.dart.textual_outline.expect b/pkg/front_end/testcases/general/cascade_context.dart.textual_outline.expect
index efa753c..d47fc4f 100644
--- a/pkg/front_end/testcases/general/cascade_context.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/cascade_context.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 T f<T>() => null;
 test() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/cascade_context.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/cascade_context.dart.textual_outline_modelled.expect
index 3be1b3a..fd47409 100644
--- a/pkg/front_end/testcases/general/cascade_context.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/cascade_context.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 T f<T>() => null;
 main() {}
 test() {}
diff --git a/pkg/front_end/testcases/general/cascade_context.dart.strong.expect b/pkg/front_end/testcases/general/cascade_context.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cascade_context.dart.strong.expect
rename to pkg/front_end/testcases/general/cascade_context.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade_context.dart.outline.expect b/pkg/front_end/testcases/general/cascade_context.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cascade_context.dart.outline.expect
rename to pkg/front_end/testcases/general/cascade_context.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/cascade_context.dart.strong.transformed.expect b/pkg/front_end/testcases/general/cascade_context.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cascade_context.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/cascade_context.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/casts.dart b/pkg/front_end/testcases/general/casts.dart
index 2c7a621..0c375c4 100644
--- a/pkg/front_end/testcases/general/casts.dart
+++ b/pkg/front_end/testcases/general/casts.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   print("" as String);
   print(1 as int);
diff --git a/pkg/front_end/testcases/general/casts.dart.outline.expect b/pkg/front_end/testcases/general/casts.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/casts.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/casts.dart.textual_outline.expect b/pkg/front_end/testcases/general/casts.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/casts.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/casts.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/casts.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/casts.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/casts.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/casts.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/casts.dart.strong.expect b/pkg/front_end/testcases/general/casts.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/casts.dart.strong.expect
rename to pkg/front_end/testcases/general/casts.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/casts.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/casts.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/casts.dart.strong.transformed.expect b/pkg/front_end/testcases/general/casts.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/casts.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/casts.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart b/pkg/front_end/testcases/general/check_deferred_allocation.dart
index 3bf29bf..696e392 100644
--- a/pkg/front_end/testcases/general/check_deferred_allocation.dart
+++ b/pkg/front_end/testcases/general/check_deferred_allocation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_allocation.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_allocation.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_allocation.dart.textual_outline.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_allocation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_allocation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_allocation.dart.textual_outline_modelled.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_allocation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_allocation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_allocation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_allocation.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_allocation.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_allocation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
rename to pkg/front_end/testcases/general/check_deferred_allocation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_allocation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_allocation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_allocation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart b/pkg/front_end/testcases/general/check_deferred_as_check.dart
index e9d17ff..07e9aa0 100644
--- a/pkg/front_end/testcases/general/check_deferred_as_check.dart
+++ b/pkg/front_end/testcases/general/check_deferred_as_check.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_as_check.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_as_check.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_as_check.dart.textual_outline.expect
index 9a994a0..0ef0840 100644
--- a/pkg/front_end/testcases/general/check_deferred_as_check.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_as_check.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_as_check.dart.textual_outline_modelled.expect
index 9a994a0..0ef0840 100644
--- a/pkg/front_end/testcases/general/check_deferred_as_check.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_as_check.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_as_check.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_as_check.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_as_check.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_as_check.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_as_check.dart.outline.expect
rename to pkg/front_end/testcases/general/check_deferred_as_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_as_check.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_as_check.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_as_check.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart b/pkg/front_end/testcases/general/check_deferred_before_args.dart
index cd12c6d..e09f45f 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_args.dart
+++ b/pkg/front_end/testcases/general/check_deferred_before_args.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_before_args.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_args.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_before_args.dart.textual_outline.expect
index 4ddbfed..2a96740 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_args.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_args.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_before_args.dart.textual_outline_modelled.expect
index 2e73aad..3e448d7 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_args.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_args.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 m2() => 1;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_before_args.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_args.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_before_args.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_before_args.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_args.dart.outline.expect
rename to pkg/front_end/testcases/general/check_deferred_before_args.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_args.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_args.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_before_args.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart b/pkg/front_end/testcases/general/check_deferred_before_args2.dart
index ddfdf12..0792650 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_args2.dart
+++ b/pkg/front_end/testcases/general/check_deferred_before_args2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.textual_outline.expect
index 72746c9..97359bb 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.textual_outline_modelled.expect
index 72746c9..97359bb 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_args2.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_args2.dart.outline.expect
rename to pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_args2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_before_args2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart b/pkg/front_end/testcases/general/check_deferred_before_call.dart
index aa6ad85..2b7aeea 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_call.dart
+++ b/pkg/front_end/testcases/general/check_deferred_before_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_call.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.outline.expect
deleted file mode 100644
index 5a345b6..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_call.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.textual_outline.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.textual_outline_modelled.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_call.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_before_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general/check_deferred_before_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_call.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_before_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart b/pkg/front_end/testcases/general/check_deferred_before_write.dart
index 5a8f96c..4d57d7a 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_write.dart
+++ b/pkg/front_end/testcases/general/check_deferred_before_write.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_write.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.outline.expect
deleted file mode 100644
index 5a345b6..0000000
--- a/pkg/front_end/testcases/general/check_deferred_before_write.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.textual_outline.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_write.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_write.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.textual_outline_modelled.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_before_write.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_before_write.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_write.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_before_write.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general/check_deferred_before_write.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_before_write.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_before_write.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_before_write.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_before_write.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart b/pkg/front_end/testcases/general/check_deferred_is_check.dart
index 7069d9a..f433222 100644
--- a/pkg/front_end/testcases/general/check_deferred_is_check.dart
+++ b/pkg/front_end/testcases/general/check_deferred_is_check.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_is_check.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.outline.expect
deleted file mode 100644
index 2235d55..0000000
--- a/pkg/front_end/testcases/general/check_deferred_is_check.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test(dynamic x) → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.textual_outline.expect
index 9a994a0..0ef0840 100644
--- a/pkg/front_end/testcases/general/check_deferred_is_check.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_is_check.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.textual_outline_modelled.expect
index 9a994a0..0ef0840 100644
--- a/pkg/front_end/testcases/general/check_deferred_is_check.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_is_check.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_is_check.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_is_check.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_as_check.dart.outline.expect
copy to pkg/front_end/testcases/general/check_deferred_is_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_is_check.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_is_check.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_is_check.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_is_check.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart b/pkg/front_end/testcases/general/check_deferred_read.dart
index 0cebef0..bcecacf 100644
--- a/pkg/front_end/testcases/general/check_deferred_read.dart
+++ b/pkg/front_end/testcases/general/check_deferred_read.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.textual_outline.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_read.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_read.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.textual_outline_modelled.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_read.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_read.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_read.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_read.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_read.dart.outline.expect
rename to pkg/front_end/testcases/general/check_deferred_read.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_read.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_read.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_read.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_read.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart
index 0a446f7..47ba0f5 100644
--- a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart
+++ b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.outline.expect
deleted file mode 100644
index 5a345b6..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.textual_outline.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.textual_outline_modelled.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_read_static_field.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_read_static_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general/check_deferred_read_static_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_read_static_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_read_static_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_read_static_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart b/pkg/front_end/testcases/general/check_deferred_read_type.dart
index be64b65..52b7600 100644
--- a/pkg/front_end/testcases/general/check_deferred_read_type.dart
+++ b/pkg/front_end/testcases/general/check_deferred_read_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.outline.expect
deleted file mode 100644
index 5a345b6..0000000
--- a/pkg/front_end/testcases/general/check_deferred_read_type.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.textual_outline.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_read_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_read_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.textual_outline_modelled.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_read_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_read_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_read_type.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_read_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general/check_deferred_read_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_read_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_read_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_read_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_read_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart
index 63008c6..195df66 100644
--- a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart
+++ b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.outline.expect
deleted file mode 100644
index 5a345b6..0000000
--- a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.textual_outline.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.textual_outline_modelled.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_static_method_call.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_static_method_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general/check_deferred_static_method_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_static_method_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_static_method_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_static_method_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart
index f3cc305..8844264 100644
--- a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart
+++ b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() => test();
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.hierarchy.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.outline.expect
deleted file mode 100644
index 5a345b6..0000000
--- a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.textual_outline.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.textual_outline.expect
index b8fbde2..2e15ba2 100644
--- a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() => test();
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.textual_outline_modelled.expect
index b8fbde2..2e15ba2 100644
--- a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() => test();
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.strong.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_type_declaration.dart.strong.expect
rename to pkg/front_end/testcases/general/check_deferred_type_declaration.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general/check_deferred_type_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/general/check_deferred_type_declaration.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/check_deferred_type_declaration.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/check_deferred_type_declaration.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart
index abd1615..0c607b4 100644
--- a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart
+++ b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test is intended to trigger a circular top-level type-inference
 // dependency involving an initializing formal where the circularity is detected
 // when inferring the type of the constructor.
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.hierarchy.expect b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.hierarchy.expect
deleted file mode 100644
index 0f300a8..0000000
--- a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.f
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.textual_outline.expect b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.textual_outline.expect
index 9252577..8e5a6fd 100644
--- a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 var x = new C._circular(null);
 
 class C {
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.textual_outline_modelled.expect
index 9e8e7de..c9e87ae 100644
--- a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C._circular(this.f);
   var f = new C._circular(null);
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.strong.expect b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.strong.expect
rename to pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.outline.expect b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.outline.expect
rename to pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.strong.transformed.expect b/pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/circularity-via-initializing-formal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/classes.dart b/pkg/front_end/testcases/general/classes.dart
index 1536904..a313cd6 100644
--- a/pkg/front_end/testcases/general/classes.dart
+++ b/pkg/front_end/testcases/general/classes.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   final int x;
   final int y;
diff --git a/pkg/front_end/testcases/general/classes.dart.hierarchy.expect b/pkg/front_end/testcases/general/classes.dart.hierarchy.expect
deleted file mode 100644
index e6e65a3..0000000
--- a/pkg/front_end/testcases/general/classes.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/classes.dart.textual_outline.expect b/pkg/front_end/testcases/general/classes.dart.textual_outline.expect
index db9b2ee..ab6ce24 100644
--- a/pkg/front_end/testcases/general/classes.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/classes.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   final int x;
   final int y;
diff --git a/pkg/front_end/testcases/general/classes.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/classes.dart.textual_outline_modelled.expect
index 6b4696f..385bce7 100644
--- a/pkg/front_end/testcases/general/classes.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/classes.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(this.y) : x = 42;
   final int x;
diff --git a/pkg/front_end/testcases/general/classes.dart.strong.expect b/pkg/front_end/testcases/general/classes.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/classes.dart.strong.expect
rename to pkg/front_end/testcases/general/classes.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/classes.dart.outline.expect b/pkg/front_end/testcases/general/classes.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/classes.dart.outline.expect
rename to pkg/front_end/testcases/general/classes.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/classes.dart.strong.transformed.expect b/pkg/front_end/testcases/general/classes.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/classes.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/classes.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/clone_function_type.dart b/pkg/front_end/testcases/general/clone_function_type.dart
index fd1d81e..e8b603f 100644
--- a/pkg/front_end/testcases/general/clone_function_type.dart
+++ b/pkg/front_end/testcases/general/clone_function_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // In the classes below the function type is cloned when the anonymous mixin
 // application is desugared into a named mixin application, in order to re-bind
 // the type builders for its subterms.
diff --git a/pkg/front_end/testcases/general/clone_function_type.dart.hierarchy.expect b/pkg/front_end/testcases/general/clone_function_type.dart.hierarchy.expect
deleted file mode 100644
index 49f41ab..0000000
--- a/pkg/front_end/testcases/general/clone_function_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,3039 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Am1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with Am1<(null) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Bm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Bm1&Object&Am1<Z>
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Cm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Cm1&Object&Am1<Z>
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<() -> int, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Dm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Dm1&Object&Am1<Z>
-  interfaces: Am1<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<() -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Em1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Em1&Object&Am1<Z>
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<() -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Fm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Fm1&Object&Am1<Z>
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Gm1&Object&Am1<Z>
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(null) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Hm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Hm1&Object&Am1<Z>
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Im1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Im1&Object&Am1<Z>
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<Function, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Jm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Jm1&Object&Am1<Z>
-  interfaces: Am1<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(Function) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Km1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Km1&Object&Am1<Z>
-  interfaces: Am1<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<() -> (Function) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Lm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Lm1&Object&Am1<Z>
-  interfaces: Am1<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Mm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Nm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Om1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Pm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Qm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Rm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Sm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Tm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Um1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Vm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Wm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Am2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with Am2<(null) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Bm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Bm2&Object&Am2<Z>
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Cm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Cm2&Object&Am2<Z>
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<() -> int, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Dm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Dm2&Object&Am2<Z>
-  interfaces: Am2<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<() -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Em2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Em2&Object&Am2<Z>
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<() -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Fm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Fm2&Object&Am2<Z>
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Gm2&Object&Am2<Z>
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(null) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Hm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Hm2&Object&Am2<Z>
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Im2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Im2&Object&Am2<Z>
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<Function, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Jm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Jm2&Object&Am2<Z>
-  interfaces: Am2<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(Function) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Km2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Km2&Object&Am2<Z>
-  interfaces: Am2<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<() -> (Function) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Lm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Lm2&Object&Am2<Z>
-  interfaces: Am2<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Mm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Nm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Om2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Pm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Qm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Rm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Sm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Tm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Um2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Vm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Wm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Am3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with Am3<TdB, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdB, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Bm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Bm3&Object&Am3<Z>
-  interfaces: Am3<TdB, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdC, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdC, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Cm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Cm3&Object&Am3<Z>
-  interfaces: Am3<TdC, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdD, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdD, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Dm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Dm3&Object&Am3<Z>
-  interfaces: Am3<TdD, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdE, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdE, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Em3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Em3&Object&Am3<Z>
-  interfaces: Am3<TdE, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdF, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdF, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Fm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Fm3&Object&Am3<Z>
-  interfaces: Am3<TdF, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdG, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdG, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Gm3&Object&Am3<Z>
-  interfaces: Am3<TdG, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdH, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdH, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Hm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Hm3&Object&Am3<Z>
-  interfaces: Am3<TdH, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdI, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdI, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Im3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Im3&Object&Am3<Z>
-  interfaces: Am3<TdI, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdJ, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdJ, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Jm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Jm3&Object&Am3<Z>
-  interfaces: Am3<TdJ, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdK, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdK, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Km3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Km3&Object&Am3<Z>
-  interfaces: Am3<TdK, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Af1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Cf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Df1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ef1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ff1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Gf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-If1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Kf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Cf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Df2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ef2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ff2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Gf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-If2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Kf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/clone_function_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/clone_function_type.dart.textual_outline.expect
index 4cc9152..84a2a60 100644
--- a/pkg/front_end/testcases/general/clone_function_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/clone_function_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Am1<X, Y> {}
 class Bm1<Z> extends Object with Am1<Function(int), Z> {}
 class Cm1<Z> extends Object with Am1<Function(int x), Z> {}
diff --git a/pkg/front_end/testcases/general/clone_function_type.dart.strong.expect b/pkg/front_end/testcases/general/clone_function_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/clone_function_type.dart.strong.expect
rename to pkg/front_end/testcases/general/clone_function_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/clone_function_type.dart.outline.expect b/pkg/front_end/testcases/general/clone_function_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/clone_function_type.dart.outline.expect
rename to pkg/front_end/testcases/general/clone_function_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/clone_function_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general/clone_function_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/clone_function_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/clone_function_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/closure.dart b/pkg/front_end/testcases/general/closure.dart
index 664a4fa..59364ef 100644
--- a/pkg/front_end/testcases/general/closure.dart
+++ b/pkg/front_end/testcases/general/closure.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Foo {
   var _field = new Bar();
 }
diff --git a/pkg/front_end/testcases/general/closure.dart.hierarchy.expect b/pkg/front_end/testcases/general/closure.dart.hierarchy.expect
deleted file mode 100644
index 986244a..0000000
--- a/pkg/front_end/testcases/general/closure.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo._field
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/closure.dart.textual_outline.expect b/pkg/front_end/testcases/general/closure.dart.textual_outline.expect
index 544a9e7..a71d508 100644
--- a/pkg/front_end/testcases/general/closure.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/closure.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   var _field = new Bar();
 }
diff --git a/pkg/front_end/testcases/general/closure.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/closure.dart.textual_outline_modelled.expect
index 2f6023d..707cfa0 100644
--- a/pkg/front_end/testcases/general/closure.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/closure.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bar {}
 
 class Foo {
diff --git a/pkg/front_end/testcases/general/closure.dart.strong.expect b/pkg/front_end/testcases/general/closure.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/closure.dart.strong.expect
rename to pkg/front_end/testcases/general/closure.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/closure.dart.outline.expect b/pkg/front_end/testcases/general/closure.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/closure.dart.outline.expect
rename to pkg/front_end/testcases/general/closure.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/closure.dart.strong.transformed.expect b/pkg/front_end/testcases/general/closure.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/closure.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/closure.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart
index 3385d23..0d9a8f1 100644
--- a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart
+++ b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart
@@ -12,7 +12,7 @@
  * @compile-error
  * @author a.semenov@unipro.ru
  */
-
+// @dart=2.9
 class A {
   const A();
 }
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.hierarchy.expect b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.textual_outline.expect b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.textual_outline.expect
index 896c9f0..795ce34 100644
--- a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A();
 }
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.textual_outline_modelled.expect
index c112c59..99630e1 100644
--- a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 A() {}
 
 class A {
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.strong.expect b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.strong.expect
rename to pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.outline.expect b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.outline.expect
rename to pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.strong.transformed.expect b/pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/co19_language_metadata_syntax_t04.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart b/pkg/front_end/testcases/general/complex_class_hierarchy.dart
index 3363794..c851026 100644
--- a/pkg/front_end/testcases/general/complex_class_hierarchy.dart
+++ b/pkg/front_end/testcases/general/complex_class_hierarchy.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 main() {}
 
 class A {}
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.hierarchy.expect b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.hierarchy.expect
deleted file mode 100644
index 1ad7539..0000000
--- a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.hierarchy.expect
+++ /dev/null
@@ -1,547 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> A
-        -> B
-          -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-GB:
-  superclasses:
-    Object
-      -> G<B>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-GC:
-  superclasses:
-    Object
-      -> G<C>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-GD:
-  superclasses:
-    Object
-      -> G<D>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Y:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> X
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Z:
-  Longest path to Object: 4
-  superclasses:
-    Object
-  interfaces: Y, X, A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-W:
-  Longest path to Object: 5
-  superclasses:
-    Object
-  interfaces: Z, Y, X, A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GX:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: G<A>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GY:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> X
-  interfaces: A, GB, G<B>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GZ:
-  Longest path to Object: 4
-  superclasses:
-    Object
-  interfaces: Y, X, A, GC, G<C>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GW:
-  Longest path to Object: 5
-  superclasses:
-    Object
-  interfaces: Z, Y, X, A, GD, G<D>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GU:
-  Longest path to Object: 6
-  superclasses:
-    Object
-      -> GW
-  interfaces: Z, Y, X, A, GD, G<D>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GV:
-  Longest path to Object: 7
-  superclasses:
-    Object
-      -> GW
-        -> GU
-  interfaces: Z, Y, X, A, GD, G<D>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-ARO:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ARQ:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: ARO<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-ARN:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> ARQ<A>
-  interfaces: ARO<A>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.textual_outline.expect b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.textual_outline.expect
index adeaf17..f56bf39 100644
--- a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 
 class A {}
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.textual_outline_modelled.expect
index ca66b2f..99b7569 100644
--- a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class ARN extends ARQ<A> {}
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.strong.expect b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/complex_class_hierarchy.dart.strong.expect
rename to pkg/front_end/testcases/general/complex_class_hierarchy.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.outline.expect b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/complex_class_hierarchy.dart.outline.expect
rename to pkg/front_end/testcases/general/complex_class_hierarchy.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/complex_class_hierarchy.dart.strong.transformed.expect b/pkg/front_end/testcases/general/complex_class_hierarchy.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/complex_class_hierarchy.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/complex_class_hierarchy.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart
index ea6ab25..1db3cbe 100644
--- a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart
+++ b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {}
 
 class B extends A {
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.textual_outline.expect b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.textual_outline.expect
index 19f543a..dabb44d 100644
--- a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.textual_outline_modelled.expect
index 19f543a..dabb44d 100644
--- a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.strong.expect b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/compound_binary_implicit_as.dart.strong.expect
rename to pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.outline.expect b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/compound_binary_implicit_as.dart.outline.expect
rename to pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.strong.transformed.expect b/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/compound_binary_implicit_as.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/compound_binary_implicit_as.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart
index 3549030..89c77a6 100644
--- a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart
+++ b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {
   const A() : this.bad();
 
diff --git a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.textual_outline.expect b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.textual_outline.expect
index 8d81665e..c7cfcc7 100644
--- a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A() : this.bad();
   A.bad() {}
diff --git a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.textual_outline_modelled.expect
index bee691e..d07c96d 100644
--- a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A.bad() {}
   const A() : this.bad();
diff --git a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.strong.expect b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.strong.expect
rename to pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.outline.expect b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.outline.expect
rename to pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.strong.transformed.expect b/pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/const_redirect_to_nonconst.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart b/pkg/front_end/testcases/general/constant_truncate.dart
index 2f2e792..2d09173 100644
--- a/pkg/front_end/testcases/general/constant_truncate.dart
+++ b/pkg/front_end/testcases/general/constant_truncate.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const a0 = 0 ~/ 0; // error
 const a1 = 0.0 ~/ 0; // error
 const a2 = -0.0 ~/ 0; // error
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart.textual_outline.expect b/pkg/front_end/testcases/general/constant_truncate.dart.textual_outline.expect
index 44d49e8..cc9734c 100644
--- a/pkg/front_end/testcases/general/constant_truncate.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constant_truncate.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const a0 = 0 ~/ 0;
 const a1 = 0.0 ~/ 0;
 const a2 = -0.0 ~/ 0;
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constant_truncate.dart.textual_outline_modelled.expect
index 4eeedfa..84e1f84 100644
--- a/pkg/front_end/testcases/general/constant_truncate.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constant_truncate.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const a0 = 0 ~/ 0;
 const a1 = 0.0 ~/ 0;
 const a2 = -0.0 ~/ 0;
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart.strong.expect b/pkg/front_end/testcases/general/constant_truncate.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constant_truncate.dart.strong.expect
rename to pkg/front_end/testcases/general/constant_truncate.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart.outline.expect b/pkg/front_end/testcases/general/constant_truncate.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constant_truncate.dart.outline.expect
rename to pkg/front_end/testcases/general/constant_truncate.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constant_truncate.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constant_truncate.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constant_truncate.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constant_truncate.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart b/pkg/front_end/testcases/general/constants/circularity.dart
index 4406335..642e46f 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart
+++ b/pkg/front_end/testcases/general/constants/circularity.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const int a = b;
 const int b = a;
 const int c = d;
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline.expect
index 4c1285d..83f9369 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int a = b;
 const int b = a;
 const int c = d;
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline_modelled.expect
index fec5c97..e30767c 100644
--- a/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/circularity.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {
   const Class1({Class1 c = const Class1(c: null)});
 }
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.strong.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/circularity.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/circularity.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.outline.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/circularity.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/circularity.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/circularity.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/circularity.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/circularity.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart b/pkg/front_end/testcases/general/constants/const_asserts.dart
index ddb02c6..90a4166 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Foo {
   final int x;
   const Foo(this.x)
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.textual_outline.expect
index 35c0fd4..3d99b4f 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   final int x;
   const Foo(this.x)
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.textual_outline_modelled.expect
index 951c20d..add8bd6 100644
--- a/pkg/front_end/testcases/general/constants/const_asserts.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/const_asserts.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bar {
   const Bar.withEmptyMessage(this.x) : assert(x < 0);
   const Bar.withMessage(this.x) : assert(x < 0, "x is not negative");
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.strong.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_asserts.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/const_asserts.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.outline.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_asserts.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/const_asserts.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/const_asserts.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_asserts.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/const_asserts.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart b/pkg/front_end/testcases/general/constants/const_collections.dart
index 90a8445..5d63d1a 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'dart:collection';
 
 class ConstIterable extends IterableBase<int> {
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline.expect
index 1b2ee83..d5f1dc8 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 class ConstIterable extends IterableBase<int> {
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline_modelled.expect
index 97ae580..5082de0 100644
--- a/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/const_collections.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 List<String> get barAsGetter => const [...foo, "!"];
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.strong.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_collections.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/const_collections.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.outline.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_collections.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/const_collections.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/const_collections.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_collections.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/const_collections.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart
index 952eff9..4da77ce 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import "const_constructor_coverage_lib1.dart";
 import "const_constructor_coverage_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline.expect
index a7b8a8a..c0374d8 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "const_constructor_coverage_lib1.dart";
 import "const_constructor_coverage_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline_modelled.expect
index a7b8a8a..c0374d8 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "const_constructor_coverage_lib1.dart";
 import "const_constructor_coverage_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.strong.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.outline.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/const_constructor_coverage.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib1.dart b/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib1.dart
index e7d6647..d5b94bc 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib1.dart
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import "const_constructor_coverage_lib2.dart";
 
 class Foo {
diff --git a/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib2.dart b/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib2.dart
index 88e63b9..ee04592 100644
--- a/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib2.dart
+++ b/pkg/front_end/testcases/general/constants/const_constructor_coverage_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import "const_constructor_coverage_lib1.dart";
 
 class Baz {
diff --git a/pkg/front_end/testcases/general/constants/folder.options b/pkg/front_end/testcases/general/constants/folder.options
index 4b2f3da..0cbe954 100644
--- a/pkg/front_end/testcases/general/constants/folder.options
+++ b/pkg/front_end/testcases/general/constants/folder.options
@@ -1,4 +1,4 @@
---enable-experiment=triple-shift,no-non-nullable
+--enable-experiment=triple-shift
 -Dbaz=42
 -DbazTrue=true
 -DbazFalse=false
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart b/pkg/front_end/testcases/general/constants/from_lib/main.dart
index b301857..f8f5ccf 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'main_lib.dart' as a;
 
 const map = <int, String>{
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline.expect
index ecc271e..d76ac83 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib.dart' as a;
 
 const map = <int, String>{
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline_modelled.expect
index b817c1c..a2a94e6 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/from_lib/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib.dart' as a;
 
 const list = <int>[
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.strong.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/from_lib/main.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.outline.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/from_lib/main.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/from_lib/main.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/from_lib/main.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/from_lib/main_lib.dart b/pkg/front_end/testcases/general/constants/from_lib/main_lib.dart
index eccfc0b..7529c60 100644
--- a/pkg/front_end/testcases/general/constants/from_lib/main_lib.dart
+++ b/pkg/front_end/testcases/general/constants/from_lib/main_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const map = <int, String>{
   1: 'a',
 };
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart b/pkg/front_end/testcases/general/constants/issue_43431.dart
index c333e70..a0b0bc2 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Foo {
   const Foo({bool x: true});
   const x = Foo();
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline.expect
index 3051321..21dbcf2 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   const Foo({bool x: true});
   const x = Foo();
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline_modelled.expect
index 3051321..21dbcf2 100644
--- a/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/issue_43431.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   const Foo({bool x: true});
   const x = Foo();
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.strong.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/issue_43431.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/issue_43431.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.outline.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/issue_43431.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/issue_43431.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/issue_43431.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/issue_43431.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/issue_43431.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/issue_43431.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/folder.options b/pkg/front_end/testcases/general/constants/js_semantics/folder.options
index 71391b1..674c362 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/folder.options
+++ b/pkg/front_end/testcases/general/constants/js_semantics/folder.options
@@ -1,2 +1,2 @@
---enable-experiment=triple-shift,no-non-nullable
+--enable-experiment=triple-shift
 --target=noneWithJs
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart
index 618b0a5..cc1f967 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart
+++ b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const int shiftNegative1 = 2 << -1;
 const int shiftNegative2 = 2 >>> -1;
 const int shiftNegative3 = 2 >> -1;
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.textual_outline.expect
index cb5607d..4be3a27 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int shiftNegative1 = 2 << -1;
 const int shiftNegative2 = 2 >>> -1;
 const int shiftNegative3 = 2 >> -1;
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.strong.expect b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.outline.expect b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/js_semantics/number_folds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart b/pkg/front_end/testcases/general/constants/js_semantics/various.dart
index f2270ff..cb703e5 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const bool y = false;
 const bool z = !(y);
 
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline.expect
index 4ca812c..54ebf2f 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const bool y = false;
 const bool z = !(y);
 const maybeInt = z ? 42 : true;
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline_modelled.expect
index 70b112b..87607b2 100644
--- a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const String intStringConcat = "hello" "${intFortyTwo * intFortyTwo}";
 const bool isItDouble = maybeInt is double ? true : false;
 const bool isItDouble2 = actualInt is double ? true : false;
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.strong.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/js_semantics/various.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.outline.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/js_semantics/various.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/js_semantics/various.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/js_semantics/various.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/js_semantics/various.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/folder.options b/pkg/front_end/testcases/general/constants/no_experiments/folder.options
index 2575f9f..db4ac03 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/folder.options
+++ b/pkg/front_end/testcases/general/constants/no_experiments/folder.options
@@ -1,4 +1,3 @@
---enable-experiment=no-non-nullable
 -Dbaz=42
 -DbazTrue=true
 -DbazFalse=false
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart b/pkg/front_end/testcases/general/constants/no_experiments/various.dart
index df79a2d..8ddb0d4 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const Symbol tripleShiftSymbol = const Symbol(">>>");
 
 main() {}
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline.expect
index 3cb83df..39c800d 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 const Symbol tripleShiftSymbol = const Symbol(">>>");
 main() {}
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline_modelled.expect
index 3cb83df..39c800d 100644
--- a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 const Symbol tripleShiftSymbol = const Symbol(">>>");
 main() {}
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.strong.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/no_experiments/various.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.outline.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/no_experiments/various.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/no_experiments/various.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/no_experiments/various.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/no_experiments/various.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/number_folds.dart b/pkg/front_end/testcases/general/constants/number_folds.dart
index 2069e49..a905108 100644
--- a/pkg/front_end/testcases/general/constants/number_folds.dart
+++ b/pkg/front_end/testcases/general/constants/number_folds.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const int shiftNegative1 = 2 << -1;
 const int shiftNegative2 = 2 >>> -1;
 const int shiftNegative3 = 2 >> -1;
diff --git a/pkg/front_end/testcases/general/constants/number_folds.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/number_folds.dart.textual_outline.expect
index 20ada74..2491b0a 100644
--- a/pkg/front_end/testcases/general/constants/number_folds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/number_folds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int shiftNegative1 = 2 << -1;
 const int shiftNegative2 = 2 >>> -1;
 const int shiftNegative3 = 2 >> -1;
diff --git a/pkg/front_end/testcases/general/constants/number_folds.dart.strong.expect b/pkg/front_end/testcases/general/constants/number_folds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/number_folds.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/number_folds.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/number_folds.dart.outline.expect b/pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/number_folds.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/number_folds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/number_folds.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/number_folds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/number_folds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/number_folds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart
index 9eb86b4..cae9472 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const int foo = 42 * 42;
 const String bar =
     "hello" " " "${String.fromEnvironment("baz", defaultValue: "world")}" "!";
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline.expect
index c369a44..8e1cc1fe 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int foo = 42 * 42;
 const String bar =
     "hello" " " "${String.fromEnvironment("baz", defaultValue: "world")}" "!";
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline_modelled.expect
index fc42499..c74e867 100644
--- a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const String bar =
     "hello" " " "${String.fromEnvironment("baz", defaultValue: "world")}" "!";
 const String bar2 = "hello2" " 2" + bar;
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.strong.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.outline.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/rudimentary_test_01.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/various.dart b/pkg/front_end/testcases/general/constants/various.dart
index a4ebf42..927fb6e 100644
--- a/pkg/front_end/testcases/general/constants/various.dart
+++ b/pkg/front_end/testcases/general/constants/various.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // Environment does not contain "bar".
 const bool barFromEnv = const bool.fromEnvironment("bar");
 const bool hasBarEnv = const bool.hasEnvironment("bar");
diff --git a/pkg/front_end/testcases/general/constants/various.dart.textual_outline.expect b/pkg/front_end/testcases/general/constants/various.dart.textual_outline.expect
index f696546..0159f9d 100644
--- a/pkg/front_end/testcases/general/constants/various.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constants/various.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const bool barFromEnv = const bool.fromEnvironment("bar");
 const bool hasBarEnv = const bool.hasEnvironment("bar");
 const bool barFromEnvOrNull = const bool.fromEnvironment("bar", defaultValue: null);
diff --git a/pkg/front_end/testcases/general/constants/various.dart.strong.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/various.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/various.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/various.dart.outline.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/various.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/various.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/various.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/various.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/various.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.strong.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_asserts.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.outline.expect
deleted file mode 100644
index 76fe0d1..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.outline.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart:27:7: Error: Expected 2 type arguments.
-// const Map<bool> MapWithUnevaluated = {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::bool> listWithUnevaluated = const <core::bool>[const core::bool::fromEnvironment("foo"), const core::bool::fromEnvironment("bar"), true];
-static const field core::List<core::bool> listWithUnevaluatedSpread = const <core::bool>[true] + self::listWithUnevaluated + const <core::bool>[false];
-static const field core::Set<core::bool> setWithUnevaluated = const <core::bool>{const core::bool::fromEnvironment("foo"), const core::bool::fromEnvironment("bar"), true};
-static const field core::Set<core::bool> setWithUnevaluatedSpread = const <core::bool>{true} + self::setWithUnevaluated + const <core::bool>{false};
-static const field core::List<core::int> a = const <core::int>[];
-static const field core::List<core::int?> b = const <core::int?>[];
-static const field core::Set<core::List<core::int?>> setNotAgnosticOK = const <core::List<core::int?>>{self::a, self::b};
-static const field invalid-type MapWithUnevaluated = const <core::bool, core::bool>{const core::bool::fromEnvironment("foo"): const core::bool::fromEnvironment("bar")};
-static const field core::Map<core::List<core::int?>, core::int> mapNotAgnosticOK = const <core::List<core::int?>, core::int>{self::a: 0, self::b: 1};
-static method main() → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///const_collections.dart:5:40 -> ListConstant(const <bool>[false, false, true])
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:6:8 -> BoolConstant(false)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:7:8 -> BoolConstant(false)
-Evaluated with empty environment: ListConcatenation @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool>[true, false, false, true, false])
-Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool>[true])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///const_collections.dart:12:6 -> ListConstant(const <bool>[false, false, true])
-Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool>[false])
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:17:8 -> BoolConstant(false)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:18:8 -> BoolConstant(false)
-Evaluated: SetLiteral @ org-dartlang-testcase:///const_collections.dart:21:44 -> SetConstant(const <bool>{true})
-Evaluated: SetLiteral @ org-dartlang-testcase:///const_collections.dart:21:44 -> SetConstant(const <bool>{false})
-Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:23:16 -> ListConstant(const <int>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:24:17 -> ListConstant(const <int?>[])
-Evaluated: SetLiteral @ org-dartlang-testcase:///const_collections.dart:25:26 -> SetConstant(const <List<int?>>{const <int>[], const <int?>[]})
-Evaluated with empty environment: MapLiteral @ org-dartlang-testcase:///const_collections.dart:27:38 -> MapConstant(const <bool, bool>{false: false})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:28:8 -> BoolConstant(false)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:28:37 -> BoolConstant(false)
-Evaluated: MapLiteral @ org-dartlang-testcase:///const_collections.dart:31:26 -> MapConstant(const <List<int?>, int>{const <int>[]: 0, const <int?>[]: 1})
-Extra constant evaluation: evaluated: 21, effectively constant: 18
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.strong.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.strong.expect
deleted file mode 100644
index 0fd3e2b..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.strong.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart:27:7: Error: Expected 2 type arguments.
-// const Map<bool> MapWithUnevaluated = {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::bool> listWithUnevaluated = #C5;
-static const field core::List<core::bool> listWithUnevaluatedSpread = #C8;
-static const field core::Set<core::bool> setWithUnevaluated = #C10;
-static const field core::Set<core::bool> setWithUnevaluatedSpread = #C12;
-static const field core::List<core::int> a = #C13;
-static const field core::List<core::int?> b = #C14;
-static const field core::Set<core::List<core::int?>> setNotAgnosticOK = #C15;
-static const field invalid-type MapWithUnevaluated = #C16;
-static const field core::Map<core::List<core::int?>, core::int> mapNotAgnosticOK = #C19;
-static method main() → dynamic {
-  core::print(#C5);
-  core::print(#C8);
-  core::print(#C10);
-  core::print(#C12);
-  core::print(<core::String>{"hello"});
-  core::print(#C21);
-}
-
-constants  {
-  #C1 = "foo"
-  #C2 = "bar"
-  #C3 = true
-  #C4 = <core::bool>[#C3]
-  #C5 = eval const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4
-  #C6 = false
-  #C7 = <core::bool>[#C6]
-  #C8 = eval #C4 + const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4 + #C7
-  #C9 = <core::bool>{#C3}
-  #C10 = eval const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9
-  #C11 = <core::bool>{#C6}
-  #C12 = eval #C9 + const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9 + #C11
-  #C13 = <core::int>[]
-  #C14 = <core::int?>[]
-  #C15 = <core::List<core::int?>>{#C13, #C14}
-  #C16 = eval const <dynamic, dynamic>{const core::bool::fromEnvironment(#C1): const core::bool::fromEnvironment(#C2)}
-  #C17 = 0
-  #C18 = 1
-  #C19 = <core::List<core::int?>, core::int>{#C13:#C17, #C14:#C18)
-  #C20 = "hello"
-  #C21 = <core::String>{#C20}
-}
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.strong.transformed.expect
deleted file mode 100644
index d9dd342..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.strong.transformed.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart:27:7: Error: Expected 2 type arguments.
-// const Map<bool> MapWithUnevaluated = {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::bool> listWithUnevaluated = #C5;
-static const field core::List<core::bool> listWithUnevaluatedSpread = #C8;
-static const field core::Set<core::bool> setWithUnevaluated = #C10;
-static const field core::Set<core::bool> setWithUnevaluatedSpread = #C12;
-static const field core::List<core::int> a = #C13;
-static const field core::List<core::int?> b = #C14;
-static const field core::Set<core::List<core::int?>> setNotAgnosticOK = #C15;
-static const field invalid-type MapWithUnevaluated = #C16;
-static const field core::Map<core::List<core::int?>, core::int> mapNotAgnosticOK = #C19;
-static method main() → dynamic {
-  core::print(#C20);
-  core::print(#C21);
-  core::print(#C22);
-  core::print(#C23);
-  core::print(<core::String>{"hello"});
-  core::print(#C25);
-}
-
-constants  {
-  #C1 = "foo"
-  #C2 = "bar"
-  #C3 = true
-  #C4 = <core::bool>[#C3]
-  #C5 = eval const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4
-  #C6 = false
-  #C7 = <core::bool>[#C6]
-  #C8 = eval #C4 + const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4 + #C7
-  #C9 = <core::bool>{#C3}
-  #C10 = eval const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9
-  #C11 = <core::bool>{#C6}
-  #C12 = eval #C9 + const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9 + #C11
-  #C13 = <core::int>[]
-  #C14 = <core::int?>[]
-  #C15 = <core::List<core::int?>>{#C13, #C14}
-  #C16 = eval const <dynamic, dynamic>{const core::bool::fromEnvironment(#C1): const core::bool::fromEnvironment(#C2)}
-  #C17 = 0
-  #C18 = 1
-  #C19 = <core::List<core::int?>, core::int>{#C13:#C17, #C14:#C18)
-  #C20 = eval const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4
-  #C21 = eval #C4 + const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4 + #C7
-  #C22 = eval const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9
-  #C23 = eval #C9 + const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9 + #C11
-  #C24 = "hello"
-  #C25 = <core::String>{#C24}
-}
-
-Extra constant evaluation status:
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:5:40 -> ListConstant(const <bool>[false, false, true])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool>[true, false, false, true, false])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:5:40 -> ListConstant(const <bool>[false, false, true])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool>[true, false, false, true, false])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:27:38 -> MapConstant(const <bool, bool>{false: false})
-Extra constant evaluation: evaluated: 16, effectively constant: 5
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.expect
new file mode 100644
index 0000000..8044a08
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.expect
@@ -0,0 +1,52 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart:27:7: Error: Expected 2 type arguments.
+// const Map<bool> MapWithUnevaluated = {
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::bool> listWithUnevaluated = #C5;
+static const field core::List<core::bool> listWithUnevaluatedSpread = #C8;
+static const field core::Set<core::bool> setWithUnevaluated = #C10;
+static const field core::Set<core::bool> setWithUnevaluatedSpread = #C12;
+static const field core::List<core::int> a = #C13;
+static const field core::List<core::int?> b = #C14;
+static const field core::Set<core::List<core::int?>> setNotAgnosticOK = #C15;
+static const field invalid-type MapWithUnevaluated = #C16;
+static const field core::Map<core::List<core::int?>, core::int> mapNotAgnosticOK = #C19;
+static method main() → dynamic {
+  core::print(#C5);
+  core::print(#C8);
+  core::print(#C10);
+  core::print(#C12);
+  core::print(<core::String>{"hello"});
+  core::print(#C21);
+}
+
+constants  {
+  #C1 = "foo"
+  #C2 = "bar"
+  #C3 = true
+  #C4 = <core::bool*>[#C3]
+  #C5 = eval const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4
+  #C6 = false
+  #C7 = <core::bool*>[#C6]
+  #C8 = eval #C4 + const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4 + #C7
+  #C9 = <core::bool*>{#C3}
+  #C10 = eval const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9
+  #C11 = <core::bool*>{#C6}
+  #C12 = eval #C9 + const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9 + #C11
+  #C13 = <core::int*>[]
+  #C14 = <core::int?>[]
+  #C15 = <core::List<core::int?>*>{#C13, #C14}
+  #C16 = eval const <dynamic, dynamic>{const core::bool::fromEnvironment(#C1): const core::bool::fromEnvironment(#C2)}
+  #C17 = 0
+  #C18 = 1
+  #C19 = <core::List<core::int?>*, core::int*>{#C13:#C17, #C14:#C18)
+  #C20 = "hello"
+  #C21 = <core::String*>{#C20}
+}
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.outline.expect
new file mode 100644
index 0000000..c2729313
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.outline.expect
@@ -0,0 +1,44 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart:27:7: Error: Expected 2 type arguments.
+// const Map<bool> MapWithUnevaluated = {
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::bool> listWithUnevaluated = const <core::bool>[const core::bool::fromEnvironment("foo"), const core::bool::fromEnvironment("bar"), true];
+static const field core::List<core::bool> listWithUnevaluatedSpread = const <core::bool>[true] + self::listWithUnevaluated + const <core::bool>[false];
+static const field core::Set<core::bool> setWithUnevaluated = const <core::bool>{const core::bool::fromEnvironment("foo"), const core::bool::fromEnvironment("bar"), true};
+static const field core::Set<core::bool> setWithUnevaluatedSpread = const <core::bool>{true} + self::setWithUnevaluated + const <core::bool>{false};
+static const field core::List<core::int> a = const <core::int>[];
+static const field core::List<core::int?> b = const <core::int?>[];
+static const field core::Set<core::List<core::int?>> setNotAgnosticOK = const <core::List<core::int?>>{self::a, self::b};
+static const field invalid-type MapWithUnevaluated = const <core::bool, core::bool>{const core::bool::fromEnvironment("foo"): const core::bool::fromEnvironment("bar")};
+static const field core::Map<core::List<core::int?>, core::int> mapNotAgnosticOK = const <core::List<core::int?>, core::int>{self::a: 0, self::b: 1};
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///const_collections.dart:5:40 -> ListConstant(const <bool*>[false, false, true])
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:6:8 -> BoolConstant(false)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:7:8 -> BoolConstant(false)
+Evaluated with empty environment: ListConcatenation @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool*>[true, false, false, true, false])
+Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool*>[true])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///const_collections.dart:12:6 -> ListConstant(const <bool*>[false, false, true])
+Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool*>[false])
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:17:8 -> BoolConstant(false)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:18:8 -> BoolConstant(false)
+Evaluated: SetLiteral @ org-dartlang-testcase:///const_collections.dart:21:44 -> SetConstant(const <bool*>{true})
+Evaluated: SetLiteral @ org-dartlang-testcase:///const_collections.dart:21:44 -> SetConstant(const <bool*>{false})
+Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:23:16 -> ListConstant(const <int*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///const_collections.dart:24:17 -> ListConstant(const <int?>[])
+Evaluated: SetLiteral @ org-dartlang-testcase:///const_collections.dart:25:26 -> SetConstant(const <List<int?>*>{const <int*>[], const <int?>[]})
+Evaluated with empty environment: MapLiteral @ org-dartlang-testcase:///const_collections.dart:27:38 -> MapConstant(const <bool*, bool*>{false: false})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:28:8 -> BoolConstant(false)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections.dart:28:37 -> BoolConstant(false)
+Evaluated: MapLiteral @ org-dartlang-testcase:///const_collections.dart:31:26 -> MapConstant(const <List<int?>*, int*>{const <int*>[]: 0, const <int?>[]: 1})
+Extra constant evaluation: evaluated: 21, effectively constant: 18
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.transformed.expect
new file mode 100644
index 0000000..c7e9a22
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart.weak.transformed.expect
@@ -0,0 +1,64 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections.dart:27:7: Error: Expected 2 type arguments.
+// const Map<bool> MapWithUnevaluated = {
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::bool> listWithUnevaluated = #C5;
+static const field core::List<core::bool> listWithUnevaluatedSpread = #C8;
+static const field core::Set<core::bool> setWithUnevaluated = #C10;
+static const field core::Set<core::bool> setWithUnevaluatedSpread = #C12;
+static const field core::List<core::int> a = #C13;
+static const field core::List<core::int?> b = #C14;
+static const field core::Set<core::List<core::int?>> setNotAgnosticOK = #C15;
+static const field invalid-type MapWithUnevaluated = #C16;
+static const field core::Map<core::List<core::int?>, core::int> mapNotAgnosticOK = #C19;
+static method main() → dynamic {
+  core::print(#C20);
+  core::print(#C21);
+  core::print(#C22);
+  core::print(#C23);
+  core::print(<core::String>{"hello"});
+  core::print(#C25);
+}
+
+constants  {
+  #C1 = "foo"
+  #C2 = "bar"
+  #C3 = true
+  #C4 = <core::bool*>[#C3]
+  #C5 = eval const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4
+  #C6 = false
+  #C7 = <core::bool*>[#C6]
+  #C8 = eval #C4 + const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4 + #C7
+  #C9 = <core::bool*>{#C3}
+  #C10 = eval const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9
+  #C11 = <core::bool*>{#C6}
+  #C12 = eval #C9 + const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9 + #C11
+  #C13 = <core::int*>[]
+  #C14 = <core::int?>[]
+  #C15 = <core::List<core::int?>*>{#C13, #C14}
+  #C16 = eval const <dynamic, dynamic>{const core::bool::fromEnvironment(#C1): const core::bool::fromEnvironment(#C2)}
+  #C17 = 0
+  #C18 = 1
+  #C19 = <core::List<core::int?>*, core::int*>{#C13:#C17, #C14:#C18)
+  #C20 = eval const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4
+  #C21 = eval #C4 + const <dynamic>[const core::bool::fromEnvironment(#C1)] + const <dynamic>[const core::bool::fromEnvironment(#C2)] + #C4 + #C7
+  #C22 = eval const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9
+  #C23 = eval #C9 + const <dynamic>{const core::bool::fromEnvironment(#C1)} + const <dynamic>{const core::bool::fromEnvironment(#C2)} + #C9 + #C11
+  #C24 = "hello"
+  #C25 = <core::String*>{#C24}
+}
+
+Extra constant evaluation status:
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:5:40 -> ListConstant(const <bool*>[false, false, true])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool*>[true, false, false, true, false])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:5:40 -> ListConstant(const <bool*>[false, false, true])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:10:46 -> ListConstant(const <bool*>[true, false, false, true, false])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections.dart:27:38 -> MapConstant(const <bool*, bool*>{false: false})
+Extra constant evaluation: evaluated: 16, effectively constant: 5
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.outline.expect
deleted file mode 100644
index fe9dea9..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.outline.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::String> listWithUnevaluatedUnevaluatedFirst = const <core::String>[const core::String::fromEnvironment("foo"), const core::String::fromEnvironment("bar"), "hello", "world"];
-static const field core::List<core::String> listWithUnevaluatedUnevaluatedMiddle = const <core::String>["A", "few", "strings", const core::String::fromEnvironment("foo"), const core::String::fromEnvironment("bar"), "hello", "world", "and", "more"];
-static const field core::Set<core::String> setWithUnevaluatedUnevaluatedFirst = const <core::String>{const core::String::fromEnvironment("foo"), "hello", "world"};
-static const field core::Set<core::String> setWithUnevaluatedUnevaluatedMiddle = const <core::String>{"A", "few", "strings", const core::String::fromEnvironment("foo"), "hello", "world", "and", "more"};
-static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedFirst = const <core::String, core::int>{const core::String::fromEnvironment("foo"): 42, "hello": 42, "world": 42};
-static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedMiddle = const <core::String, core::int>{"A": 42, "few": 42, "strings": 42, const core::String::fromEnvironment("foo"): 42, "hello": 42, "world": 42, "and": 42, "more": 42};
-
-
-Extra constant evaluation status:
-Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///const_collections_2.dart:5:58 -> ListConstant(const <String>["", "", "hello", "world"])
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:6:10 -> StringConstant("")
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:7:10 -> StringConstant("")
-Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///const_collections_2.dart:12:59 -> ListConstant(const <String>["A", "few", "strings", "", "", "hello", "world", "and", "more"])
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:16:10 -> StringConstant("")
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:17:10 -> StringConstant("")
-Evaluated with empty environment: SetLiteral @ org-dartlang-testcase:///const_collections_2.dart:24:56 -> SetConstant(const <String>{"", "hello", "world"})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:27:10 -> StringConstant("")
-Evaluated with empty environment: SetLiteral @ org-dartlang-testcase:///const_collections_2.dart:32:57 -> SetConstant(const <String>{"A", "few", "strings", "", "hello", "world", "and", "more"})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:38:10 -> StringConstant("")
-Evaluated with empty environment: MapLiteral @ org-dartlang-testcase:///const_collections_2.dart:45:61 -> MapConstant(const <String, int>{"": 42, "hello": 42, "world": 42})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:48:10 -> StringConstant("")
-Evaluated with empty environment: MapLiteral @ org-dartlang-testcase:///const_collections_2.dart:53:62 -> MapConstant(const <String, int>{"A": 42, "few": 42, "strings": 42, "": 42, "hello": 42, "world": 42, "and": 42, "more": 42})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:59:10 -> StringConstant("")
-Extra constant evaluation: evaluated: 14, effectively constant: 14
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.strong.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.strong.expect
deleted file mode 100644
index e609799..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.strong.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::String> listWithUnevaluatedUnevaluatedFirst = #C6;
-static const field core::List<core::String> listWithUnevaluatedUnevaluatedMiddle = #C14;
-static const field core::Set<core::String> setWithUnevaluatedUnevaluatedFirst = #C16;
-static const field core::Set<core::String> setWithUnevaluatedUnevaluatedMiddle = #C19;
-static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedFirst = #C22;
-static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedMiddle = #C25;
-
-constants  {
-  #C1 = "foo"
-  #C2 = "bar"
-  #C3 = "hello"
-  #C4 = "world"
-  #C5 = <core::String>[#C3, #C4]
-  #C6 = eval const <dynamic>[const core::String::fromEnvironment(#C1)] + const <dynamic>[const core::String::fromEnvironment(#C2)] + #C5
-  #C7 = "A"
-  #C8 = "few"
-  #C9 = "strings"
-  #C10 = <core::String>[#C7, #C8, #C9]
-  #C11 = "and"
-  #C12 = "more"
-  #C13 = <core::String>[#C3, #C4, #C11, #C12]
-  #C14 = eval #C10 + const <dynamic>[const core::String::fromEnvironment(#C1)] + const <dynamic>[const core::String::fromEnvironment(#C2)] + #C13
-  #C15 = <core::String>{#C3, #C4}
-  #C16 = eval const <dynamic>{const core::String::fromEnvironment(#C1)} + #C15
-  #C17 = <core::String>{#C7, #C8, #C9}
-  #C18 = <core::String>{#C3, #C4, #C11, #C12}
-  #C19 = eval #C17 + const <dynamic>{const core::String::fromEnvironment(#C1)} + #C18
-  #C20 = 42
-  #C21 = <core::String, core::int>{#C3:#C20, #C4:#C20)
-  #C22 = eval const <dynamic, dynamic>{const core::String::fromEnvironment(#C1): #C20} + #C21
-  #C23 = <core::String, core::int>{#C7:#C20, #C8:#C20, #C9:#C20)
-  #C24 = <core::String, core::int>{#C3:#C20, #C4:#C20, #C11:#C20, #C12:#C20)
-  #C25 = eval #C23 + const <dynamic, dynamic>{const core::String::fromEnvironment(#C1): #C20} + #C24
-}
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.strong.transformed.expect
deleted file mode 100644
index 7214a08..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.strong.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::String> listWithUnevaluatedUnevaluatedFirst = #C6;
-static const field core::List<core::String> listWithUnevaluatedUnevaluatedMiddle = #C14;
-static const field core::Set<core::String> setWithUnevaluatedUnevaluatedFirst = #C16;
-static const field core::Set<core::String> setWithUnevaluatedUnevaluatedMiddle = #C19;
-static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedFirst = #C22;
-static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedMiddle = #C25;
-
-constants  {
-  #C1 = "foo"
-  #C2 = "bar"
-  #C3 = "hello"
-  #C4 = "world"
-  #C5 = <core::String>[#C3, #C4]
-  #C6 = eval const <dynamic>[const core::String::fromEnvironment(#C1)] + const <dynamic>[const core::String::fromEnvironment(#C2)] + #C5
-  #C7 = "A"
-  #C8 = "few"
-  #C9 = "strings"
-  #C10 = <core::String>[#C7, #C8, #C9]
-  #C11 = "and"
-  #C12 = "more"
-  #C13 = <core::String>[#C3, #C4, #C11, #C12]
-  #C14 = eval #C10 + const <dynamic>[const core::String::fromEnvironment(#C1)] + const <dynamic>[const core::String::fromEnvironment(#C2)] + #C13
-  #C15 = <core::String>{#C3, #C4}
-  #C16 = eval const <dynamic>{const core::String::fromEnvironment(#C1)} + #C15
-  #C17 = <core::String>{#C7, #C8, #C9}
-  #C18 = <core::String>{#C3, #C4, #C11, #C12}
-  #C19 = eval #C17 + const <dynamic>{const core::String::fromEnvironment(#C1)} + #C18
-  #C20 = 42
-  #C21 = <core::String, core::int>{#C3:#C20, #C4:#C20)
-  #C22 = eval const <dynamic, dynamic>{const core::String::fromEnvironment(#C1): #C20} + #C21
-  #C23 = <core::String, core::int>{#C7:#C20, #C8:#C20, #C9:#C20)
-  #C24 = <core::String, core::int>{#C3:#C20, #C4:#C20, #C11:#C20, #C12:#C20)
-  #C25 = eval #C23 + const <dynamic, dynamic>{const core::String::fromEnvironment(#C1): #C20} + #C24
-}
-
-Extra constant evaluation status:
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:5:58 -> ListConstant(const <String>["", "", "hello", "world"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:12:59 -> ListConstant(const <String>["A", "few", "strings", "", "", "hello", "world", "and", "more"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:24:56 -> SetConstant(const <String>{"", "hello", "world"})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:32:57 -> SetConstant(const <String>{"A", "few", "strings", "", "hello", "world", "and", "more"})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:45:61 -> MapConstant(const <String, int>{"": 42, "hello": 42, "world": 42})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:53:62 -> MapConstant(const <String, int>{"A": 42, "few": 42, "strings": 42, "": 42, "hello": 42, "world": 42, "and": 42, "more": 42})
-Extra constant evaluation: evaluated: 6, effectively constant: 6
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.expect
new file mode 100644
index 0000000..19a8cfb
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.expect
@@ -0,0 +1,38 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::String> listWithUnevaluatedUnevaluatedFirst = #C6;
+static const field core::List<core::String> listWithUnevaluatedUnevaluatedMiddle = #C14;
+static const field core::Set<core::String> setWithUnevaluatedUnevaluatedFirst = #C16;
+static const field core::Set<core::String> setWithUnevaluatedUnevaluatedMiddle = #C19;
+static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedFirst = #C22;
+static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedMiddle = #C25;
+
+constants  {
+  #C1 = "foo"
+  #C2 = "bar"
+  #C3 = "hello"
+  #C4 = "world"
+  #C5 = <core::String*>[#C3, #C4]
+  #C6 = eval const <dynamic>[const core::String::fromEnvironment(#C1)] + const <dynamic>[const core::String::fromEnvironment(#C2)] + #C5
+  #C7 = "A"
+  #C8 = "few"
+  #C9 = "strings"
+  #C10 = <core::String*>[#C7, #C8, #C9]
+  #C11 = "and"
+  #C12 = "more"
+  #C13 = <core::String*>[#C3, #C4, #C11, #C12]
+  #C14 = eval #C10 + const <dynamic>[const core::String::fromEnvironment(#C1)] + const <dynamic>[const core::String::fromEnvironment(#C2)] + #C13
+  #C15 = <core::String*>{#C3, #C4}
+  #C16 = eval const <dynamic>{const core::String::fromEnvironment(#C1)} + #C15
+  #C17 = <core::String*>{#C7, #C8, #C9}
+  #C18 = <core::String*>{#C3, #C4, #C11, #C12}
+  #C19 = eval #C17 + const <dynamic>{const core::String::fromEnvironment(#C1)} + #C18
+  #C20 = 42
+  #C21 = <core::String*, core::int*>{#C3:#C20, #C4:#C20)
+  #C22 = eval const <dynamic, dynamic>{const core::String::fromEnvironment(#C1): #C20} + #C21
+  #C23 = <core::String*, core::int*>{#C7:#C20, #C8:#C20, #C9:#C20)
+  #C24 = <core::String*, core::int*>{#C3:#C20, #C4:#C20, #C11:#C20, #C12:#C20)
+  #C25 = eval #C23 + const <dynamic, dynamic>{const core::String::fromEnvironment(#C1): #C20} + #C24
+}
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.outline.expect
new file mode 100644
index 0000000..9a289e2
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.outline.expect
@@ -0,0 +1,28 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::String> listWithUnevaluatedUnevaluatedFirst = const <core::String>[const core::String::fromEnvironment("foo"), const core::String::fromEnvironment("bar"), "hello", "world"];
+static const field core::List<core::String> listWithUnevaluatedUnevaluatedMiddle = const <core::String>["A", "few", "strings", const core::String::fromEnvironment("foo"), const core::String::fromEnvironment("bar"), "hello", "world", "and", "more"];
+static const field core::Set<core::String> setWithUnevaluatedUnevaluatedFirst = const <core::String>{const core::String::fromEnvironment("foo"), "hello", "world"};
+static const field core::Set<core::String> setWithUnevaluatedUnevaluatedMiddle = const <core::String>{"A", "few", "strings", const core::String::fromEnvironment("foo"), "hello", "world", "and", "more"};
+static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedFirst = const <core::String, core::int>{const core::String::fromEnvironment("foo"): 42, "hello": 42, "world": 42};
+static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedMiddle = const <core::String, core::int>{"A": 42, "few": 42, "strings": 42, const core::String::fromEnvironment("foo"): 42, "hello": 42, "world": 42, "and": 42, "more": 42};
+
+
+Extra constant evaluation status:
+Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///const_collections_2.dart:5:58 -> ListConstant(const <String*>["", "", "hello", "world"])
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:6:10 -> StringConstant("")
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:7:10 -> StringConstant("")
+Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///const_collections_2.dart:12:59 -> ListConstant(const <String*>["A", "few", "strings", "", "", "hello", "world", "and", "more"])
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:16:10 -> StringConstant("")
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:17:10 -> StringConstant("")
+Evaluated with empty environment: SetLiteral @ org-dartlang-testcase:///const_collections_2.dart:24:56 -> SetConstant(const <String*>{"", "hello", "world"})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:27:10 -> StringConstant("")
+Evaluated with empty environment: SetLiteral @ org-dartlang-testcase:///const_collections_2.dart:32:57 -> SetConstant(const <String*>{"A", "few", "strings", "", "hello", "world", "and", "more"})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:38:10 -> StringConstant("")
+Evaluated with empty environment: MapLiteral @ org-dartlang-testcase:///const_collections_2.dart:45:61 -> MapConstant(const <String*, int*>{"": 42, "hello": 42, "world": 42})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:48:10 -> StringConstant("")
+Evaluated with empty environment: MapLiteral @ org-dartlang-testcase:///const_collections_2.dart:53:62 -> MapConstant(const <String*, int*>{"A": 42, "few": 42, "strings": 42, "": 42, "hello": 42, "world": 42, "and": 42, "more": 42})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///const_collections_2.dart:59:10 -> StringConstant("")
+Extra constant evaluation: evaluated: 14, effectively constant: 14
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.transformed.expect
new file mode 100644
index 0000000..53c1c60
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/const_collections_2.dart.weak.transformed.expect
@@ -0,0 +1,47 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::String> listWithUnevaluatedUnevaluatedFirst = #C6;
+static const field core::List<core::String> listWithUnevaluatedUnevaluatedMiddle = #C14;
+static const field core::Set<core::String> setWithUnevaluatedUnevaluatedFirst = #C16;
+static const field core::Set<core::String> setWithUnevaluatedUnevaluatedMiddle = #C19;
+static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedFirst = #C22;
+static const field core::Map<core::String, core::int> mapWithUnevaluatedUnevaluatedMiddle = #C25;
+
+constants  {
+  #C1 = "foo"
+  #C2 = "bar"
+  #C3 = "hello"
+  #C4 = "world"
+  #C5 = <core::String*>[#C3, #C4]
+  #C6 = eval const <dynamic>[const core::String::fromEnvironment(#C1)] + const <dynamic>[const core::String::fromEnvironment(#C2)] + #C5
+  #C7 = "A"
+  #C8 = "few"
+  #C9 = "strings"
+  #C10 = <core::String*>[#C7, #C8, #C9]
+  #C11 = "and"
+  #C12 = "more"
+  #C13 = <core::String*>[#C3, #C4, #C11, #C12]
+  #C14 = eval #C10 + const <dynamic>[const core::String::fromEnvironment(#C1)] + const <dynamic>[const core::String::fromEnvironment(#C2)] + #C13
+  #C15 = <core::String*>{#C3, #C4}
+  #C16 = eval const <dynamic>{const core::String::fromEnvironment(#C1)} + #C15
+  #C17 = <core::String*>{#C7, #C8, #C9}
+  #C18 = <core::String*>{#C3, #C4, #C11, #C12}
+  #C19 = eval #C17 + const <dynamic>{const core::String::fromEnvironment(#C1)} + #C18
+  #C20 = 42
+  #C21 = <core::String*, core::int*>{#C3:#C20, #C4:#C20)
+  #C22 = eval const <dynamic, dynamic>{const core::String::fromEnvironment(#C1): #C20} + #C21
+  #C23 = <core::String*, core::int*>{#C7:#C20, #C8:#C20, #C9:#C20)
+  #C24 = <core::String*, core::int*>{#C3:#C20, #C4:#C20, #C11:#C20, #C12:#C20)
+  #C25 = eval #C23 + const <dynamic, dynamic>{const core::String::fromEnvironment(#C1): #C20} + #C24
+}
+
+Extra constant evaluation status:
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:5:58 -> ListConstant(const <String*>["", "", "hello", "world"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:12:59 -> ListConstant(const <String*>["A", "few", "strings", "", "", "hello", "world", "and", "more"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:24:56 -> SetConstant(const <String*>{"", "hello", "world"})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:32:57 -> SetConstant(const <String*>{"A", "few", "strings", "", "hello", "world", "and", "more"})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:45:61 -> MapConstant(const <String*, int*>{"": 42, "hello": 42, "world": 42})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///const_collections_2.dart:53:62 -> MapConstant(const <String*, int*>{"A": 42, "few": 42, "strings": 42, "": 42, "hello": 42, "world": 42, "and": 42, "more": 42})
+Extra constant evaluation: evaluated: 6, effectively constant: 6
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/folder.options b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/folder.options
index 41f34dd..2913882 100644
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/folder.options
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/folder.options
@@ -2,4 +2,4 @@
 --target=none
 --no-verify
 --nnbd-agnostic
---enable-experiment=non-nullable,triple-shift
\ No newline at end of file
+--enable-experiment=triple-shift
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.outline.expect
deleted file mode 100644
index 7bdbe47..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.outline.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::String> original = const <core::String>["lots", "of", "strings", const core::String::fromEnvironment("original"), "that", "are", "already", "constants"];
-static const field core::List<core::String> copy1 = self::original;
-static const field core::List<core::String> copy2 = self::copy1;
-static const field core::List<core::String> copy3 = self::copy2;
-static const field core::List<core::String> copy4 = self::copy3;
-static const field core::List<core::String> copy5 = self::copy4;
-static const field core::List<core::String> copy6 = self::copy5;
-static const field core::List<core::String> copy7 = self::copy6;
-static const field core::List<core::String> copy8 = self::copy7;
-static const field core::List<core::String> copy9 = self::copy8;
-static const field core::List<core::String> copy10 = self::copy9;
-static const field core::List<core::String> copy11 = self::copy10;
-static const field core::List<core::String> copy12 = self::copy11;
-static const field core::List<core::String> copy13 = self::copy12;
-static const field core::List<core::String> copy14 = self::copy13;
-static const field core::List<core::String> copy15 = self::copy14;
-static const field core::List<core::String> copy16 = self::copy15;
-static const field core::List<core::String> copy17 = self::copy16;
-static const field core::List<core::String> copy18 = self::copy17;
-static const field core::List<core::String> copy19 = self::copy18;
-static const field core::List<core::String> copy20 = self::copy19;
-static const field core::List<core::String> copy21 = self::copy20;
-static const field core::List<core::String> copy22 = self::copy21;
-static const field core::List<core::String> copy23 = self::copy22;
-static const field core::List<core::String> copy24 = self::copy23;
-static const field core::List<core::String> copy25 = self::copy24;
-static const field core::List<core::String> copy26 = self::copy25;
-static const field core::List<core::String> copy27 = self::copy26;
-static const field core::List<core::String> copy28 = self::copy27;
-static const field core::List<core::String> copy29 = self::copy28;
-static const field core::List<core::String> copy30 = self::copy29;
-static const field core::List<core::String> copy31 = self::copy30;
-static const field core::List<core::String> copy32 = self::copy31;
-static const field core::List<core::String> copy33 = self::copy32;
-static const field core::List<core::String> copy34 = self::copy33;
-static const field core::List<core::String> copy35 = self::copy34;
-static const field core::List<core::String> copy36 = self::copy35;
-static const field core::List<core::String> copy37 = self::copy36;
-static const field core::List<core::String> copy38 = self::copy37;
-static const field core::List<core::String> copy39 = self::copy38;
-static const field core::List<core::String> copy40 = self::copy39;
-static const field core::List<core::String> copy41 = self::copy40;
-static const field core::List<core::String> copy42 = self::copy41;
-static const field core::List<core::String> copy43 = self::copy42;
-static const field core::List<core::String> copy44 = self::copy43;
-static const field core::List<core::String> copy45 = self::copy44;
-static const field core::List<core::String> copy46 = self::copy45;
-static const field core::List<core::String> copy47 = self::copy46;
-static const field core::List<core::String> copy48 = self::copy47;
-static const field core::List<core::String> copy49 = self::copy48;
-static const field core::List<core::String> copy50 = self::copy49;
-
-
-Extra constant evaluation status:
-Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:1:18 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:5:10 -> StringConstant("")
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:11:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:12:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:13:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:14:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:15:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:16:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:17:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:18:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:19:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:20:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:21:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:22:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:23:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:24:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:25:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:26:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:27:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:28:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:29:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:30:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:31:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:32:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:33:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:34:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:35:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:36:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:37:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:38:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:39:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:40:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:41:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:42:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:43:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:44:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:45:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:46:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:47:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:48:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:49:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:50:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:51:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:52:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:53:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:54:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:55:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:56:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:57:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:58:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:59:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:60:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Extra constant evaluation: evaluated: 52, effectively constant: 52
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.strong.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.strong.expect
deleted file mode 100644
index 3e09f70..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.strong.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::String> original = #C11;
-static const field core::List<core::String> copy1 = #C11;
-static const field core::List<core::String> copy2 = #C11;
-static const field core::List<core::String> copy3 = #C11;
-static const field core::List<core::String> copy4 = #C11;
-static const field core::List<core::String> copy5 = #C11;
-static const field core::List<core::String> copy6 = #C11;
-static const field core::List<core::String> copy7 = #C11;
-static const field core::List<core::String> copy8 = #C11;
-static const field core::List<core::String> copy9 = #C11;
-static const field core::List<core::String> copy10 = #C11;
-static const field core::List<core::String> copy11 = #C11;
-static const field core::List<core::String> copy12 = #C11;
-static const field core::List<core::String> copy13 = #C11;
-static const field core::List<core::String> copy14 = #C11;
-static const field core::List<core::String> copy15 = #C11;
-static const field core::List<core::String> copy16 = #C11;
-static const field core::List<core::String> copy17 = #C11;
-static const field core::List<core::String> copy18 = #C11;
-static const field core::List<core::String> copy19 = #C11;
-static const field core::List<core::String> copy20 = #C11;
-static const field core::List<core::String> copy21 = #C11;
-static const field core::List<core::String> copy22 = #C11;
-static const field core::List<core::String> copy23 = #C11;
-static const field core::List<core::String> copy24 = #C11;
-static const field core::List<core::String> copy25 = #C11;
-static const field core::List<core::String> copy26 = #C11;
-static const field core::List<core::String> copy27 = #C11;
-static const field core::List<core::String> copy28 = #C11;
-static const field core::List<core::String> copy29 = #C11;
-static const field core::List<core::String> copy30 = #C11;
-static const field core::List<core::String> copy31 = #C11;
-static const field core::List<core::String> copy32 = #C11;
-static const field core::List<core::String> copy33 = #C11;
-static const field core::List<core::String> copy34 = #C11;
-static const field core::List<core::String> copy35 = #C11;
-static const field core::List<core::String> copy36 = #C11;
-static const field core::List<core::String> copy37 = #C11;
-static const field core::List<core::String> copy38 = #C11;
-static const field core::List<core::String> copy39 = #C11;
-static const field core::List<core::String> copy40 = #C11;
-static const field core::List<core::String> copy41 = #C11;
-static const field core::List<core::String> copy42 = #C11;
-static const field core::List<core::String> copy43 = #C11;
-static const field core::List<core::String> copy44 = #C11;
-static const field core::List<core::String> copy45 = #C11;
-static const field core::List<core::String> copy46 = #C11;
-static const field core::List<core::String> copy47 = #C11;
-static const field core::List<core::String> copy48 = #C11;
-static const field core::List<core::String> copy49 = #C11;
-static const field core::List<core::String> copy50 = #C11;
-
-constants  {
-  #C1 = "lots"
-  #C2 = "of"
-  #C3 = "strings"
-  #C4 = <core::String>[#C1, #C2, #C3]
-  #C5 = "original"
-  #C6 = "that"
-  #C7 = "are"
-  #C8 = "already"
-  #C9 = "constants"
-  #C10 = <core::String>[#C6, #C7, #C8, #C9]
-  #C11 = eval #C4 + const <dynamic>[const core::String::fromEnvironment(#C5)] + #C10
-}
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.strong.transformed.expect
deleted file mode 100644
index d824410..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.strong.transformed.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static const field core::List<core::String> original = #C11;
-static const field core::List<core::String> copy1 = #C11;
-static const field core::List<core::String> copy2 = #C11;
-static const field core::List<core::String> copy3 = #C11;
-static const field core::List<core::String> copy4 = #C11;
-static const field core::List<core::String> copy5 = #C11;
-static const field core::List<core::String> copy6 = #C11;
-static const field core::List<core::String> copy7 = #C11;
-static const field core::List<core::String> copy8 = #C11;
-static const field core::List<core::String> copy9 = #C11;
-static const field core::List<core::String> copy10 = #C11;
-static const field core::List<core::String> copy11 = #C11;
-static const field core::List<core::String> copy12 = #C11;
-static const field core::List<core::String> copy13 = #C11;
-static const field core::List<core::String> copy14 = #C11;
-static const field core::List<core::String> copy15 = #C11;
-static const field core::List<core::String> copy16 = #C11;
-static const field core::List<core::String> copy17 = #C11;
-static const field core::List<core::String> copy18 = #C11;
-static const field core::List<core::String> copy19 = #C11;
-static const field core::List<core::String> copy20 = #C11;
-static const field core::List<core::String> copy21 = #C11;
-static const field core::List<core::String> copy22 = #C11;
-static const field core::List<core::String> copy23 = #C11;
-static const field core::List<core::String> copy24 = #C11;
-static const field core::List<core::String> copy25 = #C11;
-static const field core::List<core::String> copy26 = #C11;
-static const field core::List<core::String> copy27 = #C11;
-static const field core::List<core::String> copy28 = #C11;
-static const field core::List<core::String> copy29 = #C11;
-static const field core::List<core::String> copy30 = #C11;
-static const field core::List<core::String> copy31 = #C11;
-static const field core::List<core::String> copy32 = #C11;
-static const field core::List<core::String> copy33 = #C11;
-static const field core::List<core::String> copy34 = #C11;
-static const field core::List<core::String> copy35 = #C11;
-static const field core::List<core::String> copy36 = #C11;
-static const field core::List<core::String> copy37 = #C11;
-static const field core::List<core::String> copy38 = #C11;
-static const field core::List<core::String> copy39 = #C11;
-static const field core::List<core::String> copy40 = #C11;
-static const field core::List<core::String> copy41 = #C11;
-static const field core::List<core::String> copy42 = #C11;
-static const field core::List<core::String> copy43 = #C11;
-static const field core::List<core::String> copy44 = #C11;
-static const field core::List<core::String> copy45 = #C11;
-static const field core::List<core::String> copy46 = #C11;
-static const field core::List<core::String> copy47 = #C11;
-static const field core::List<core::String> copy48 = #C11;
-static const field core::List<core::String> copy49 = #C11;
-static const field core::List<core::String> copy50 = #C11;
-
-constants  {
-  #C1 = "lots"
-  #C2 = "of"
-  #C3 = "strings"
-  #C4 = <core::String>[#C1, #C2, #C3]
-  #C5 = "original"
-  #C6 = "that"
-  #C7 = "are"
-  #C8 = "already"
-  #C9 = "constants"
-  #C10 = <core::String>[#C6, #C7, #C8, #C9]
-  #C11 = eval #C4 + const <dynamic>[const core::String::fromEnvironment(#C5)] + #C10
-}
-
-Extra constant evaluation status:
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:1:18 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:11:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:12:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:13:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:14:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:15:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:16:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:17:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:18:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:19:15 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:20:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:21:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:22:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:23:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:24:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:25:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:26:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:27:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:28:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:29:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:30:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:31:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:32:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:33:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:34:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:35:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:36:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:37:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:38:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:39:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:40:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:41:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:42:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:43:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:44:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:45:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:46:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:47:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:48:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:49:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:50:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:51:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:52:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:53:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:54:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:55:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:56:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:57:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:58:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:59:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:60:16 -> ListConstant(const <String>["lots", "of", "strings", "", "that", "are", "already", "constants"])
-Extra constant evaluation: evaluated: 51, effectively constant: 51
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.expect
new file mode 100644
index 0000000..8a84689
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.expect
@@ -0,0 +1,69 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::String> original = #C11;
+static const field core::List<core::String> copy1 = #C11;
+static const field core::List<core::String> copy2 = #C11;
+static const field core::List<core::String> copy3 = #C11;
+static const field core::List<core::String> copy4 = #C11;
+static const field core::List<core::String> copy5 = #C11;
+static const field core::List<core::String> copy6 = #C11;
+static const field core::List<core::String> copy7 = #C11;
+static const field core::List<core::String> copy8 = #C11;
+static const field core::List<core::String> copy9 = #C11;
+static const field core::List<core::String> copy10 = #C11;
+static const field core::List<core::String> copy11 = #C11;
+static const field core::List<core::String> copy12 = #C11;
+static const field core::List<core::String> copy13 = #C11;
+static const field core::List<core::String> copy14 = #C11;
+static const field core::List<core::String> copy15 = #C11;
+static const field core::List<core::String> copy16 = #C11;
+static const field core::List<core::String> copy17 = #C11;
+static const field core::List<core::String> copy18 = #C11;
+static const field core::List<core::String> copy19 = #C11;
+static const field core::List<core::String> copy20 = #C11;
+static const field core::List<core::String> copy21 = #C11;
+static const field core::List<core::String> copy22 = #C11;
+static const field core::List<core::String> copy23 = #C11;
+static const field core::List<core::String> copy24 = #C11;
+static const field core::List<core::String> copy25 = #C11;
+static const field core::List<core::String> copy26 = #C11;
+static const field core::List<core::String> copy27 = #C11;
+static const field core::List<core::String> copy28 = #C11;
+static const field core::List<core::String> copy29 = #C11;
+static const field core::List<core::String> copy30 = #C11;
+static const field core::List<core::String> copy31 = #C11;
+static const field core::List<core::String> copy32 = #C11;
+static const field core::List<core::String> copy33 = #C11;
+static const field core::List<core::String> copy34 = #C11;
+static const field core::List<core::String> copy35 = #C11;
+static const field core::List<core::String> copy36 = #C11;
+static const field core::List<core::String> copy37 = #C11;
+static const field core::List<core::String> copy38 = #C11;
+static const field core::List<core::String> copy39 = #C11;
+static const field core::List<core::String> copy40 = #C11;
+static const field core::List<core::String> copy41 = #C11;
+static const field core::List<core::String> copy42 = #C11;
+static const field core::List<core::String> copy43 = #C11;
+static const field core::List<core::String> copy44 = #C11;
+static const field core::List<core::String> copy45 = #C11;
+static const field core::List<core::String> copy46 = #C11;
+static const field core::List<core::String> copy47 = #C11;
+static const field core::List<core::String> copy48 = #C11;
+static const field core::List<core::String> copy49 = #C11;
+static const field core::List<core::String> copy50 = #C11;
+
+constants  {
+  #C1 = "lots"
+  #C2 = "of"
+  #C3 = "strings"
+  #C4 = <core::String*>[#C1, #C2, #C3]
+  #C5 = "original"
+  #C6 = "that"
+  #C7 = "are"
+  #C8 = "already"
+  #C9 = "constants"
+  #C10 = <core::String*>[#C6, #C7, #C8, #C9]
+  #C11 = eval #C4 + const <dynamic>[const core::String::fromEnvironment(#C5)] + #C10
+}
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.outline.expect
new file mode 100644
index 0000000..8ea780a
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.outline.expect
@@ -0,0 +1,111 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::String> original = const <core::String>["lots", "of", "strings", const core::String::fromEnvironment("original"), "that", "are", "already", "constants"];
+static const field core::List<core::String> copy1 = self::original;
+static const field core::List<core::String> copy2 = self::copy1;
+static const field core::List<core::String> copy3 = self::copy2;
+static const field core::List<core::String> copy4 = self::copy3;
+static const field core::List<core::String> copy5 = self::copy4;
+static const field core::List<core::String> copy6 = self::copy5;
+static const field core::List<core::String> copy7 = self::copy6;
+static const field core::List<core::String> copy8 = self::copy7;
+static const field core::List<core::String> copy9 = self::copy8;
+static const field core::List<core::String> copy10 = self::copy9;
+static const field core::List<core::String> copy11 = self::copy10;
+static const field core::List<core::String> copy12 = self::copy11;
+static const field core::List<core::String> copy13 = self::copy12;
+static const field core::List<core::String> copy14 = self::copy13;
+static const field core::List<core::String> copy15 = self::copy14;
+static const field core::List<core::String> copy16 = self::copy15;
+static const field core::List<core::String> copy17 = self::copy16;
+static const field core::List<core::String> copy18 = self::copy17;
+static const field core::List<core::String> copy19 = self::copy18;
+static const field core::List<core::String> copy20 = self::copy19;
+static const field core::List<core::String> copy21 = self::copy20;
+static const field core::List<core::String> copy22 = self::copy21;
+static const field core::List<core::String> copy23 = self::copy22;
+static const field core::List<core::String> copy24 = self::copy23;
+static const field core::List<core::String> copy25 = self::copy24;
+static const field core::List<core::String> copy26 = self::copy25;
+static const field core::List<core::String> copy27 = self::copy26;
+static const field core::List<core::String> copy28 = self::copy27;
+static const field core::List<core::String> copy29 = self::copy28;
+static const field core::List<core::String> copy30 = self::copy29;
+static const field core::List<core::String> copy31 = self::copy30;
+static const field core::List<core::String> copy32 = self::copy31;
+static const field core::List<core::String> copy33 = self::copy32;
+static const field core::List<core::String> copy34 = self::copy33;
+static const field core::List<core::String> copy35 = self::copy34;
+static const field core::List<core::String> copy36 = self::copy35;
+static const field core::List<core::String> copy37 = self::copy36;
+static const field core::List<core::String> copy38 = self::copy37;
+static const field core::List<core::String> copy39 = self::copy38;
+static const field core::List<core::String> copy40 = self::copy39;
+static const field core::List<core::String> copy41 = self::copy40;
+static const field core::List<core::String> copy42 = self::copy41;
+static const field core::List<core::String> copy43 = self::copy42;
+static const field core::List<core::String> copy44 = self::copy43;
+static const field core::List<core::String> copy45 = self::copy44;
+static const field core::List<core::String> copy46 = self::copy45;
+static const field core::List<core::String> copy47 = self::copy46;
+static const field core::List<core::String> copy48 = self::copy47;
+static const field core::List<core::String> copy49 = self::copy48;
+static const field core::List<core::String> copy50 = self::copy49;
+
+
+Extra constant evaluation status:
+Evaluated with empty environment: ListLiteral @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:1:18 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:5:10 -> StringConstant("")
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:11:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:12:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:13:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:14:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:15:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:16:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:17:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:18:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:19:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:20:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:21:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:22:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:23:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:24:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:25:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:26:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:27:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:28:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:29:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:30:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:31:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:32:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:33:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:34:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:35:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:36:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:37:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:38:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:39:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:40:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:41:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:42:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:43:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:44:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:45:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:46:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:47:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:48:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:49:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:50:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:51:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:52:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:53:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:54:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:55:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:56:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:57:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:58:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:59:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:60:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Extra constant evaluation: evaluated: 52, effectively constant: 52
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.transformed.expect
new file mode 100644
index 0000000..ee64a31
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/many_fields_pointing_to_previous_field.dart.weak.transformed.expect
@@ -0,0 +1,123 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static const field core::List<core::String> original = #C11;
+static const field core::List<core::String> copy1 = #C11;
+static const field core::List<core::String> copy2 = #C11;
+static const field core::List<core::String> copy3 = #C11;
+static const field core::List<core::String> copy4 = #C11;
+static const field core::List<core::String> copy5 = #C11;
+static const field core::List<core::String> copy6 = #C11;
+static const field core::List<core::String> copy7 = #C11;
+static const field core::List<core::String> copy8 = #C11;
+static const field core::List<core::String> copy9 = #C11;
+static const field core::List<core::String> copy10 = #C11;
+static const field core::List<core::String> copy11 = #C11;
+static const field core::List<core::String> copy12 = #C11;
+static const field core::List<core::String> copy13 = #C11;
+static const field core::List<core::String> copy14 = #C11;
+static const field core::List<core::String> copy15 = #C11;
+static const field core::List<core::String> copy16 = #C11;
+static const field core::List<core::String> copy17 = #C11;
+static const field core::List<core::String> copy18 = #C11;
+static const field core::List<core::String> copy19 = #C11;
+static const field core::List<core::String> copy20 = #C11;
+static const field core::List<core::String> copy21 = #C11;
+static const field core::List<core::String> copy22 = #C11;
+static const field core::List<core::String> copy23 = #C11;
+static const field core::List<core::String> copy24 = #C11;
+static const field core::List<core::String> copy25 = #C11;
+static const field core::List<core::String> copy26 = #C11;
+static const field core::List<core::String> copy27 = #C11;
+static const field core::List<core::String> copy28 = #C11;
+static const field core::List<core::String> copy29 = #C11;
+static const field core::List<core::String> copy30 = #C11;
+static const field core::List<core::String> copy31 = #C11;
+static const field core::List<core::String> copy32 = #C11;
+static const field core::List<core::String> copy33 = #C11;
+static const field core::List<core::String> copy34 = #C11;
+static const field core::List<core::String> copy35 = #C11;
+static const field core::List<core::String> copy36 = #C11;
+static const field core::List<core::String> copy37 = #C11;
+static const field core::List<core::String> copy38 = #C11;
+static const field core::List<core::String> copy39 = #C11;
+static const field core::List<core::String> copy40 = #C11;
+static const field core::List<core::String> copy41 = #C11;
+static const field core::List<core::String> copy42 = #C11;
+static const field core::List<core::String> copy43 = #C11;
+static const field core::List<core::String> copy44 = #C11;
+static const field core::List<core::String> copy45 = #C11;
+static const field core::List<core::String> copy46 = #C11;
+static const field core::List<core::String> copy47 = #C11;
+static const field core::List<core::String> copy48 = #C11;
+static const field core::List<core::String> copy49 = #C11;
+static const field core::List<core::String> copy50 = #C11;
+
+constants  {
+  #C1 = "lots"
+  #C2 = "of"
+  #C3 = "strings"
+  #C4 = <core::String*>[#C1, #C2, #C3]
+  #C5 = "original"
+  #C6 = "that"
+  #C7 = "are"
+  #C8 = "already"
+  #C9 = "constants"
+  #C10 = <core::String*>[#C6, #C7, #C8, #C9]
+  #C11 = eval #C4 + const <dynamic>[const core::String::fromEnvironment(#C5)] + #C10
+}
+
+Extra constant evaluation status:
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:1:18 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:11:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:12:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:13:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:14:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:15:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:16:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:17:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:18:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:19:15 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:20:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:21:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:22:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:23:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:24:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:25:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:26:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:27:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:28:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:29:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:30:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:31:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:32:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:33:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:34:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:35:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:36:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:37:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:38:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:39:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:40:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:41:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:42:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:43:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:44:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:45:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:46:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:47:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:48:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:49:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:50:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:51:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:52:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:53:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:54:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:55:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:56:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:57:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:58:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:59:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///many_fields_pointing_to_previous_field.dart:60:16 -> ListConstant(const <String*>["lots", "of", "strings", "", "that", "are", "already", "constants"])
+Extra constant evaluation: evaluated: 51, effectively constant: 51
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.strong.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.strong.expect
rename to pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.outline.expect
rename to pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/rudimentary_test_01.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.outline.expect
deleted file mode 100644
index 9d8a83e..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.outline.expect
+++ /dev/null
@@ -1,230 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:3: Error: Only static fields can be declared as const.
-// Try using 'final' instead of 'const', or adding the keyword 'static'.
-//   const bool initialized =
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:25: Error: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
-// Try moving the constant from the deferred library, or removing 'deferred' from the import.
-//
-// const fromDeferredLib = lib.x;
-//                         ^^^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:14:30: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
-// const bool nullAwareOnNull = barFromEnvOrNull ?? true;
-//                              ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
-//  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-//   const Class.method(T t) : this(-t);
-//                                  ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:123:27: Error: The parameter 'named' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// int procedure(int i, {int named}) => i;
-//                           ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "various_lib.dart" as var;
-import "dart:_internal" as _in;
-
-import "org-dartlang-testcase:///various_lib.dart" deferred as lib;
-
-typedef F = (core::int, {named: core::int}) → core::int;
-class Foo<E extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::bool saved;
-  final field core::bool saved2;
-  field core::bool initialized;
-  final field self::Foo::E% value;
-  const constructor •(self::Foo::E% value, {core::bool saved2 = const core::bool::fromEnvironment("foo", defaultValue: self::barFromEnv), core::bool x = const core::bool::fromEnvironment("foo", defaultValue: self::barFromEnv)}) → self::Foo<self::Foo::E%>
-    : self::Foo::value = value, self::Foo::saved2 = saved2, self::Foo::saved = x, super core::Object::•()
-    ;
-}
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A
-    : super core::Object::•()
-    ;
-  operator unary-() → self::A
-    ;
-}
-class B extends core::Object implements self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B
-    : super core::Object::•()
-    ;
-  operator unary-() → self::B
-    ;
-}
-class C extends core::Object implements self::A /*hasConstConstructor*/  {
-  const constructor •() → self::C
-    : super core::Object::•()
-    ;
-  operator unary-() → self::C
-    ;
-}
-class Class<T extends self::A = self::A> extends core::Object /*hasConstConstructor*/  {
-  const constructor •(self::Class::T t) → self::Class<self::Class::T>
-    : super core::Object::•()
-    ;
-  const constructor redirect(dynamic t) → self::Class<self::Class::T>
-    : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
-    ;
-  const constructor method(self::Class::T t) → self::Class<self::Class::T>
-    : this self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
- - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-  const Class.method(T t) : this(-t);
-                                 ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} <BottomType>)
-    ;
-}
-class Subclass<T extends self::A = self::A> extends self::Class<self::Subclass::T> /*hasConstConstructor*/  {
-  const constructor •(dynamic t) → self::Subclass<self::Subclass::T>
-    : super self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Subclass::T)
-    ;
-}
-class ConstClassWithF extends core::Object /*hasConstConstructor*/  {
-  final field (core::int, {named: core::int}) → core::int foo;
-  const constructor •((core::int, {named: core::int}) → core::int foo) → self::ConstClassWithF
-    : self::ConstClassWithF::foo = foo, super core::Object::•()
-    ;
-}
-static const field core::bool barFromEnv = const core::bool::fromEnvironment("bar");
-static const field core::bool hasBarEnv = const core::bool::hasEnvironment("bar");
-static const field core::bool? barFromEnvOrNull0 = const core::bool::fromEnvironment("bar") ?{core::bool?} true : null;
-static const field core::bool barFromEnvOrNull = const core::bool::fromEnvironment("bar", defaultValue: self::barFromEnvOrNull0!);
-static const field core::bool notBarFromEnvOrNull = !self::barFromEnvOrNull;
-static const field core::bool conditionalOnNull = self::barFromEnvOrNull ?{core::bool} true : false;
-static const field core::bool nullAwareOnNull = let final core::bool #t2 = self::barFromEnvOrNull in #t2 == null ?{core::bool} true : #t2;
-static const field core::bool andOnNull = self::barFromEnvOrNull && true;
-static const field core::bool andOnNull2 = true && self::barFromEnvOrNull;
-static const field core::bool orOnNull = self::barFromEnvOrNull || true;
-static const field core::bool orOnNull2 = self::barFromEnvOrNull || false;
-static const field core::bool orOnNull3 = true || self::barFromEnvOrNull;
-static const field core::bool orOnNull4 = false || self::barFromEnvOrNull;
-static const field core::int fromDeferredLib = let final dynamic #t3 = CheckLibraryIsLoaded(lib) in var::x;
-static const field self::Foo<core::int> x = const self::Foo::•<core::int>(42);
-static const field core::bool? y = true;
-static const field core::bool z = !self::y!;
-static const field core::Object maybeInt = const core::bool::fromEnvironment("foo") ?{core::Object} 42 : true;
-static const field core::bool isItInt = self::maybeInt is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
-static const field core::Object maybeInt2 = self::z ?{core::Object} 42 : true;
-static const field core::bool isItInt2 = self::maybeInt2 is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
-static const field core::int? maybeInt3 = self::z ?{core::int?} 42 : null;
-static const field core::bool isItInt3 = self::maybeInt3 is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
-static const field dynamic listOfNull = const <Null>[null];
-static const field core::bool isListOfNull = self::listOfNull is{ForNonNullableByDefault} core::List<Null>;
-static const field dynamic listOfInt = const <core::int>[42];
-static const field core::bool isListOfInt = self::listOfInt is{ForNonNullableByDefault} core::List<core::int>;
-static const field core::bool isList = self::listOfInt is{ForNonNullableByDefault} core::List<dynamic>;
-static const field dynamic setOfInt = const <core::int>{42};
-static const field core::bool isSetOfInt = self::setOfInt is{ForNonNullableByDefault} core::Set<core::int>;
-static const field dynamic mapOfInt = const <core::int, core::int>{42: 42};
-static const field core::bool isMapOfInt = self::mapOfInt is{ForNonNullableByDefault} core::Map<core::int, core::int>;
-static const field dynamic listOfListOfInt = const <core::List<core::int>>[const <core::int>[42]];
-static const field core::bool isListOfListOfInt = self::listOfListOfInt is{ForNonNullableByDefault} core::List<core::List<core::int>>;
-static const field dynamic setOfSetOfInt = const <core::Set<core::int>>{const <core::int>{42}};
-static const field core::bool isSetOfSetOfInt = self::setOfSetOfInt is{ForNonNullableByDefault} core::Set<core::Set<core::int>>;
-static const field dynamic mapOfMapOfInt1 = const <core::Map<core::int, core::int>, core::int>{const <core::int, core::int>{42: 42}: 42};
-static const field dynamic mapOfMapOfInt2 = const <core::int, core::Map<core::int, core::int>>{42: const <core::int, core::int>{42: 42}};
-static const field core::bool isMapOfMapOfInt1 = self::mapOfMapOfInt1 is{ForNonNullableByDefault} core::Map<core::Map<core::int, core::int>, core::int>;
-static const field core::bool isMapOfMapOfInt2 = self::mapOfMapOfInt2 is{ForNonNullableByDefault} core::Map<core::int, core::Map<core::int, core::int>>;
-static const field core::Symbol symbolWithUnevaluatedParameter = const _in::Symbol::•(const core::String::fromEnvironment("foo"));
-static const field core::Symbol symbolWithInvalidName = const _in::Symbol::•("42");
-static const field self::Class<self::B>? c0 = const core::bool::fromEnvironment("x") ?{self::Class<self::B>?} null : const self::Class::redirect<self::B>(const self::C::•());
-static const field self::Class<self::A>? c1 = const core::bool::fromEnvironment("x") ?{self::Class<self::A>?} null : const self::Class::method<self::A>(const self::A::•());
-static const field self::Subclass<self::B>? c2 = const core::bool::fromEnvironment("x") ?{self::Subclass<self::B>?} null : const self::Subclass::•<self::B>(const self::C::•());
-static const field self::Class<self::A>? c3 = const core::bool::fromEnvironment("x") ?{self::Class<self::A>?} null : const self::Class::•<self::A>(const self::A::•());
-static const field self::Class<self::B>? c4 = const core::bool::fromEnvironment("x") ?{self::Class<self::B>?} null : const self::Class::redirect<self::B>(const self::B::•());
-static const field self::Subclass<self::A>? c5 = const core::bool::fromEnvironment("x") ?{self::Subclass<self::A>?} null : const self::Subclass::•<self::A>(const self::A::•());
-static const field self::Subclass<self::B>? c6 = const core::bool::fromEnvironment("x") ?{self::Subclass<self::B>?} null : const self::Subclass::•<self::B>(const self::B::•());
-static const field core::Type f = (core::int, {named: core::int}) → core::int;
-static field self::ConstClassWithF constClassWithF1;
-static const field self::ConstClassWithF constClassWithF2 = const self::ConstClassWithF::•(self::procedure);
-static const field core::bool unevaluatedBool = const core::bool::fromEnvironment("foo");
-static const field core::bool notUnevaluatedBool = !self::unevaluatedBool;
-static const field core::bool? unevaluatedBoolOrNull = const core::bool::fromEnvironment("bar") ?{core::bool?} self::unevaluatedBool : null;
-static const field core::bool unevaluatedBoolNotNull = self::unevaluatedBoolOrNull!;
-static method procedure(core::int i, {core::int named}) → core::int
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as var;
-import "dart:core" as core;
-
-static const field core::int x = 42;
-
-
-Extra constant evaluation status:
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:32:27 -> BoolConstant(false)
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:32:69 -> BoolConstant(false)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:33:21 -> BoolConstant(false)
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:33:63 -> BoolConstant(false)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:7:31 -> BoolConstant(false)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:8:30 -> BoolConstant(false)
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:9:67 -> NullConstant(null)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:9:39 -> BoolConstant(false)
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:11:53 -> NullConstant(null)
-Evaluated: LogicalExpression @ org-dartlang-testcase:///various.dart:19:29 -> BoolConstant(true)
-Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:22:29 -> IntConstant(42)
-Evaluated with empty environment: ConstructorInvocation @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int>{Foo.saved: false, Foo.saved2: false, Foo.initialized: null, Foo.value: 42})
-Evaluated: Not @ org-dartlang-testcase:///various.dart:40:16 -> BoolConstant(false)
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:42:46 -> BoolConstant(true)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:42:23 -> BoolConstant(false)
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:43:38 -> BoolConstant(false)
-Evaluated with empty environment: IsExpression @ org-dartlang-testcase:///various.dart:43:31 -> BoolConstant(false)
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:43:22 -> BoolConstant(true)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:44:21 -> BoolConstant(true)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:45:40 -> BoolConstant(false)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:46:21 -> NullConstant(null)
-Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:47:40 -> BoolConstant(false)
-Evaluated: ListLiteral @ org-dartlang-testcase:///various.dart:49:28 -> ListConstant(const <Null>[null])
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:50:38 -> BoolConstant(true)
-Evaluated: ListLiteral @ org-dartlang-testcase:///various.dart:51:27 -> ListConstant(const <int>[42])
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:52:36 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:53:31 -> BoolConstant(true)
-Evaluated: SetLiteral @ org-dartlang-testcase:///various.dart:54:26 -> SetConstant(const <int>{42})
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:55:34 -> BoolConstant(true)
-Evaluated: MapLiteral @ org-dartlang-testcase:///various.dart:56:26 -> MapConstant(const <int, int>{42: 42})
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:57:34 -> BoolConstant(true)
-Evaluated: ListLiteral @ org-dartlang-testcase:///various.dart:58:33 -> ListConstant(const <List<int>>[const <int>[42]])
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:61:48 -> BoolConstant(true)
-Evaluated: SetLiteral @ org-dartlang-testcase:///various.dart:62:31 -> SetConstant(const <Set<int>>{const <int>{42}})
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:65:44 -> BoolConstant(true)
-Evaluated: MapLiteral @ org-dartlang-testcase:///various.dart:66:32 -> MapConstant(const <Map<int, int>, int>{const <int, int>{42: 42}: 42})
-Evaluated: MapLiteral @ org-dartlang-testcase:///various.dart:69:32 -> MapConstant(const <int, Map<int, int>>{42: const <int, int>{42: 42}})
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:72:46 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:73:46 -> BoolConstant(true)
-Evaluated with empty environment: ConstructorInvocation @ org-dartlang-testcase:///various.dart:76:11 -> SymbolConstant(#)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:76:25 -> StringConstant("")
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:107:17 -> BoolConstant(false)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:107:71 -> InstanceConstant(const C{})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:108:17 -> BoolConstant(false)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:108:69 -> InstanceConstant(const A{})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:109:17 -> BoolConstant(false)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:109:65 -> InstanceConstant(const C{})
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:110:38 -> InstanceConstant(const Class<A>{})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:110:17 -> BoolConstant(false)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:110:53 -> InstanceConstant(const Class<A>{})
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:111:38 -> InstanceConstant(const Class<B>{})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:111:17 -> BoolConstant(false)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:111:53 -> InstanceConstant(const Class<B>{})
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:112:38 -> InstanceConstant(const Subclass<A>{})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:112:17 -> BoolConstant(false)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:112:53 -> InstanceConstant(const Subclass<A>{})
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:113:38 -> InstanceConstant(const Subclass<B>{})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:113:17 -> BoolConstant(false)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:113:53 -> InstanceConstant(const Subclass<B>{})
-Evaluated: TypeLiteral @ org-dartlang-testcase:///various.dart:116:11 -> TypeLiteralConstant(int Function(int, {named: int}))
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:125:48 -> InstanceConstant(const ConstClassWithF{ConstClassWithF.foo: procedure})
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:127:35 -> BoolConstant(false)
-Evaluated with empty environment: Not @ org-dartlang-testcase:///various.dart:128:33 -> BoolConstant(true)
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:128:34 -> BoolConstant(false)
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:130:33 -> NullConstant(null)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:130:10 -> BoolConstant(false)
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:130:35 -> BoolConstant(false)
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:131:37 -> NullConstant(null)
-Extra constant evaluation: evaluated: 112, effectively constant: 68
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.strong.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.strong.expect
deleted file mode 100644
index 666cda7..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.strong.expect
+++ /dev/null
@@ -1,264 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:3: Error: Only static fields can be declared as const.
-// Try using 'final' instead of 'const', or adding the keyword 'static'.
-//   const bool initialized =
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:25: Error: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
-// Try moving the constant from the deferred library, or removing 'deferred' from the import.
-//
-// const fromDeferredLib = lib.x;
-//                         ^^^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:14:30: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
-// const bool nullAwareOnNull = barFromEnvOrNull ?? true;
-//                              ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
-//  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-//   const Class.method(T t) : this(-t);
-//                                  ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:123:27: Error: The parameter 'named' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// int procedure(int i, {int named}) => i;
-//                           ^^^^^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:31:9: Error: Constructor is marked 'const' so all fields must be final.
-//   const Foo(this.value,
-//         ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:14: Context: Field isn't final, but constructor is 'const'.
-//   const bool initialized =
-//              ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:29: Error: Constant evaluation error:
-// const fromDeferredLib = lib.x;
-//                             ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:29: Context: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
-// Try moving the constant from the deferred library, or removing 'deferred' from the import.
-//
-// const fromDeferredLib = lib.x;
-//                             ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:7: Context: While analyzing:
-// const fromDeferredLib = lib.x;
-//       ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:44: Error: Constant evaluation error:
-// const Symbol symbolWithInvalidName = const Symbol("42");
-//                                            ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:51: Context: The symbol name must be a valid public Dart member name, public constructor name, or library name, optionally qualified, but was '"42"'.
-// const Symbol symbolWithInvalidName = const Symbol("42");
-//                                                   ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:14: Context: While analyzing:
-// const Symbol symbolWithInvalidName = const Symbol("42");
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:_internal" as _in;
-
-import "org-dartlang-testcase:///various_lib.dart" deferred as lib;
-
-typedef F = (core::int, {named: core::int}) → core::int;
-class Foo<E extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::bool saved;
-  final field core::bool saved2;
-  field core::bool initialized = #C3;
-  final field self::Foo::E% value;
-  const constructor •(self::Foo::E% value, {core::bool saved2 = #C4, core::bool x = #C5}) → self::Foo<self::Foo::E%>
-    : self::Foo::value = value, self::Foo::saved2 = saved2, self::Foo::saved = x, super core::Object::•()
-    ;
-}
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A
-    : super core::Object::•()
-    ;
-  operator unary-() → self::A
-    return this;
-}
-class B extends core::Object implements self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B
-    : super core::Object::•()
-    ;
-  operator unary-() → self::B
-    return this;
-}
-class C extends core::Object implements self::A /*hasConstConstructor*/  {
-  const constructor •() → self::C
-    : super core::Object::•()
-    ;
-  operator unary-() → self::C
-    return this;
-}
-class Class<T extends self::A = self::A> extends core::Object /*hasConstConstructor*/  {
-  const constructor •(self::Class::T t) → self::Class<self::Class::T>
-    : super core::Object::•()
-    ;
-  const constructor redirect(dynamic t) → self::Class<self::Class::T>
-    : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
-    ;
-  const constructor method(self::Class::T t) → self::Class<self::Class::T>
-    : this self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
- - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-  const Class.method(T t) : this(-t);
-                                 ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} <BottomType>)
-    ;
-}
-class Subclass<T extends self::A = self::A> extends self::Class<self::Subclass::T> /*hasConstConstructor*/  {
-  const constructor •(dynamic t) → self::Subclass<self::Subclass::T>
-    : super self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Subclass::T)
-    ;
-}
-class ConstClassWithF extends core::Object /*hasConstConstructor*/  {
-  final field (core::int, {named: core::int}) → core::int foo;
-  const constructor •((core::int, {named: core::int}) → core::int foo) → self::ConstClassWithF
-    : self::ConstClassWithF::foo = foo, super core::Object::•()
-    ;
-}
-static const field core::bool barFromEnv = #C6;
-static const field core::bool hasBarEnv = #C7;
-static const field core::bool? barFromEnvOrNull0 = #C10;
-static const field core::bool barFromEnvOrNull = #C11;
-static const field core::bool notBarFromEnvOrNull = #C12;
-static const field core::bool conditionalOnNull = #C14;
-static const field core::bool nullAwareOnNull = #C15;
-static const field core::bool andOnNull = #C16;
-static const field core::bool andOnNull2 = #C11;
-static const field core::bool orOnNull = #C17;
-static const field core::bool orOnNull2 = #C18;
-static const field core::bool orOnNull3 = #C8;
-static const field core::bool orOnNull4 = #C11;
-static const field core::int fromDeferredLib = invalid-expression "'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.";
-static const field self::Foo<core::int> x = #C20;
-static const field core::bool? y = #C8;
-static const field core::bool z = #C13;
-static const field core::Object maybeInt = #C21;
-static const field core::bool isItInt = #C22;
-static const field core::Object maybeInt2 = #C8;
-static const field core::bool isItInt2 = #C13;
-static const field core::int? maybeInt3 = #C9;
-static const field core::bool isItInt3 = #C13;
-static const field dynamic listOfNull = #C23;
-static const field core::bool isListOfNull = #C8;
-static const field dynamic listOfInt = #C24;
-static const field core::bool isListOfInt = #C8;
-static const field core::bool isList = #C8;
-static const field dynamic setOfInt = #C25;
-static const field core::bool isSetOfInt = #C8;
-static const field dynamic mapOfInt = #C26;
-static const field core::bool isMapOfInt = #C8;
-static const field dynamic listOfListOfInt = #C27;
-static const field core::bool isListOfListOfInt = #C8;
-static const field dynamic setOfSetOfInt = #C28;
-static const field core::bool isSetOfSetOfInt = #C8;
-static const field dynamic mapOfMapOfInt1 = #C29;
-static const field dynamic mapOfMapOfInt2 = #C30;
-static const field core::bool isMapOfMapOfInt1 = #C8;
-static const field core::bool isMapOfMapOfInt2 = #C8;
-static const field core::Symbol symbolWithUnevaluatedParameter = #C31;
-static const field core::Symbol symbolWithInvalidName = invalid-expression "The symbol name must be a valid public Dart member name, public constructor name, or library name, optionally qualified, but was '\"42\"'.";
-static const field self::Class<self::B>? c0 = #C33;
-static const field self::Class<self::A>? c1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
- - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-  const Class.method(T t) : this(-t);
-                                 ^";
-static const field self::Subclass<self::B>? c2 = #C34;
-static const field self::Class<self::A>? c3 = #C35;
-static const field self::Class<self::B>? c4 = #C36;
-static const field self::Subclass<self::A>? c5 = #C37;
-static const field self::Subclass<self::B>? c6 = #C38;
-static const field core::Type f = #C39;
-static field self::ConstClassWithF constClassWithF1 = #C41;
-static const field self::ConstClassWithF constClassWithF2 = #C41;
-static const field core::bool unevaluatedBool = #C42;
-static const field core::bool notUnevaluatedBool = #C43;
-static const field core::bool? unevaluatedBoolOrNull = #C44;
-static const field core::bool unevaluatedBoolNotNull = #C45;
-static method procedure(core::int i, {core::int named = #C9}) → core::int
-  return i;
-static method main() → dynamic {
-  core::print(#C33);
-  core::print(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
- - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-  const Class.method(T t) : this(-t);
-                                 ^");
-  core::print(#C34);
-  core::print(#C35);
-  core::print(#C36);
-  core::print(#C37);
-  core::print(#C38);
-  core::print(#C20);
-  core::print((#C20).{self::Foo::saved}{core::bool});
-  core::print((#C20).{self::Foo::value}{core::int});
-}
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:core" as core;
-
-static const field core::int x = #C19;
-
-constants  {
-  #C1 = "foo"
-  #C2 = "bar"
-  #C3 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
-  #C4 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
-  #C5 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
-  #C6 = eval const core::bool::fromEnvironment(#C2)
-  #C7 = eval const core::bool::hasEnvironment(#C2)
-  #C8 = true
-  #C9 = null
-  #C10 = eval const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9
-  #C11 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
-  #C12 = eval !const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
-  #C13 = false
-  #C14 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) ?{core::bool} #C8 : #C13
-  #C15 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) == null ?{core::bool} #C8 : const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
-  #C16 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) && (#C8)
-  #C17 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) || (#C8)
-  #C18 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) || (#C13)
-  #C19 = 42
-  #C20 = eval self::Foo<core::int>{saved:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), saved2:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), initialized:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), value:#C19}
-  #C21 = eval const core::bool::fromEnvironment(#C1) ?{core::Object} #C19 : #C8
-  #C22 = eval (const core::bool::fromEnvironment(#C1) ?{core::Object} #C19 : #C8) is{ForNonNullableByDefault} core::int ?{core::bool} #C8 : #C13
-  #C23 = <Null>[#C9]
-  #C24 = <core::int>[#C19]
-  #C25 = <core::int>{#C19}
-  #C26 = <core::int, core::int>{#C19:#C19)
-  #C27 = <core::List<core::int>>[#C24]
-  #C28 = <core::Set<core::int>>{#C25}
-  #C29 = <core::Map<core::int, core::int>, core::int>{#C26:#C19)
-  #C30 = <core::int, core::Map<core::int, core::int>>{#C19:#C26)
-  #C31 = eval const _in::Symbol::•(const core::String::fromEnvironment(#C1))
-  #C32 = "x"
-  #C33 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B>{(self::C{}) as{ForNonNullableByDefault} self::B}
-  #C34 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B>{(self::C{}) as{ForNonNullableByDefault} self::B}
-  #C35 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::A>?} #C9 : self::Class<self::A>{self::A{}}
-  #C36 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B>{(self::B{}) as{ForNonNullableByDefault} self::B}
-  #C37 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::A>?} #C9 : self::Subclass<self::A>{(self::A{}) as{ForNonNullableByDefault} self::A}
-  #C38 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B>{(self::B{}) as{ForNonNullableByDefault} self::B}
-  #C39 = TypeLiteralConstant((core::int, {named: core::int}) → core::int)
-  #C40 = tearoff self::procedure
-  #C41 = self::ConstClassWithF {foo:#C40}
-  #C42 = eval const core::bool::fromEnvironment(#C1)
-  #C43 = eval !const core::bool::fromEnvironment(#C1)
-  #C44 = eval const core::bool::fromEnvironment(#C2) ?{core::bool?} const core::bool::fromEnvironment(#C1) : #C9
-  #C45 = eval (const core::bool::fromEnvironment(#C2) ?{core::bool?} const core::bool::fromEnvironment(#C1) : #C9)!
-}
-
-
-Constructor coverage from constants:
-org-dartlang-testcase:///various.dart:
-- C. (from org-dartlang-testcase:///various.dart:92:9)
-- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- Class.redirect (from org-dartlang-testcase:///various.dart:99:9)
-- Class. (from org-dartlang-testcase:///various.dart:98:9)
-- A. (from org-dartlang-testcase:///various.dart:80:9)
-- Class.method (from org-dartlang-testcase:///various.dart:100:9)
-- Subclass. (from org-dartlang-testcase:///various.dart:104:9)
-- B. (from org-dartlang-testcase:///various.dart:86:9)
-- Foo. (from org-dartlang-testcase:///various.dart:31:9)
-- ConstClassWithF. (from org-dartlang-testcase:///various.dart:120:9)
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.strong.transformed.expect
deleted file mode 100644
index cae94a4..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.strong.transformed.expect
+++ /dev/null
@@ -1,298 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:3: Error: Only static fields can be declared as const.
-// Try using 'final' instead of 'const', or adding the keyword 'static'.
-//   const bool initialized =
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:25: Error: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
-// Try moving the constant from the deferred library, or removing 'deferred' from the import.
-//
-// const fromDeferredLib = lib.x;
-//                         ^^^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:14:30: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
-// const bool nullAwareOnNull = barFromEnvOrNull ?? true;
-//                              ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
-//  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-//   const Class.method(T t) : this(-t);
-//                                  ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:123:27: Error: The parameter 'named' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
-// Try adding either an explicit non-'null' default value or the 'required' modifier.
-// int procedure(int i, {int named}) => i;
-//                           ^^^^^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:31:9: Error: Constructor is marked 'const' so all fields must be final.
-//   const Foo(this.value,
-//         ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:14: Context: Field isn't final, but constructor is 'const'.
-//   const bool initialized =
-//              ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:29: Error: Constant evaluation error:
-// const fromDeferredLib = lib.x;
-//                             ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:29: Context: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
-// Try moving the constant from the deferred library, or removing 'deferred' from the import.
-//
-// const fromDeferredLib = lib.x;
-//                             ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:7: Context: While analyzing:
-// const fromDeferredLib = lib.x;
-//       ^
-//
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:44: Error: Constant evaluation error:
-// const Symbol symbolWithInvalidName = const Symbol("42");
-//                                            ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:51: Context: The symbol name must be a valid public Dart member name, public constructor name, or library name, optionally qualified, but was '"42"'.
-// const Symbol symbolWithInvalidName = const Symbol("42");
-//                                                   ^
-// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:14: Context: While analyzing:
-// const Symbol symbolWithInvalidName = const Symbol("42");
-//              ^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:_internal" as _in;
-
-import "org-dartlang-testcase:///various_lib.dart" deferred as lib;
-
-typedef F = (core::int, {named: core::int}) → core::int;
-class Foo<E extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::bool saved;
-  final field core::bool saved2;
-  field core::bool initialized = #C3;
-  final field self::Foo::E% value;
-  const constructor •(self::Foo::E% value, {core::bool saved2 = #C4, core::bool x = #C5}) → self::Foo<self::Foo::E%>
-    : self::Foo::value = value, self::Foo::saved2 = saved2, self::Foo::saved = x, super core::Object::•()
-    ;
-}
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A
-    : super core::Object::•()
-    ;
-  operator unary-() → self::A
-    return this;
-}
-class B extends core::Object implements self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B
-    : super core::Object::•()
-    ;
-  operator unary-() → self::B
-    return this;
-}
-class C extends core::Object implements self::A /*hasConstConstructor*/  {
-  const constructor •() → self::C
-    : super core::Object::•()
-    ;
-  operator unary-() → self::C
-    return this;
-}
-class Class<T extends self::A = self::A> extends core::Object /*hasConstConstructor*/  {
-  const constructor •(self::Class::T t) → self::Class<self::Class::T>
-    : super core::Object::•()
-    ;
-  const constructor redirect(dynamic t) → self::Class<self::Class::T>
-    : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
-    ;
-  const constructor method(self::Class::T t) → self::Class<self::Class::T>
-    : this self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
- - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-  const Class.method(T t) : this(-t);
-                                 ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} <BottomType>)
-    ;
-}
-class Subclass<T extends self::A = self::A> extends self::Class<self::Subclass::T> /*hasConstConstructor*/  {
-  const constructor •(dynamic t) → self::Subclass<self::Subclass::T>
-    : super self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Subclass::T)
-    ;
-}
-class ConstClassWithF extends core::Object /*hasConstConstructor*/  {
-  final field (core::int, {named: core::int}) → core::int foo;
-  const constructor •((core::int, {named: core::int}) → core::int foo) → self::ConstClassWithF
-    : self::ConstClassWithF::foo = foo, super core::Object::•()
-    ;
-}
-static const field core::bool barFromEnv = #C6;
-static const field core::bool hasBarEnv = #C7;
-static const field core::bool? barFromEnvOrNull0 = #C10;
-static const field core::bool barFromEnvOrNull = #C11;
-static const field core::bool notBarFromEnvOrNull = #C12;
-static const field core::bool conditionalOnNull = #C14;
-static const field core::bool nullAwareOnNull = #C15;
-static const field core::bool andOnNull = #C16;
-static const field core::bool andOnNull2 = #C11;
-static const field core::bool orOnNull = #C17;
-static const field core::bool orOnNull2 = #C18;
-static const field core::bool orOnNull3 = #C8;
-static const field core::bool orOnNull4 = #C11;
-static const field core::int fromDeferredLib = invalid-expression "'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.";
-static const field self::Foo<core::int> x = #C20;
-static const field core::bool? y = #C8;
-static const field core::bool z = #C13;
-static const field core::Object maybeInt = #C21;
-static const field core::bool isItInt = #C22;
-static const field core::Object maybeInt2 = #C8;
-static const field core::bool isItInt2 = #C13;
-static const field core::int? maybeInt3 = #C9;
-static const field core::bool isItInt3 = #C13;
-static const field dynamic listOfNull = #C23;
-static const field core::bool isListOfNull = #C8;
-static const field dynamic listOfInt = #C24;
-static const field core::bool isListOfInt = #C8;
-static const field core::bool isList = #C8;
-static const field dynamic setOfInt = #C25;
-static const field core::bool isSetOfInt = #C8;
-static const field dynamic mapOfInt = #C26;
-static const field core::bool isMapOfInt = #C8;
-static const field dynamic listOfListOfInt = #C27;
-static const field core::bool isListOfListOfInt = #C8;
-static const field dynamic setOfSetOfInt = #C28;
-static const field core::bool isSetOfSetOfInt = #C8;
-static const field dynamic mapOfMapOfInt1 = #C29;
-static const field dynamic mapOfMapOfInt2 = #C30;
-static const field core::bool isMapOfMapOfInt1 = #C8;
-static const field core::bool isMapOfMapOfInt2 = #C8;
-static const field core::Symbol symbolWithUnevaluatedParameter = #C31;
-static const field core::Symbol symbolWithInvalidName = invalid-expression "The symbol name must be a valid public Dart member name, public constructor name, or library name, optionally qualified, but was '\"42\"'.";
-static const field self::Class<self::B>? c0 = #C33;
-static const field self::Class<self::A>? c1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
- - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-  const Class.method(T t) : this(-t);
-                                 ^";
-static const field self::Subclass<self::B>? c2 = #C34;
-static const field self::Class<self::A>? c3 = #C35;
-static const field self::Class<self::B>? c4 = #C36;
-static const field self::Subclass<self::A>? c5 = #C37;
-static const field self::Subclass<self::B>? c6 = #C38;
-static const field core::Type f = #C39;
-static field self::ConstClassWithF constClassWithF1 = #C41;
-static const field self::ConstClassWithF constClassWithF2 = #C41;
-static const field core::bool unevaluatedBool = #C42;
-static const field core::bool notUnevaluatedBool = #C43;
-static const field core::bool? unevaluatedBoolOrNull = #C44;
-static const field core::bool unevaluatedBoolNotNull = #C45;
-static method procedure(core::int i, {core::int named = #C9}) → core::int
-  return i;
-static method main() → dynamic {
-  core::print(#C46);
-  core::print(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
- - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
-  const Class.method(T t) : this(-t);
-                                 ^");
-  core::print(#C47);
-  core::print(#C48);
-  core::print(#C49);
-  core::print(#C50);
-  core::print(#C51);
-  core::print(#C52);
-  core::print((#C52).{self::Foo::saved}{core::bool});
-  core::print((#C52).{self::Foo::value}{core::int});
-}
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:core" as core;
-
-static const field core::int x = #C19;
-
-constants  {
-  #C1 = "foo"
-  #C2 = "bar"
-  #C3 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
-  #C4 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
-  #C5 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
-  #C6 = eval const core::bool::fromEnvironment(#C2)
-  #C7 = eval const core::bool::hasEnvironment(#C2)
-  #C8 = true
-  #C9 = null
-  #C10 = eval const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9
-  #C11 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
-  #C12 = eval !const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
-  #C13 = false
-  #C14 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) ?{core::bool} #C8 : #C13
-  #C15 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) == null ?{core::bool} #C8 : const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
-  #C16 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) && (#C8)
-  #C17 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) || (#C8)
-  #C18 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) || (#C13)
-  #C19 = 42
-  #C20 = eval self::Foo<core::int>{saved:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), saved2:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), initialized:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), value:#C19}
-  #C21 = eval const core::bool::fromEnvironment(#C1) ?{core::Object} #C19 : #C8
-  #C22 = eval (const core::bool::fromEnvironment(#C1) ?{core::Object} #C19 : #C8) is{ForNonNullableByDefault} core::int ?{core::bool} #C8 : #C13
-  #C23 = <Null>[#C9]
-  #C24 = <core::int>[#C19]
-  #C25 = <core::int>{#C19}
-  #C26 = <core::int, core::int>{#C19:#C19)
-  #C27 = <core::List<core::int>>[#C24]
-  #C28 = <core::Set<core::int>>{#C25}
-  #C29 = <core::Map<core::int, core::int>, core::int>{#C26:#C19)
-  #C30 = <core::int, core::Map<core::int, core::int>>{#C19:#C26)
-  #C31 = eval const _in::Symbol::•(const core::String::fromEnvironment(#C1))
-  #C32 = "x"
-  #C33 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B>{(self::C{}) as{ForNonNullableByDefault} self::B}
-  #C34 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B>{(self::C{}) as{ForNonNullableByDefault} self::B}
-  #C35 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::A>?} #C9 : self::Class<self::A>{self::A{}}
-  #C36 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B>{(self::B{}) as{ForNonNullableByDefault} self::B}
-  #C37 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::A>?} #C9 : self::Subclass<self::A>{(self::A{}) as{ForNonNullableByDefault} self::A}
-  #C38 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B>{(self::B{}) as{ForNonNullableByDefault} self::B}
-  #C39 = TypeLiteralConstant((core::int, {named: core::int}) → core::int)
-  #C40 = tearoff self::procedure
-  #C41 = self::ConstClassWithF {foo:#C40}
-  #C42 = eval const core::bool::fromEnvironment(#C1)
-  #C43 = eval !const core::bool::fromEnvironment(#C1)
-  #C44 = eval const core::bool::fromEnvironment(#C2) ?{core::bool?} const core::bool::fromEnvironment(#C1) : #C9
-  #C45 = eval (const core::bool::fromEnvironment(#C2) ?{core::bool?} const core::bool::fromEnvironment(#C1) : #C9)!
-  #C46 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B>{(self::C{}) as{ForNonNullableByDefault} self::B}
-  #C47 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B>{(self::C{}) as{ForNonNullableByDefault} self::B}
-  #C48 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::A>?} #C9 : self::Class<self::A>{self::A{}}
-  #C49 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B>{(self::B{}) as{ForNonNullableByDefault} self::B}
-  #C50 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::A>?} #C9 : self::Subclass<self::A>{(self::A{}) as{ForNonNullableByDefault} self::A}
-  #C51 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B>{(self::B{}) as{ForNonNullableByDefault} self::B}
-  #C52 = eval self::Foo<core::int>{saved:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), saved2:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), initialized:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), value:#C19}
-}
-
-Extra constant evaluation status:
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:32:27 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:33:21 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:28:13 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:110:38 -> InstanceConstant(const Class<A>{})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:111:38 -> InstanceConstant(const Class<B>{})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:112:38 -> InstanceConstant(const Subclass<A>{})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:113:38 -> InstanceConstant(const Subclass<B>{})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int>{Foo.saved: false, Foo.saved2: false, Foo.initialized: false, Foo.value: 42})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int>{Foo.saved: false, Foo.saved2: false, Foo.initialized: false, Foo.value: 42})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int>{Foo.saved: false, Foo.saved2: false, Foo.initialized: false, Foo.value: 42})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:7:31 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:8:30 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:9:67 -> NullConstant(null)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int>{Foo.saved: false, Foo.saved2: false, Foo.initialized: false, Foo.value: 42})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:42:46 -> BoolConstant(true)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:43:38 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:76:11 -> SymbolConstant(#)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:110:38 -> InstanceConstant(const Class<A>{})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:111:38 -> InstanceConstant(const Class<B>{})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:112:38 -> InstanceConstant(const Subclass<A>{})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:113:38 -> InstanceConstant(const Subclass<B>{})
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:127:35 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:128:33 -> BoolConstant(true)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:130:33 -> NullConstant(null)
-Extra constant evaluation: evaluated: 66, effectively constant: 24
-
-
-Constructor coverage from constants:
-org-dartlang-testcase:///various.dart:
-- C. (from org-dartlang-testcase:///various.dart:92:9)
-- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- Class.redirect (from org-dartlang-testcase:///various.dart:99:9)
-- Class. (from org-dartlang-testcase:///various.dart:98:9)
-- A. (from org-dartlang-testcase:///various.dart:80:9)
-- Class.method (from org-dartlang-testcase:///various.dart:100:9)
-- Subclass. (from org-dartlang-testcase:///various.dart:104:9)
-- B. (from org-dartlang-testcase:///various.dart:86:9)
-- Foo. (from org-dartlang-testcase:///various.dart:31:9)
-- ConstClassWithF. (from org-dartlang-testcase:///various.dart:120:9)
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.expect
new file mode 100644
index 0000000..7bd1ceb
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.expect
@@ -0,0 +1,264 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:3: Error: Only static fields can be declared as const.
+// Try using 'final' instead of 'const', or adding the keyword 'static'.
+//   const bool initialized =
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:25: Error: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
+// Try moving the constant from the deferred library, or removing 'deferred' from the import.
+//
+// const fromDeferredLib = lib.x;
+//                         ^^^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:14:30: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNull = barFromEnvOrNull ?? true;
+//                              ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+//  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+//   const Class.method(T t) : this(-t);
+//                                  ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:123:27: Error: The parameter 'named' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// int procedure(int i, {int named}) => i;
+//                           ^^^^^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:31:9: Error: Constructor is marked 'const' so all fields must be final.
+//   const Foo(this.value,
+//         ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:14: Context: Field isn't final, but constructor is 'const'.
+//   const bool initialized =
+//              ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:29: Error: Constant evaluation error:
+// const fromDeferredLib = lib.x;
+//                             ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:29: Context: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
+// Try moving the constant from the deferred library, or removing 'deferred' from the import.
+//
+// const fromDeferredLib = lib.x;
+//                             ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:7: Context: While analyzing:
+// const fromDeferredLib = lib.x;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:44: Error: Constant evaluation error:
+// const Symbol symbolWithInvalidName = const Symbol("42");
+//                                            ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:51: Context: The symbol name must be a valid public Dart member name, public constructor name, or library name, optionally qualified, but was '"42"'.
+// const Symbol symbolWithInvalidName = const Symbol("42");
+//                                                   ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:14: Context: While analyzing:
+// const Symbol symbolWithInvalidName = const Symbol("42");
+//              ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+import "org-dartlang-testcase:///various_lib.dart" deferred as lib;
+
+typedef F = (core::int, {named: core::int}) → core::int;
+class Foo<E extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool saved;
+  final field core::bool saved2;
+  field core::bool initialized = #C3;
+  final field self::Foo::E% value;
+  const constructor •(self::Foo::E% value, {core::bool saved2 = #C4, core::bool x = #C5}) → self::Foo<self::Foo::E%>
+    : self::Foo::value = value, self::Foo::saved2 = saved2, self::Foo::saved = x, super core::Object::•()
+    ;
+}
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A
+    : super core::Object::•()
+    ;
+  operator unary-() → self::A
+    return this;
+}
+class B extends core::Object implements self::A /*hasConstConstructor*/  {
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  operator unary-() → self::B
+    return this;
+}
+class C extends core::Object implements self::A /*hasConstConstructor*/  {
+  const constructor •() → self::C
+    : super core::Object::•()
+    ;
+  operator unary-() → self::C
+    return this;
+}
+class Class<T extends self::A = self::A> extends core::Object /*hasConstConstructor*/  {
+  const constructor •(self::Class::T t) → self::Class<self::Class::T>
+    : super core::Object::•()
+    ;
+  const constructor redirect(dynamic t) → self::Class<self::Class::T>
+    : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
+    ;
+  const constructor method(self::Class::T t) → self::Class<self::Class::T>
+    : this self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+ - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+  const Class.method(T t) : this(-t);
+                                 ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} <BottomType>)
+    ;
+}
+class Subclass<T extends self::A = self::A> extends self::Class<self::Subclass::T> /*hasConstConstructor*/  {
+  const constructor •(dynamic t) → self::Subclass<self::Subclass::T>
+    : super self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Subclass::T)
+    ;
+}
+class ConstClassWithF extends core::Object /*hasConstConstructor*/  {
+  final field (core::int, {named: core::int}) → core::int foo;
+  const constructor •((core::int, {named: core::int}) → core::int foo) → self::ConstClassWithF
+    : self::ConstClassWithF::foo = foo, super core::Object::•()
+    ;
+}
+static const field core::bool barFromEnv = #C6;
+static const field core::bool hasBarEnv = #C7;
+static const field core::bool? barFromEnvOrNull0 = #C10;
+static const field core::bool barFromEnvOrNull = #C11;
+static const field core::bool notBarFromEnvOrNull = #C12;
+static const field core::bool conditionalOnNull = #C14;
+static const field core::bool nullAwareOnNull = #C15;
+static const field core::bool andOnNull = #C16;
+static const field core::bool andOnNull2 = #C11;
+static const field core::bool orOnNull = #C17;
+static const field core::bool orOnNull2 = #C18;
+static const field core::bool orOnNull3 = #C8;
+static const field core::bool orOnNull4 = #C11;
+static const field core::int fromDeferredLib = invalid-expression "'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.";
+static const field self::Foo<core::int> x = #C20;
+static const field core::bool? y = #C8;
+static const field core::bool z = #C13;
+static const field core::Object maybeInt = #C21;
+static const field core::bool isItInt = #C22;
+static const field core::Object maybeInt2 = #C8;
+static const field core::bool isItInt2 = #C13;
+static const field core::int? maybeInt3 = #C9;
+static const field core::bool isItInt3 = #C13;
+static const field dynamic listOfNull = #C23;
+static const field core::bool isListOfNull = #C8;
+static const field dynamic listOfInt = #C24;
+static const field core::bool isListOfInt = #C8;
+static const field core::bool isList = #C8;
+static const field dynamic setOfInt = #C25;
+static const field core::bool isSetOfInt = #C8;
+static const field dynamic mapOfInt = #C26;
+static const field core::bool isMapOfInt = #C8;
+static const field dynamic listOfListOfInt = #C27;
+static const field core::bool isListOfListOfInt = #C8;
+static const field dynamic setOfSetOfInt = #C28;
+static const field core::bool isSetOfSetOfInt = #C8;
+static const field dynamic mapOfMapOfInt1 = #C29;
+static const field dynamic mapOfMapOfInt2 = #C30;
+static const field core::bool isMapOfMapOfInt1 = #C8;
+static const field core::bool isMapOfMapOfInt2 = #C8;
+static const field core::Symbol symbolWithUnevaluatedParameter = #C31;
+static const field core::Symbol symbolWithInvalidName = invalid-expression "The symbol name must be a valid public Dart member name, public constructor name, or library name, optionally qualified, but was '\"42\"'.";
+static const field self::Class<self::B>? c0 = #C33;
+static const field self::Class<self::A>? c1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+ - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+  const Class.method(T t) : this(-t);
+                                 ^";
+static const field self::Subclass<self::B>? c2 = #C34;
+static const field self::Class<self::A>? c3 = #C35;
+static const field self::Class<self::B>? c4 = #C36;
+static const field self::Subclass<self::A>? c5 = #C37;
+static const field self::Subclass<self::B>? c6 = #C38;
+static const field core::Type f = #C39;
+static field self::ConstClassWithF constClassWithF1 = #C41;
+static const field self::ConstClassWithF constClassWithF2 = #C41;
+static const field core::bool unevaluatedBool = #C42;
+static const field core::bool notUnevaluatedBool = #C43;
+static const field core::bool? unevaluatedBoolOrNull = #C44;
+static const field core::bool unevaluatedBoolNotNull = #C45;
+static method procedure(core::int i, {core::int named = #C9}) → core::int
+  return i;
+static method main() → dynamic {
+  core::print(#C33);
+  core::print(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+ - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+  const Class.method(T t) : this(-t);
+                                 ^");
+  core::print(#C34);
+  core::print(#C35);
+  core::print(#C36);
+  core::print(#C37);
+  core::print(#C38);
+  core::print(#C20);
+  core::print((#C20).{self::Foo::saved}{core::bool});
+  core::print((#C20).{self::Foo::value}{core::int});
+}
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+static const field core::int x = #C19;
+
+constants  {
+  #C1 = "foo"
+  #C2 = "bar"
+  #C3 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
+  #C4 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
+  #C5 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
+  #C6 = eval const core::bool::fromEnvironment(#C2)
+  #C7 = eval const core::bool::hasEnvironment(#C2)
+  #C8 = true
+  #C9 = null
+  #C10 = eval const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9
+  #C11 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
+  #C12 = eval !const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
+  #C13 = false
+  #C14 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) ?{core::bool} #C8 : #C13
+  #C15 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) == null ?{core::bool} #C8 : const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
+  #C16 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) && (#C8)
+  #C17 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) || (#C8)
+  #C18 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) || (#C13)
+  #C19 = 42
+  #C20 = eval self::Foo<core::int*>{saved:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), saved2:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), initialized:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), value:#C19}
+  #C21 = eval const core::bool::fromEnvironment(#C1) ?{core::Object} #C19 : #C8
+  #C22 = eval (const core::bool::fromEnvironment(#C1) ?{core::Object} #C19 : #C8) is{ForNonNullableByDefault} core::int ?{core::bool} #C8 : #C13
+  #C23 = <Null>[#C9]
+  #C24 = <core::int*>[#C19]
+  #C25 = <core::int*>{#C19}
+  #C26 = <core::int*, core::int*>{#C19:#C19)
+  #C27 = <core::List<core::int*>*>[#C24]
+  #C28 = <core::Set<core::int*>*>{#C25}
+  #C29 = <core::Map<core::int*, core::int*>*, core::int*>{#C26:#C19)
+  #C30 = <core::int*, core::Map<core::int*, core::int*>*>{#C19:#C26)
+  #C31 = eval const _in::Symbol::•(const core::String::fromEnvironment(#C1))
+  #C32 = "x"
+  #C33 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B*>{(self::C{}) as{ForNonNullableByDefault} self::B*}
+  #C34 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B*>{(self::C{}) as{ForNonNullableByDefault} self::B*}
+  #C35 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::A>?} #C9 : self::Class<self::A*>{self::A{}}
+  #C36 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B*>{(self::B{}) as{ForNonNullableByDefault} self::B*}
+  #C37 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::A>?} #C9 : self::Subclass<self::A*>{(self::A{}) as{ForNonNullableByDefault} self::A*}
+  #C38 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B*>{(self::B{}) as{ForNonNullableByDefault} self::B*}
+  #C39 = TypeLiteralConstant((core::int*, {named: core::int*}) →* core::int*)
+  #C40 = tearoff self::procedure
+  #C41 = self::ConstClassWithF {foo:#C40}
+  #C42 = eval const core::bool::fromEnvironment(#C1)
+  #C43 = eval !const core::bool::fromEnvironment(#C1)
+  #C44 = eval const core::bool::fromEnvironment(#C2) ?{core::bool?} const core::bool::fromEnvironment(#C1) : #C9
+  #C45 = eval (const core::bool::fromEnvironment(#C2) ?{core::bool?} const core::bool::fromEnvironment(#C1) : #C9)!
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///various.dart:
+- C. (from org-dartlang-testcase:///various.dart:92:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- Class.redirect (from org-dartlang-testcase:///various.dart:99:9)
+- Class. (from org-dartlang-testcase:///various.dart:98:9)
+- A. (from org-dartlang-testcase:///various.dart:80:9)
+- Class.method (from org-dartlang-testcase:///various.dart:100:9)
+- Subclass. (from org-dartlang-testcase:///various.dart:104:9)
+- B. (from org-dartlang-testcase:///various.dart:86:9)
+- Foo. (from org-dartlang-testcase:///various.dart:31:9)
+- ConstClassWithF. (from org-dartlang-testcase:///various.dart:120:9)
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.outline.expect
new file mode 100644
index 0000000..7059c80
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.outline.expect
@@ -0,0 +1,230 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:3: Error: Only static fields can be declared as const.
+// Try using 'final' instead of 'const', or adding the keyword 'static'.
+//   const bool initialized =
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:25: Error: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
+// Try moving the constant from the deferred library, or removing 'deferred' from the import.
+//
+// const fromDeferredLib = lib.x;
+//                         ^^^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:14:30: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNull = barFromEnvOrNull ?? true;
+//                              ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+//  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+//   const Class.method(T t) : this(-t);
+//                                  ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:123:27: Error: The parameter 'named' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// int procedure(int i, {int named}) => i;
+//                           ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+import "various_lib.dart" as var;
+import "dart:_internal" as _in;
+
+import "org-dartlang-testcase:///various_lib.dart" deferred as lib;
+
+typedef F = (core::int, {named: core::int}) → core::int;
+class Foo<E extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool saved;
+  final field core::bool saved2;
+  field core::bool initialized;
+  final field self::Foo::E% value;
+  const constructor •(self::Foo::E% value, {core::bool saved2 = const core::bool::fromEnvironment("foo", defaultValue: self::barFromEnv), core::bool x = const core::bool::fromEnvironment("foo", defaultValue: self::barFromEnv)}) → self::Foo<self::Foo::E%>
+    : self::Foo::value = value, self::Foo::saved2 = saved2, self::Foo::saved = x, super core::Object::•()
+    ;
+}
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A
+    : super core::Object::•()
+    ;
+  operator unary-() → self::A
+    ;
+}
+class B extends core::Object implements self::A /*hasConstConstructor*/  {
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  operator unary-() → self::B
+    ;
+}
+class C extends core::Object implements self::A /*hasConstConstructor*/  {
+  const constructor •() → self::C
+    : super core::Object::•()
+    ;
+  operator unary-() → self::C
+    ;
+}
+class Class<T extends self::A = self::A> extends core::Object /*hasConstConstructor*/  {
+  const constructor •(self::Class::T t) → self::Class<self::Class::T>
+    : super core::Object::•()
+    ;
+  const constructor redirect(dynamic t) → self::Class<self::Class::T>
+    : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
+    ;
+  const constructor method(self::Class::T t) → self::Class<self::Class::T>
+    : this self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+ - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+  const Class.method(T t) : this(-t);
+                                 ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} <BottomType>)
+    ;
+}
+class Subclass<T extends self::A = self::A> extends self::Class<self::Subclass::T> /*hasConstConstructor*/  {
+  const constructor •(dynamic t) → self::Subclass<self::Subclass::T>
+    : super self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Subclass::T)
+    ;
+}
+class ConstClassWithF extends core::Object /*hasConstConstructor*/  {
+  final field (core::int, {named: core::int}) → core::int foo;
+  const constructor •((core::int, {named: core::int}) → core::int foo) → self::ConstClassWithF
+    : self::ConstClassWithF::foo = foo, super core::Object::•()
+    ;
+}
+static const field core::bool barFromEnv = const core::bool::fromEnvironment("bar");
+static const field core::bool hasBarEnv = const core::bool::hasEnvironment("bar");
+static const field core::bool? barFromEnvOrNull0 = const core::bool::fromEnvironment("bar") ?{core::bool?} true : null;
+static const field core::bool barFromEnvOrNull = const core::bool::fromEnvironment("bar", defaultValue: self::barFromEnvOrNull0!);
+static const field core::bool notBarFromEnvOrNull = !self::barFromEnvOrNull;
+static const field core::bool conditionalOnNull = self::barFromEnvOrNull ?{core::bool} true : false;
+static const field core::bool nullAwareOnNull = let final core::bool #t2 = self::barFromEnvOrNull in #t2 == null ?{core::bool} true : #t2;
+static const field core::bool andOnNull = self::barFromEnvOrNull && true;
+static const field core::bool andOnNull2 = true && self::barFromEnvOrNull;
+static const field core::bool orOnNull = self::barFromEnvOrNull || true;
+static const field core::bool orOnNull2 = self::barFromEnvOrNull || false;
+static const field core::bool orOnNull3 = true || self::barFromEnvOrNull;
+static const field core::bool orOnNull4 = false || self::barFromEnvOrNull;
+static const field core::int fromDeferredLib = let final dynamic #t3 = CheckLibraryIsLoaded(lib) in var::x;
+static const field self::Foo<core::int> x = const self::Foo::•<core::int>(42);
+static const field core::bool? y = true;
+static const field core::bool z = !self::y!;
+static const field core::Object maybeInt = const core::bool::fromEnvironment("foo") ?{core::Object} 42 : true;
+static const field core::bool isItInt = self::maybeInt is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::Object maybeInt2 = self::z ?{core::Object} 42 : true;
+static const field core::bool isItInt2 = self::maybeInt2 is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field core::int? maybeInt3 = self::z ?{core::int?} 42 : null;
+static const field core::bool isItInt3 = self::maybeInt3 is{ForNonNullableByDefault} core::int ?{core::bool} true : false;
+static const field dynamic listOfNull = const <Null>[null];
+static const field core::bool isListOfNull = self::listOfNull is{ForNonNullableByDefault} core::List<Null>;
+static const field dynamic listOfInt = const <core::int>[42];
+static const field core::bool isListOfInt = self::listOfInt is{ForNonNullableByDefault} core::List<core::int>;
+static const field core::bool isList = self::listOfInt is{ForNonNullableByDefault} core::List<dynamic>;
+static const field dynamic setOfInt = const <core::int>{42};
+static const field core::bool isSetOfInt = self::setOfInt is{ForNonNullableByDefault} core::Set<core::int>;
+static const field dynamic mapOfInt = const <core::int, core::int>{42: 42};
+static const field core::bool isMapOfInt = self::mapOfInt is{ForNonNullableByDefault} core::Map<core::int, core::int>;
+static const field dynamic listOfListOfInt = const <core::List<core::int>>[const <core::int>[42]];
+static const field core::bool isListOfListOfInt = self::listOfListOfInt is{ForNonNullableByDefault} core::List<core::List<core::int>>;
+static const field dynamic setOfSetOfInt = const <core::Set<core::int>>{const <core::int>{42}};
+static const field core::bool isSetOfSetOfInt = self::setOfSetOfInt is{ForNonNullableByDefault} core::Set<core::Set<core::int>>;
+static const field dynamic mapOfMapOfInt1 = const <core::Map<core::int, core::int>, core::int>{const <core::int, core::int>{42: 42}: 42};
+static const field dynamic mapOfMapOfInt2 = const <core::int, core::Map<core::int, core::int>>{42: const <core::int, core::int>{42: 42}};
+static const field core::bool isMapOfMapOfInt1 = self::mapOfMapOfInt1 is{ForNonNullableByDefault} core::Map<core::Map<core::int, core::int>, core::int>;
+static const field core::bool isMapOfMapOfInt2 = self::mapOfMapOfInt2 is{ForNonNullableByDefault} core::Map<core::int, core::Map<core::int, core::int>>;
+static const field core::Symbol symbolWithUnevaluatedParameter = const _in::Symbol::•(const core::String::fromEnvironment("foo"));
+static const field core::Symbol symbolWithInvalidName = const _in::Symbol::•("42");
+static const field self::Class<self::B>? c0 = const core::bool::fromEnvironment("x") ?{self::Class<self::B>?} null : const self::Class::redirect<self::B>(const self::C::•());
+static const field self::Class<self::A>? c1 = const core::bool::fromEnvironment("x") ?{self::Class<self::A>?} null : const self::Class::method<self::A>(const self::A::•());
+static const field self::Subclass<self::B>? c2 = const core::bool::fromEnvironment("x") ?{self::Subclass<self::B>?} null : const self::Subclass::•<self::B>(const self::C::•());
+static const field self::Class<self::A>? c3 = const core::bool::fromEnvironment("x") ?{self::Class<self::A>?} null : const self::Class::•<self::A>(const self::A::•());
+static const field self::Class<self::B>? c4 = const core::bool::fromEnvironment("x") ?{self::Class<self::B>?} null : const self::Class::redirect<self::B>(const self::B::•());
+static const field self::Subclass<self::A>? c5 = const core::bool::fromEnvironment("x") ?{self::Subclass<self::A>?} null : const self::Subclass::•<self::A>(const self::A::•());
+static const field self::Subclass<self::B>? c6 = const core::bool::fromEnvironment("x") ?{self::Subclass<self::B>?} null : const self::Subclass::•<self::B>(const self::B::•());
+static const field core::Type f = (core::int, {named: core::int}) → core::int;
+static field self::ConstClassWithF constClassWithF1;
+static const field self::ConstClassWithF constClassWithF2 = const self::ConstClassWithF::•(self::procedure);
+static const field core::bool unevaluatedBool = const core::bool::fromEnvironment("foo");
+static const field core::bool notUnevaluatedBool = !self::unevaluatedBool;
+static const field core::bool? unevaluatedBoolOrNull = const core::bool::fromEnvironment("bar") ?{core::bool?} self::unevaluatedBool : null;
+static const field core::bool unevaluatedBoolNotNull = self::unevaluatedBoolOrNull!;
+static method procedure(core::int i, {core::int named}) → core::int
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as var;
+import "dart:core" as core;
+
+static const field core::int x = 42;
+
+
+Extra constant evaluation status:
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:32:27 -> BoolConstant(false)
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:32:69 -> BoolConstant(false)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:33:21 -> BoolConstant(false)
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:33:63 -> BoolConstant(false)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:7:31 -> BoolConstant(false)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:8:30 -> BoolConstant(false)
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:9:67 -> NullConstant(null)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:9:39 -> BoolConstant(false)
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:11:53 -> NullConstant(null)
+Evaluated: LogicalExpression @ org-dartlang-testcase:///various.dart:19:29 -> BoolConstant(true)
+Evaluated: StaticGet @ org-dartlang-testcase:///various.dart:22:29 -> IntConstant(42)
+Evaluated with empty environment: ConstructorInvocation @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int*>{Foo.saved: false, Foo.saved2: false, Foo.initialized: null, Foo.value: 42})
+Evaluated: Not @ org-dartlang-testcase:///various.dart:40:16 -> BoolConstant(false)
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:42:46 -> BoolConstant(true)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:42:23 -> BoolConstant(false)
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:43:38 -> BoolConstant(false)
+Evaluated with empty environment: IsExpression @ org-dartlang-testcase:///various.dart:43:31 -> BoolConstant(false)
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:43:22 -> BoolConstant(true)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:44:21 -> BoolConstant(true)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:45:40 -> BoolConstant(false)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:46:21 -> NullConstant(null)
+Evaluated: ConditionalExpression @ org-dartlang-testcase:///various.dart:47:40 -> BoolConstant(false)
+Evaluated: ListLiteral @ org-dartlang-testcase:///various.dart:49:28 -> ListConstant(const <Null>[null])
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:50:38 -> BoolConstant(true)
+Evaluated: ListLiteral @ org-dartlang-testcase:///various.dart:51:27 -> ListConstant(const <int*>[42])
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:52:36 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:53:31 -> BoolConstant(true)
+Evaluated: SetLiteral @ org-dartlang-testcase:///various.dart:54:26 -> SetConstant(const <int*>{42})
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:55:34 -> BoolConstant(true)
+Evaluated: MapLiteral @ org-dartlang-testcase:///various.dart:56:26 -> MapConstant(const <int*, int*>{42: 42})
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:57:34 -> BoolConstant(true)
+Evaluated: ListLiteral @ org-dartlang-testcase:///various.dart:58:33 -> ListConstant(const <List<int*>*>[const <int*>[42]])
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:61:48 -> BoolConstant(true)
+Evaluated: SetLiteral @ org-dartlang-testcase:///various.dart:62:31 -> SetConstant(const <Set<int*>*>{const <int*>{42}})
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:65:44 -> BoolConstant(true)
+Evaluated: MapLiteral @ org-dartlang-testcase:///various.dart:66:32 -> MapConstant(const <Map<int*, int*>*, int*>{const <int*, int*>{42: 42}: 42})
+Evaluated: MapLiteral @ org-dartlang-testcase:///various.dart:69:32 -> MapConstant(const <int*, Map<int*, int*>*>{42: const <int*, int*>{42: 42}})
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:72:46 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///various.dart:73:46 -> BoolConstant(true)
+Evaluated with empty environment: ConstructorInvocation @ org-dartlang-testcase:///various.dart:76:11 -> SymbolConstant(#)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:76:25 -> StringConstant("")
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:107:17 -> BoolConstant(false)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:107:71 -> InstanceConstant(const C{})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:108:17 -> BoolConstant(false)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:108:69 -> InstanceConstant(const A{})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:109:17 -> BoolConstant(false)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:109:65 -> InstanceConstant(const C{})
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:110:38 -> InstanceConstant(const Class<A*>{})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:110:17 -> BoolConstant(false)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:110:53 -> InstanceConstant(const Class<A*>{})
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:111:38 -> InstanceConstant(const Class<B*>{})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:111:17 -> BoolConstant(false)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:111:53 -> InstanceConstant(const Class<B*>{})
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:112:38 -> InstanceConstant(const Subclass<A*>{})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:112:17 -> BoolConstant(false)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:112:53 -> InstanceConstant(const Subclass<A*>{})
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:113:38 -> InstanceConstant(const Subclass<B*>{})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:113:17 -> BoolConstant(false)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:113:53 -> InstanceConstant(const Subclass<B*>{})
+Evaluated: TypeLiteral @ org-dartlang-testcase:///various.dart:116:11 -> TypeLiteralConstant(int* Function(int*, {named: int*})*)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various.dart:125:48 -> InstanceConstant(const ConstClassWithF{ConstClassWithF.foo: procedure})
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:127:35 -> BoolConstant(false)
+Evaluated with empty environment: Not @ org-dartlang-testcase:///various.dart:128:33 -> BoolConstant(true)
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:128:34 -> BoolConstant(false)
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various.dart:130:33 -> NullConstant(null)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various.dart:130:10 -> BoolConstant(false)
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:130:35 -> BoolConstant(false)
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various.dart:131:37 -> NullConstant(null)
+Extra constant evaluation: evaluated: 112, effectively constant: 68
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.transformed.expect
new file mode 100644
index 0000000..5002752
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart.weak.transformed.expect
@@ -0,0 +1,298 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:3: Error: Only static fields can be declared as const.
+// Try using 'final' instead of 'const', or adding the keyword 'static'.
+//   const bool initialized =
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:25: Error: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
+// Try moving the constant from the deferred library, or removing 'deferred' from the import.
+//
+// const fromDeferredLib = lib.x;
+//                         ^^^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:14:30: Warning: Operand of null-aware operation '??' has type 'bool' which excludes null.
+// const bool nullAwareOnNull = barFromEnvOrNull ?? true;
+//                              ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+//  - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+//   const Class.method(T t) : this(-t);
+//                                  ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:123:27: Error: The parameter 'named' can't have a value of 'null' because of its type 'int', but the implicit default value is 'null'.
+// Try adding either an explicit non-'null' default value or the 'required' modifier.
+// int procedure(int i, {int named}) => i;
+//                           ^^^^^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:31:9: Error: Constructor is marked 'const' so all fields must be final.
+//   const Foo(this.value,
+//         ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:27:14: Context: Field isn't final, but constructor is 'const'.
+//   const bool initialized =
+//              ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:29: Error: Constant evaluation error:
+// const fromDeferredLib = lib.x;
+//                             ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:29: Context: 'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.
+// Try moving the constant from the deferred library, or removing 'deferred' from the import.
+//
+// const fromDeferredLib = lib.x;
+//                             ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:22:7: Context: While analyzing:
+// const fromDeferredLib = lib.x;
+//       ^
+//
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:44: Error: Constant evaluation error:
+// const Symbol symbolWithInvalidName = const Symbol("42");
+//                                            ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:51: Context: The symbol name must be a valid public Dart member name, public constructor name, or library name, optionally qualified, but was '"42"'.
+// const Symbol symbolWithInvalidName = const Symbol("42");
+//                                                   ^
+// pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:77:14: Context: While analyzing:
+// const Symbol symbolWithInvalidName = const Symbol("42");
+//              ^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+import "org-dartlang-testcase:///various_lib.dart" deferred as lib;
+
+typedef F = (core::int, {named: core::int}) → core::int;
+class Foo<E extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool saved;
+  final field core::bool saved2;
+  field core::bool initialized = #C3;
+  final field self::Foo::E% value;
+  const constructor •(self::Foo::E% value, {core::bool saved2 = #C4, core::bool x = #C5}) → self::Foo<self::Foo::E%>
+    : self::Foo::value = value, self::Foo::saved2 = saved2, self::Foo::saved = x, super core::Object::•()
+    ;
+}
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A
+    : super core::Object::•()
+    ;
+  operator unary-() → self::A
+    return this;
+}
+class B extends core::Object implements self::A /*hasConstConstructor*/  {
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  operator unary-() → self::B
+    return this;
+}
+class C extends core::Object implements self::A /*hasConstConstructor*/  {
+  const constructor •() → self::C
+    : super core::Object::•()
+    ;
+  operator unary-() → self::C
+    return this;
+}
+class Class<T extends self::A = self::A> extends core::Object /*hasConstConstructor*/  {
+  const constructor •(self::Class::T t) → self::Class<self::Class::T>
+    : super core::Object::•()
+    ;
+  const constructor redirect(dynamic t) → self::Class<self::Class::T>
+    : this self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Class::T)
+    ;
+  const constructor method(self::Class::T t) → self::Class<self::Class::T>
+    : this self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+ - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+  const Class.method(T t) : this(-t);
+                                 ^" in t.{self::A::unary-}(){() → self::A} as{TypeError,ForNonNullableByDefault} <BottomType>)
+    ;
+}
+class Subclass<T extends self::A = self::A> extends self::Class<self::Subclass::T> /*hasConstConstructor*/  {
+  const constructor •(dynamic t) → self::Subclass<self::Subclass::T>
+    : super self::Class::•(t as{TypeError,ForDynamic,ForNonNullableByDefault} self::Subclass::T)
+    ;
+}
+class ConstClassWithF extends core::Object /*hasConstConstructor*/  {
+  final field (core::int, {named: core::int}) → core::int foo;
+  const constructor •((core::int, {named: core::int}) → core::int foo) → self::ConstClassWithF
+    : self::ConstClassWithF::foo = foo, super core::Object::•()
+    ;
+}
+static const field core::bool barFromEnv = #C6;
+static const field core::bool hasBarEnv = #C7;
+static const field core::bool? barFromEnvOrNull0 = #C10;
+static const field core::bool barFromEnvOrNull = #C11;
+static const field core::bool notBarFromEnvOrNull = #C12;
+static const field core::bool conditionalOnNull = #C14;
+static const field core::bool nullAwareOnNull = #C15;
+static const field core::bool andOnNull = #C16;
+static const field core::bool andOnNull2 = #C11;
+static const field core::bool orOnNull = #C17;
+static const field core::bool orOnNull2 = #C18;
+static const field core::bool orOnNull3 = #C8;
+static const field core::bool orOnNull4 = #C11;
+static const field core::int fromDeferredLib = invalid-expression "'lib' can't be used in a constant expression because it's marked as 'deferred' which means it isn't available until loaded.";
+static const field self::Foo<core::int> x = #C20;
+static const field core::bool? y = #C8;
+static const field core::bool z = #C13;
+static const field core::Object maybeInt = #C21;
+static const field core::bool isItInt = #C22;
+static const field core::Object maybeInt2 = #C8;
+static const field core::bool isItInt2 = #C13;
+static const field core::int? maybeInt3 = #C9;
+static const field core::bool isItInt3 = #C13;
+static const field dynamic listOfNull = #C23;
+static const field core::bool isListOfNull = #C8;
+static const field dynamic listOfInt = #C24;
+static const field core::bool isListOfInt = #C8;
+static const field core::bool isList = #C8;
+static const field dynamic setOfInt = #C25;
+static const field core::bool isSetOfInt = #C8;
+static const field dynamic mapOfInt = #C26;
+static const field core::bool isMapOfInt = #C8;
+static const field dynamic listOfListOfInt = #C27;
+static const field core::bool isListOfListOfInt = #C8;
+static const field dynamic setOfSetOfInt = #C28;
+static const field core::bool isSetOfSetOfInt = #C8;
+static const field dynamic mapOfMapOfInt1 = #C29;
+static const field dynamic mapOfMapOfInt2 = #C30;
+static const field core::bool isMapOfMapOfInt1 = #C8;
+static const field core::bool isMapOfMapOfInt2 = #C8;
+static const field core::Symbol symbolWithUnevaluatedParameter = #C31;
+static const field core::Symbol symbolWithInvalidName = invalid-expression "The symbol name must be a valid public Dart member name, public constructor name, or library name, optionally qualified, but was '\"42\"'.";
+static const field self::Class<self::B>? c0 = #C33;
+static const field self::Class<self::A>? c1 = invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+ - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+  const Class.method(T t) : this(-t);
+                                 ^";
+static const field self::Subclass<self::B>? c2 = #C34;
+static const field self::Class<self::A>? c3 = #C35;
+static const field self::Class<self::B>? c4 = #C36;
+static const field self::Subclass<self::A>? c5 = #C37;
+static const field self::Subclass<self::B>? c6 = #C38;
+static const field core::Type f = #C39;
+static field self::ConstClassWithF constClassWithF1 = #C41;
+static const field self::ConstClassWithF constClassWithF2 = #C41;
+static const field core::bool unevaluatedBool = #C42;
+static const field core::bool notUnevaluatedBool = #C43;
+static const field core::bool? unevaluatedBoolOrNull = #C44;
+static const field core::bool unevaluatedBoolNotNull = #C45;
+static method procedure(core::int i, {core::int named = #C9}) → core::int
+  return i;
+static method main() → dynamic {
+  core::print(#C46);
+  core::print(invalid-expression "pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart:100:34: Error: The argument type 'A' can't be assigned to the parameter type 'T'.
+ - 'A' is from 'pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various.dart'.
+  const Class.method(T t) : this(-t);
+                                 ^");
+  core::print(#C47);
+  core::print(#C48);
+  core::print(#C49);
+  core::print(#C50);
+  core::print(#C51);
+  core::print(#C52);
+  core::print((#C52).{self::Foo::saved}{core::bool});
+  core::print((#C52).{self::Foo::value}{core::int});
+}
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+static const field core::int x = #C19;
+
+constants  {
+  #C1 = "foo"
+  #C2 = "bar"
+  #C3 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
+  #C4 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
+  #C5 = eval const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2))
+  #C6 = eval const core::bool::fromEnvironment(#C2)
+  #C7 = eval const core::bool::hasEnvironment(#C2)
+  #C8 = true
+  #C9 = null
+  #C10 = eval const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9
+  #C11 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
+  #C12 = eval !const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
+  #C13 = false
+  #C14 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) ?{core::bool} #C8 : #C13
+  #C15 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) == null ?{core::bool} #C8 : const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!)
+  #C16 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) && (#C8)
+  #C17 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) || (#C8)
+  #C18 = eval const core::bool::fromEnvironment(#C2, defaultValue: (const core::bool::fromEnvironment(#C2) ?{core::bool?} #C8 : #C9)!) || (#C13)
+  #C19 = 42
+  #C20 = eval self::Foo<core::int*>{saved:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), saved2:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), initialized:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), value:#C19}
+  #C21 = eval const core::bool::fromEnvironment(#C1) ?{core::Object} #C19 : #C8
+  #C22 = eval (const core::bool::fromEnvironment(#C1) ?{core::Object} #C19 : #C8) is{ForNonNullableByDefault} core::int ?{core::bool} #C8 : #C13
+  #C23 = <Null>[#C9]
+  #C24 = <core::int*>[#C19]
+  #C25 = <core::int*>{#C19}
+  #C26 = <core::int*, core::int*>{#C19:#C19)
+  #C27 = <core::List<core::int*>*>[#C24]
+  #C28 = <core::Set<core::int*>*>{#C25}
+  #C29 = <core::Map<core::int*, core::int*>*, core::int*>{#C26:#C19)
+  #C30 = <core::int*, core::Map<core::int*, core::int*>*>{#C19:#C26)
+  #C31 = eval const _in::Symbol::•(const core::String::fromEnvironment(#C1))
+  #C32 = "x"
+  #C33 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B*>{(self::C{}) as{ForNonNullableByDefault} self::B*}
+  #C34 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B*>{(self::C{}) as{ForNonNullableByDefault} self::B*}
+  #C35 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::A>?} #C9 : self::Class<self::A*>{self::A{}}
+  #C36 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B*>{(self::B{}) as{ForNonNullableByDefault} self::B*}
+  #C37 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::A>?} #C9 : self::Subclass<self::A*>{(self::A{}) as{ForNonNullableByDefault} self::A*}
+  #C38 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B*>{(self::B{}) as{ForNonNullableByDefault} self::B*}
+  #C39 = TypeLiteralConstant((core::int*, {named: core::int*}) →* core::int*)
+  #C40 = tearoff self::procedure
+  #C41 = self::ConstClassWithF {foo:#C40}
+  #C42 = eval const core::bool::fromEnvironment(#C1)
+  #C43 = eval !const core::bool::fromEnvironment(#C1)
+  #C44 = eval const core::bool::fromEnvironment(#C2) ?{core::bool?} const core::bool::fromEnvironment(#C1) : #C9
+  #C45 = eval (const core::bool::fromEnvironment(#C2) ?{core::bool?} const core::bool::fromEnvironment(#C1) : #C9)!
+  #C46 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B*>{(self::C{}) as{ForNonNullableByDefault} self::B*}
+  #C47 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B*>{(self::C{}) as{ForNonNullableByDefault} self::B*}
+  #C48 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::A>?} #C9 : self::Class<self::A*>{self::A{}}
+  #C49 = eval const core::bool::fromEnvironment(#C32) ?{self::Class<self::B>?} #C9 : self::Class<self::B*>{(self::B{}) as{ForNonNullableByDefault} self::B*}
+  #C50 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::A>?} #C9 : self::Subclass<self::A*>{(self::A{}) as{ForNonNullableByDefault} self::A*}
+  #C51 = eval const core::bool::fromEnvironment(#C32) ?{self::Subclass<self::B>?} #C9 : self::Subclass<self::B*>{(self::B{}) as{ForNonNullableByDefault} self::B*}
+  #C52 = eval self::Foo<core::int*>{saved:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), saved2:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), initialized:const core::bool::fromEnvironment(#C1, defaultValue: const core::bool::fromEnvironment(#C2)), value:#C19}
+}
+
+Extra constant evaluation status:
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:32:27 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:33:21 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:28:13 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:110:38 -> InstanceConstant(const Class<A*>{})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:111:38 -> InstanceConstant(const Class<B*>{})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:112:38 -> InstanceConstant(const Subclass<A*>{})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:113:38 -> InstanceConstant(const Subclass<B*>{})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int*>{Foo.saved: false, Foo.saved2: false, Foo.initialized: false, Foo.value: 42})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int*>{Foo.saved: false, Foo.saved2: false, Foo.initialized: false, Foo.value: 42})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int*>{Foo.saved: false, Foo.saved2: false, Foo.initialized: false, Foo.value: 42})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:7:31 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:8:30 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:9:67 -> NullConstant(null)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:37:17 -> InstanceConstant(const Foo<int*>{Foo.saved: false, Foo.saved2: false, Foo.initialized: false, Foo.value: 42})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:42:46 -> BoolConstant(true)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:43:38 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:76:11 -> SymbolConstant(#)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:110:38 -> InstanceConstant(const Class<A*>{})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:111:38 -> InstanceConstant(const Class<B*>{})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:112:38 -> InstanceConstant(const Subclass<A*>{})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:113:38 -> InstanceConstant(const Subclass<B*>{})
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:127:35 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:128:33 -> BoolConstant(true)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various.dart:130:33 -> NullConstant(null)
+Extra constant evaluation: evaluated: 66, effectively constant: 24
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///various.dart:
+- C. (from org-dartlang-testcase:///various.dart:92:9)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- Class.redirect (from org-dartlang-testcase:///various.dart:99:9)
+- Class. (from org-dartlang-testcase:///various.dart:98:9)
+- A. (from org-dartlang-testcase:///various.dart:80:9)
+- Class.method (from org-dartlang-testcase:///various.dart:100:9)
+- Subclass. (from org-dartlang-testcase:///various.dart:104:9)
+- B. (from org-dartlang-testcase:///various.dart:86:9)
+- Foo. (from org-dartlang-testcase:///various.dart:31:9)
+- ConstClassWithF. (from org-dartlang-testcase:///various.dart:120:9)
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.outline.expect
deleted file mode 100644
index 1578765..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.outline.expect
+++ /dev/null
@@ -1,133 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "various_2_lib.dart" as var;
-
-import "org-dartlang-testcase:///various_2_lib.dart" as lib;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::Type objectTypeLiteral = core::Object;
-static const field (core::int) → core::int partialInstantiation = var::id1<core::int>;
-static const field var::Class<core::int> instance = const var::Class::•<core::int>(0);
-static const field var::Class<dynamic> instance2 = const var::Class::•<dynamic>(const <core::int>[42]);
-static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
-static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::List<core::int> listLiteral = const <core::int>[0];
-static const field core::List<dynamic> listLiteral2 = const <dynamic>[const <core::int>[42]];
-static const field core::Set<core::int> setLiteral = const <core::int>{0};
-static const field core::Set<dynamic> setLiteral2 = const <dynamic>{const <core::int>[42]};
-static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
-static const field core::Map<dynamic, dynamic> mapLiteral2 = const <dynamic, dynamic>{const <core::int>[42]: "foo", null: const <core::int>[42]};
-static const field core::List<core::int> listConcatenation = self::listLiteral;
-static const field core::Set<core::int> setConcatenation = self::setLiteral;
-static const field core::Map<core::int, core::String> mapConcatenation = self::mapLiteral;
-static const field core::bool objectTypeLiteralIdentical = core::identical(self::objectTypeLiteral, var::objectTypeLiteral);
-static const field core::bool partialInstantiationIdentical = core::identical(self::partialInstantiation, var::partialInstantiation);
-static const field core::bool instanceIdentical = core::identical(self::instance, var::instance);
-static const field core::bool instance2Identical = core::identical(self::instance2, var::instance2);
-static const field core::bool functionTypeLiteralIdentical = core::identical(self::functionTypeLiteral, var::functionTypeLiteral);
-static const field core::bool genericFunctionTypeLiteralIdentical = core::identical(self::genericFunctionTypeLiteral, var::genericFunctionTypeLiteral);
-static const field core::bool listLiteralIdentical = core::identical(self::listLiteral, var::listLiteral);
-static const field core::bool listLiteral2Identical = core::identical(self::listLiteral2, var::listLiteral2);
-static const field core::bool setLiteralIdentical = core::identical(self::setLiteral, var::setLiteral);
-static const field core::bool setLiteral2Identical = core::identical(self::setLiteral2, var::setLiteral2);
-static const field core::bool mapLiteralIdentical = core::identical(self::mapLiteral, var::mapLiteral);
-static const field core::bool mapLiteral2Identical = core::identical(self::mapLiteral2, var::mapLiteral2);
-static const field core::bool listConcatenationIdentical = core::identical(self::listConcatenation, var::listConcatenation);
-static const field core::bool setConcatenationIdentical = core::identical(self::setConcatenation, var::setConcatenation);
-static const field core::bool mapConcatenationIdentical = core::identical(self::mapConcatenation, var::mapConcatenation);
-static method main() → dynamic
-  ;
-static method test(dynamic expected, dynamic actual) → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as var;
-import "dart:core" as core;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field var::Class::T% field;
-  const constructor •(var::Class::T% field) → var::Class<var::Class::T%>
-    : var::Class::field = field, super core::Object::•()
-    ;
-}
-static const field core::Type objectTypeLiteral = core::Object;
-static const field (core::Object?, core::Object?) → core::bool c2 = core::identical;
-static const field (core::int) → core::int partialInstantiation = const core::bool::fromEnvironment("foo") ?{(core::int) → core::int} var::id1<core::int> : var::id2<core::int>;
-static const field var::Class<core::int> instance = const var::Class::•<core::int>(0);
-static const field var::Class<dynamic> instance2 = const var::Class::•<dynamic>(const <core::int>[42]);
-static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
-static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::List<core::int> listLiteral = const <core::int>[0];
-static const field core::List<dynamic> listLiteral2 = const <dynamic>[const <core::int>[42]];
-static const field core::Set<core::int> setLiteral = const <core::int>{0};
-static const field core::Set<dynamic> setLiteral2 = const <dynamic>{const <core::int>[42]};
-static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
-static const field core::Map<dynamic, dynamic> mapLiteral2 = const <dynamic, dynamic>{const <core::int>[42]: "foo", null: const <core::int>[42]};
-static const field core::List<core::int> listConcatenation = var::listLiteral;
-static const field core::Set<core::int> setConcatenation = var::setLiteral;
-static const field core::Map<core::int, core::String> mapConcatenation = var::mapLiteral;
-static method id1<T extends core::Object? = dynamic>(var::id1::T% t) → var::id1::T%
-  ;
-static method id2<T extends core::Object? = dynamic>(var::id2::T% t) → var::id2::T%
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2.dart:10:27 -> TypeLiteralConstant(Object)
-Evaluated: Instantiation @ org-dartlang-testcase:///various_2.dart:11:52 -> PartialInstantiationConstant(id1<int>)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various_2.dart:12:24 -> InstanceConstant(const Class<int>{Class.field: 0})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various_2.dart:13:25 -> InstanceConstant(const Class<dynamic>{Class.field: const <int>[42]})
-Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2.dart:15:29 -> TypeLiteralConstant(dynamic Function(dynamic))
-Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2.dart:16:36 -> TypeLiteralConstant(T% Function<T>(T%))
-Evaluated: ListLiteral @ org-dartlang-testcase:///various_2.dart:17:26 -> ListConstant(const <int>[0])
-Evaluated: ListLiteral @ org-dartlang-testcase:///various_2.dart:18:31 -> ListConstant(const <dynamic>[const <int>[42]])
-Evaluated: SetLiteral @ org-dartlang-testcase:///various_2.dart:21:25 -> SetConstant(const <int>{0})
-Evaluated: SetLiteral @ org-dartlang-testcase:///various_2.dart:22:30 -> SetConstant(const <dynamic>{const <int>[42]})
-Evaluated: MapLiteral @ org-dartlang-testcase:///various_2.dart:25:33 -> MapConstant(const <int, String>{0: "foo"})
-Evaluated: MapLiteral @ org-dartlang-testcase:///various_2.dart:26:39 -> MapConstant(const <dynamic, dynamic>{const <int>[42]: "foo", null: const <int>[42]})
-Evaluated: ListConcatenation @ org-dartlang-testcase:///various_2.dart:30:32 -> ListConstant(const <int>[0])
-Evaluated: SetConcatenation @ org-dartlang-testcase:///various_2.dart:31:31 -> SetConstant(const <int>{0})
-Evaluated: MapConcatenation @ org-dartlang-testcase:///various_2.dart:32:7 -> MapConstant(const <int, String>{0: "foo"})
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:35:5 -> BoolConstant(true)
-Evaluated with empty environment: StaticInvocation @ org-dartlang-testcase:///various_2.dart:37:5 -> BoolConstant(false)
-Evaluated: StaticGet @ org-dartlang-testcase:///various_2.dart:37:15 -> PartialInstantiationConstant(id1<int>)
-Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various_2.dart:37:41 -> PartialInstantiationConstant(id2<int>)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:38:27 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:39:28 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:41:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:43:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:44:30 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:45:31 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:46:29 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:47:30 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:48:29 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:49:30 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:51:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:53:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:55:5 -> BoolConstant(true)
-Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2_lib.dart:17:27 -> TypeLiteralConstant(Object)
-Evaluated: StaticTearOff @ org-dartlang-testcase:///various_2_lib.dart:18:12 -> TearOffConstant(identical)
-Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various_2_lib.dart:20:39 -> PartialInstantiationConstant(id2<int>)
-Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various_2_lib.dart:20:11 -> BoolConstant(false)
-Evaluated with empty environment: Instantiation @ org-dartlang-testcase:///various_2_lib.dart:20:41 -> PartialInstantiationConstant(id1<int>)
-Evaluated: StaticTearOff @ org-dartlang-testcase:///various_2_lib.dart:20:41 -> TearOffConstant(id1)
-Evaluated with empty environment: Instantiation @ org-dartlang-testcase:///various_2_lib.dart:20:47 -> PartialInstantiationConstant(id2<int>)
-Evaluated: StaticTearOff @ org-dartlang-testcase:///various_2_lib.dart:20:47 -> TearOffConstant(id2)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various_2_lib.dart:21:24 -> InstanceConstant(const Class<int>{Class.field: 0})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various_2_lib.dart:22:25 -> InstanceConstant(const Class<dynamic>{Class.field: const <int>[42]})
-Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2_lib.dart:23:29 -> TypeLiteralConstant(dynamic Function(dynamic))
-Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2_lib.dart:24:36 -> TypeLiteralConstant(T% Function<T>(T%))
-Evaluated: ListLiteral @ org-dartlang-testcase:///various_2_lib.dart:25:26 -> ListConstant(const <int>[0])
-Evaluated: ListLiteral @ org-dartlang-testcase:///various_2_lib.dart:26:31 -> ListConstant(const <dynamic>[const <int>[42]])
-Evaluated: SetLiteral @ org-dartlang-testcase:///various_2_lib.dart:29:25 -> SetConstant(const <int>{0})
-Evaluated: SetLiteral @ org-dartlang-testcase:///various_2_lib.dart:30:30 -> SetConstant(const <dynamic>{const <int>[42]})
-Evaluated: MapLiteral @ org-dartlang-testcase:///various_2_lib.dart:33:33 -> MapConstant(const <int, String>{0: "foo"})
-Evaluated: MapLiteral @ org-dartlang-testcase:///various_2_lib.dart:34:39 -> MapConstant(const <dynamic, dynamic>{const <int>[42]: "foo", null: const <int>[42]})
-Evaluated: ListConcatenation @ org-dartlang-testcase:///various_2_lib.dart:38:32 -> ListConstant(const <int>[0])
-Evaluated: SetConcatenation @ org-dartlang-testcase:///various_2_lib.dart:39:31 -> SetConstant(const <int>{0})
-Evaluated: MapConcatenation @ org-dartlang-testcase:///various_2_lib.dart:40:7 -> MapConstant(const <int, String>{0: "foo"})
-Extra constant evaluation: evaluated: 54, effectively constant: 53
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.strong.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.strong.expect
deleted file mode 100644
index c554f17..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.strong.expect
+++ /dev/null
@@ -1,137 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "various_2_lib.dart" as var;
-
-import "org-dartlang-testcase:///various_2_lib.dart" as lib;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::Type objectTypeLiteral = #C1;
-static const field (core::int) → core::int partialInstantiation = #C3;
-static const field var::Class<core::int> instance = #C5;
-static const field var::Class<dynamic> instance2 = #C8;
-static const field core::Type functionTypeLiteral = #C9;
-static const field core::Type genericFunctionTypeLiteral = #C10;
-static const field core::List<core::int> listLiteral = #C11;
-static const field core::List<dynamic> listLiteral2 = #C12;
-static const field core::Set<core::int> setLiteral = #C13;
-static const field core::Set<dynamic> setLiteral2 = #C14;
-static const field core::Map<core::int, core::String> mapLiteral = #C16;
-static const field core::Map<dynamic, dynamic> mapLiteral2 = #C18;
-static const field core::List<core::int> listConcatenation = #C11;
-static const field core::Set<core::int> setConcatenation = #C13;
-static const field core::Map<core::int, core::String> mapConcatenation = #C16;
-static const field core::bool objectTypeLiteralIdentical = #C19;
-static const field core::bool partialInstantiationIdentical = #C21;
-static const field core::bool instanceIdentical = #C19;
-static const field core::bool instance2Identical = #C19;
-static const field core::bool functionTypeLiteralIdentical = #C19;
-static const field core::bool genericFunctionTypeLiteralIdentical = #C19;
-static const field core::bool listLiteralIdentical = #C19;
-static const field core::bool listLiteral2Identical = #C19;
-static const field core::bool setLiteralIdentical = #C19;
-static const field core::bool setLiteral2Identical = #C19;
-static const field core::bool mapLiteralIdentical = #C19;
-static const field core::bool mapLiteral2Identical = #C19;
-static const field core::bool listConcatenationIdentical = #C19;
-static const field core::bool setConcatenationIdentical = #C19;
-static const field core::bool mapConcatenationIdentical = #C19;
-static method main() → dynamic {
-  self::test(#C1, #C1);
-  self::test(#C3, #C22);
-  self::test(#C5, #C5);
-  self::test(#C9, #C9);
-  self::test(#C10, #C10);
-  self::test(#C11, #C11);
-  self::test(#C13, #C13);
-  self::test(#C16, #C16);
-  self::test(#C11, #C11);
-  self::test(#C13, #C13);
-  self::test(#C16, #C16);
-  self::test(true, #C19);
-  self::test(true, #C21);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-}
-static method test(dynamic expected, dynamic actual) → dynamic {
-  core::print("test(${expected}, ${actual})");
-  if(!core::identical(expected, actual)) {
-    throw "Expected ${expected}, actual ${actual}";
-  }
-}
-
-library /*isNonNullableByDefault*/;
-import self as var;
-import "dart:core" as core;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field var::Class::T% field;
-  const constructor •(var::Class::T% field) → var::Class<var::Class::T%>
-    : var::Class::field = field, super core::Object::•()
-    ;
-}
-static const field core::Type objectTypeLiteral = #C1;
-static const field (core::Object?, core::Object?) → core::bool c2 = #C23;
-static const field (core::int) → core::int partialInstantiation = #C22;
-static const field var::Class<core::int> instance = #C5;
-static const field var::Class<dynamic> instance2 = #C8;
-static const field core::Type functionTypeLiteral = #C9;
-static const field core::Type genericFunctionTypeLiteral = #C10;
-static const field core::List<core::int> listLiteral = #C11;
-static const field core::List<dynamic> listLiteral2 = #C12;
-static const field core::Set<core::int> setLiteral = #C13;
-static const field core::Set<dynamic> setLiteral2 = #C14;
-static const field core::Map<core::int, core::String> mapLiteral = #C16;
-static const field core::Map<dynamic, dynamic> mapLiteral2 = #C18;
-static const field core::List<core::int> listConcatenation = #C11;
-static const field core::Set<core::int> setConcatenation = #C13;
-static const field core::Map<core::int, core::String> mapConcatenation = #C16;
-static method id1<T extends core::Object? = dynamic>(var::id1::T% t) → var::id1::T%
-  return t;
-static method id2<T extends core::Object? = dynamic>(var::id2::T% t) → var::id2::T%
-  return t;
-
-constants  {
-  #C1 = TypeLiteralConstant(core::Object)
-  #C2 = tearoff var::id1
-  #C3 = partial-instantiation var::id1 <core::int>
-  #C4 = 0
-  #C5 = var::Class<core::int> {field:#C4}
-  #C6 = 42
-  #C7 = <core::int>[#C6]
-  #C8 = var::Class<dynamic> {field:#C7}
-  #C9 = TypeLiteralConstant((dynamic) → dynamic)
-  #C10 = TypeLiteralConstant(<T extends core::Object? = dynamic>(T%) → T%)
-  #C11 = <core::int>[#C4]
-  #C12 = <dynamic>[#C7]
-  #C13 = <core::int>{#C4}
-  #C14 = <dynamic>{#C7}
-  #C15 = "foo"
-  #C16 = <core::int, core::String>{#C4:#C15)
-  #C17 = null
-  #C18 = <dynamic, dynamic>{#C7:#C15, #C17:#C7)
-  #C19 = true
-  #C20 = tearoff var::id2
-  #C21 = eval const core::identical(#C3, const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>)
-  #C22 = eval const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>
-  #C23 = tearoff core::identical
-}
-
-
-Constructor coverage from constants:
-org-dartlang-testcase:///various_2.dart:
-- Class. (from org-dartlang-testcase:///various_2_lib.dart:8:9)
-
-org-dartlang-testcase:///various_2_lib.dart:
-- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- Class. (from org-dartlang-testcase:///various_2_lib.dart:8:9)
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.strong.transformed.expect
deleted file mode 100644
index 79894cf..0000000
--- a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.strong.transformed.expect
+++ /dev/null
@@ -1,146 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "various_2_lib.dart" as var;
-
-import "org-dartlang-testcase:///various_2_lib.dart" as lib;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::Type objectTypeLiteral = #C1;
-static const field (core::int) → core::int partialInstantiation = #C3;
-static const field var::Class<core::int> instance = #C5;
-static const field var::Class<dynamic> instance2 = #C8;
-static const field core::Type functionTypeLiteral = #C9;
-static const field core::Type genericFunctionTypeLiteral = #C10;
-static const field core::List<core::int> listLiteral = #C11;
-static const field core::List<dynamic> listLiteral2 = #C12;
-static const field core::Set<core::int> setLiteral = #C13;
-static const field core::Set<dynamic> setLiteral2 = #C14;
-static const field core::Map<core::int, core::String> mapLiteral = #C16;
-static const field core::Map<dynamic, dynamic> mapLiteral2 = #C18;
-static const field core::List<core::int> listConcatenation = #C11;
-static const field core::Set<core::int> setConcatenation = #C13;
-static const field core::Map<core::int, core::String> mapConcatenation = #C16;
-static const field core::bool objectTypeLiteralIdentical = #C19;
-static const field core::bool partialInstantiationIdentical = #C21;
-static const field core::bool instanceIdentical = #C19;
-static const field core::bool instance2Identical = #C19;
-static const field core::bool functionTypeLiteralIdentical = #C19;
-static const field core::bool genericFunctionTypeLiteralIdentical = #C19;
-static const field core::bool listLiteralIdentical = #C19;
-static const field core::bool listLiteral2Identical = #C19;
-static const field core::bool setLiteralIdentical = #C19;
-static const field core::bool setLiteral2Identical = #C19;
-static const field core::bool mapLiteralIdentical = #C19;
-static const field core::bool mapLiteral2Identical = #C19;
-static const field core::bool listConcatenationIdentical = #C19;
-static const field core::bool setConcatenationIdentical = #C19;
-static const field core::bool mapConcatenationIdentical = #C19;
-static method main() → dynamic {
-  self::test(#C1, #C1);
-  self::test(#C3, #C22);
-  self::test(#C5, #C5);
-  self::test(#C9, #C9);
-  self::test(#C10, #C10);
-  self::test(#C11, #C11);
-  self::test(#C13, #C13);
-  self::test(#C16, #C16);
-  self::test(#C11, #C11);
-  self::test(#C13, #C13);
-  self::test(#C16, #C16);
-  self::test(true, #C19);
-  self::test(true, #C23);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-  self::test(true, #C19);
-}
-static method test(dynamic expected, dynamic actual) → dynamic {
-  core::print("test(${expected}, ${actual})");
-  if(!core::identical(expected, actual)) {
-    throw "Expected ${expected}, actual ${actual}";
-  }
-}
-
-library /*isNonNullableByDefault*/;
-import self as var;
-import "dart:core" as core;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field var::Class::T% field;
-  const constructor •(var::Class::T% field) → var::Class<var::Class::T%>
-    : var::Class::field = field, super core::Object::•()
-    ;
-}
-static const field core::Type objectTypeLiteral = #C1;
-static const field (core::Object?, core::Object?) → core::bool c2 = #C24;
-static const field (core::int) → core::int partialInstantiation = #C25;
-static const field var::Class<core::int> instance = #C5;
-static const field var::Class<dynamic> instance2 = #C8;
-static const field core::Type functionTypeLiteral = #C9;
-static const field core::Type genericFunctionTypeLiteral = #C10;
-static const field core::List<core::int> listLiteral = #C11;
-static const field core::List<dynamic> listLiteral2 = #C12;
-static const field core::Set<core::int> setLiteral = #C13;
-static const field core::Set<dynamic> setLiteral2 = #C14;
-static const field core::Map<core::int, core::String> mapLiteral = #C16;
-static const field core::Map<dynamic, dynamic> mapLiteral2 = #C18;
-static const field core::List<core::int> listConcatenation = #C11;
-static const field core::Set<core::int> setConcatenation = #C13;
-static const field core::Map<core::int, core::String> mapConcatenation = #C16;
-static method id1<T extends core::Object? = dynamic>(var::id1::T% t) → var::id1::T%
-  return t;
-static method id2<T extends core::Object? = dynamic>(var::id2::T% t) → var::id2::T%
-  return t;
-
-constants  {
-  #C1 = TypeLiteralConstant(core::Object)
-  #C2 = tearoff var::id1
-  #C3 = partial-instantiation var::id1 <core::int>
-  #C4 = 0
-  #C5 = var::Class<core::int> {field:#C4}
-  #C6 = 42
-  #C7 = <core::int>[#C6]
-  #C8 = var::Class<dynamic> {field:#C7}
-  #C9 = TypeLiteralConstant((dynamic) → dynamic)
-  #C10 = TypeLiteralConstant(<T extends core::Object? = dynamic>(T%) → T%)
-  #C11 = <core::int>[#C4]
-  #C12 = <dynamic>[#C7]
-  #C13 = <core::int>{#C4}
-  #C14 = <dynamic>{#C7}
-  #C15 = "foo"
-  #C16 = <core::int, core::String>{#C4:#C15)
-  #C17 = null
-  #C18 = <dynamic, dynamic>{#C7:#C15, #C17:#C7)
-  #C19 = true
-  #C20 = tearoff var::id2
-  #C21 = eval const core::identical(#C3, const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>)
-  #C22 = eval const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>
-  #C23 = eval const core::identical(#C3, const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>)
-  #C24 = tearoff core::identical
-  #C25 = eval const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>
-}
-
-Extra constant evaluation status:
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various_2.dart:15:28 -> PartialInstantiationConstant(id2<int>)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various_2.dart:37:5 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various_2.dart:37:5 -> BoolConstant(false)
-Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various_2_lib.dart:20:39 -> PartialInstantiationConstant(id2<int>)
-Extra constant evaluation: evaluated: 41, effectively constant: 4
-
-
-Constructor coverage from constants:
-org-dartlang-testcase:///various_2.dart:
-- Class. (from org-dartlang-testcase:///various_2_lib.dart:8:9)
-
-org-dartlang-testcase:///various_2_lib.dart:
-- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
-- Class. (from org-dartlang-testcase:///various_2_lib.dart:8:9)
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.expect
new file mode 100644
index 0000000..8a9abbe
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.expect
@@ -0,0 +1,137 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "various_2_lib.dart" as var;
+
+import "org-dartlang-testcase:///various_2_lib.dart" as lib;
+
+typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
+typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
+static const field core::Type objectTypeLiteral = #C1;
+static const field (core::int) → core::int partialInstantiation = #C3;
+static const field var::Class<core::int> instance = #C5;
+static const field var::Class<dynamic> instance2 = #C8;
+static const field core::Type functionTypeLiteral = #C9;
+static const field core::Type genericFunctionTypeLiteral = #C10;
+static const field core::List<core::int> listLiteral = #C11;
+static const field core::List<dynamic> listLiteral2 = #C12;
+static const field core::Set<core::int> setLiteral = #C13;
+static const field core::Set<dynamic> setLiteral2 = #C14;
+static const field core::Map<core::int, core::String> mapLiteral = #C16;
+static const field core::Map<dynamic, dynamic> mapLiteral2 = #C18;
+static const field core::List<core::int> listConcatenation = #C11;
+static const field core::Set<core::int> setConcatenation = #C13;
+static const field core::Map<core::int, core::String> mapConcatenation = #C16;
+static const field core::bool objectTypeLiteralIdentical = #C19;
+static const field core::bool partialInstantiationIdentical = #C21;
+static const field core::bool instanceIdentical = #C19;
+static const field core::bool instance2Identical = #C19;
+static const field core::bool functionTypeLiteralIdentical = #C19;
+static const field core::bool genericFunctionTypeLiteralIdentical = #C19;
+static const field core::bool listLiteralIdentical = #C19;
+static const field core::bool listLiteral2Identical = #C19;
+static const field core::bool setLiteralIdentical = #C19;
+static const field core::bool setLiteral2Identical = #C19;
+static const field core::bool mapLiteralIdentical = #C19;
+static const field core::bool mapLiteral2Identical = #C19;
+static const field core::bool listConcatenationIdentical = #C19;
+static const field core::bool setConcatenationIdentical = #C19;
+static const field core::bool mapConcatenationIdentical = #C19;
+static method main() → dynamic {
+  self::test(#C1, #C1);
+  self::test(#C3, #C22);
+  self::test(#C5, #C5);
+  self::test(#C9, #C9);
+  self::test(#C10, #C10);
+  self::test(#C11, #C11);
+  self::test(#C13, #C13);
+  self::test(#C16, #C16);
+  self::test(#C11, #C11);
+  self::test(#C13, #C13);
+  self::test(#C16, #C16);
+  self::test(true, #C19);
+  self::test(true, #C21);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+}
+static method test(dynamic expected, dynamic actual) → dynamic {
+  core::print("test(${expected}, ${actual})");
+  if(!core::identical(expected, actual)) {
+    throw "Expected ${expected}, actual ${actual}";
+  }
+}
+
+library /*isNonNullableByDefault*/;
+import self as var;
+import "dart:core" as core;
+
+typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
+typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
+class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field var::Class::T% field;
+  const constructor •(var::Class::T% field) → var::Class<var::Class::T%>
+    : var::Class::field = field, super core::Object::•()
+    ;
+}
+static const field core::Type objectTypeLiteral = #C1;
+static const field (core::Object?, core::Object?) → core::bool c2 = #C23;
+static const field (core::int) → core::int partialInstantiation = #C22;
+static const field var::Class<core::int> instance = #C5;
+static const field var::Class<dynamic> instance2 = #C8;
+static const field core::Type functionTypeLiteral = #C9;
+static const field core::Type genericFunctionTypeLiteral = #C10;
+static const field core::List<core::int> listLiteral = #C11;
+static const field core::List<dynamic> listLiteral2 = #C12;
+static const field core::Set<core::int> setLiteral = #C13;
+static const field core::Set<dynamic> setLiteral2 = #C14;
+static const field core::Map<core::int, core::String> mapLiteral = #C16;
+static const field core::Map<dynamic, dynamic> mapLiteral2 = #C18;
+static const field core::List<core::int> listConcatenation = #C11;
+static const field core::Set<core::int> setConcatenation = #C13;
+static const field core::Map<core::int, core::String> mapConcatenation = #C16;
+static method id1<T extends core::Object? = dynamic>(var::id1::T% t) → var::id1::T%
+  return t;
+static method id2<T extends core::Object? = dynamic>(var::id2::T% t) → var::id2::T%
+  return t;
+
+constants  {
+  #C1 = TypeLiteralConstant(core::Object*)
+  #C2 = tearoff var::id1
+  #C3 = partial-instantiation var::id1 <core::int*>
+  #C4 = 0
+  #C5 = var::Class<core::int*> {field:#C4}
+  #C6 = 42
+  #C7 = <core::int*>[#C6]
+  #C8 = var::Class<dynamic> {field:#C7}
+  #C9 = TypeLiteralConstant((dynamic) →* dynamic)
+  #C10 = TypeLiteralConstant(<T extends core::Object? = dynamic>(T*) →* T*)
+  #C11 = <core::int*>[#C4]
+  #C12 = <dynamic>[#C7]
+  #C13 = <core::int*>{#C4}
+  #C14 = <dynamic>{#C7}
+  #C15 = "foo"
+  #C16 = <core::int*, core::String*>{#C4:#C15)
+  #C17 = null
+  #C18 = <dynamic, dynamic>{#C7:#C15, #C17:#C7)
+  #C19 = true
+  #C20 = tearoff var::id2
+  #C21 = eval const core::identical(#C3, const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>)
+  #C22 = eval const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>
+  #C23 = tearoff core::identical
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///various_2.dart:
+- Class. (from org-dartlang-testcase:///various_2_lib.dart:8:9)
+
+org-dartlang-testcase:///various_2_lib.dart:
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- Class. (from org-dartlang-testcase:///various_2_lib.dart:8:9)
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.outline.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.outline.expect
new file mode 100644
index 0000000..91fb49a
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.outline.expect
@@ -0,0 +1,133 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "various_2_lib.dart" as var;
+
+import "org-dartlang-testcase:///various_2_lib.dart" as lib;
+
+typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
+typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
+static const field core::Type objectTypeLiteral = core::Object;
+static const field (core::int) → core::int partialInstantiation = var::id1<core::int>;
+static const field var::Class<core::int> instance = const var::Class::•<core::int>(0);
+static const field var::Class<dynamic> instance2 = const var::Class::•<dynamic>(const <core::int>[42]);
+static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
+static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
+static const field core::List<core::int> listLiteral = const <core::int>[0];
+static const field core::List<dynamic> listLiteral2 = const <dynamic>[const <core::int>[42]];
+static const field core::Set<core::int> setLiteral = const <core::int>{0};
+static const field core::Set<dynamic> setLiteral2 = const <dynamic>{const <core::int>[42]};
+static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
+static const field core::Map<dynamic, dynamic> mapLiteral2 = const <dynamic, dynamic>{const <core::int>[42]: "foo", null: const <core::int>[42]};
+static const field core::List<core::int> listConcatenation = self::listLiteral;
+static const field core::Set<core::int> setConcatenation = self::setLiteral;
+static const field core::Map<core::int, core::String> mapConcatenation = self::mapLiteral;
+static const field core::bool objectTypeLiteralIdentical = core::identical(self::objectTypeLiteral, var::objectTypeLiteral);
+static const field core::bool partialInstantiationIdentical = core::identical(self::partialInstantiation, var::partialInstantiation);
+static const field core::bool instanceIdentical = core::identical(self::instance, var::instance);
+static const field core::bool instance2Identical = core::identical(self::instance2, var::instance2);
+static const field core::bool functionTypeLiteralIdentical = core::identical(self::functionTypeLiteral, var::functionTypeLiteral);
+static const field core::bool genericFunctionTypeLiteralIdentical = core::identical(self::genericFunctionTypeLiteral, var::genericFunctionTypeLiteral);
+static const field core::bool listLiteralIdentical = core::identical(self::listLiteral, var::listLiteral);
+static const field core::bool listLiteral2Identical = core::identical(self::listLiteral2, var::listLiteral2);
+static const field core::bool setLiteralIdentical = core::identical(self::setLiteral, var::setLiteral);
+static const field core::bool setLiteral2Identical = core::identical(self::setLiteral2, var::setLiteral2);
+static const field core::bool mapLiteralIdentical = core::identical(self::mapLiteral, var::mapLiteral);
+static const field core::bool mapLiteral2Identical = core::identical(self::mapLiteral2, var::mapLiteral2);
+static const field core::bool listConcatenationIdentical = core::identical(self::listConcatenation, var::listConcatenation);
+static const field core::bool setConcatenationIdentical = core::identical(self::setConcatenation, var::setConcatenation);
+static const field core::bool mapConcatenationIdentical = core::identical(self::mapConcatenation, var::mapConcatenation);
+static method main() → dynamic
+  ;
+static method test(dynamic expected, dynamic actual) → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as var;
+import "dart:core" as core;
+
+typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
+typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
+class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field var::Class::T% field;
+  const constructor •(var::Class::T% field) → var::Class<var::Class::T%>
+    : var::Class::field = field, super core::Object::•()
+    ;
+}
+static const field core::Type objectTypeLiteral = core::Object;
+static const field (core::Object?, core::Object?) → core::bool c2 = core::identical;
+static const field (core::int) → core::int partialInstantiation = const core::bool::fromEnvironment("foo") ?{(core::int) → core::int} var::id1<core::int> : var::id2<core::int>;
+static const field var::Class<core::int> instance = const var::Class::•<core::int>(0);
+static const field var::Class<dynamic> instance2 = const var::Class::•<dynamic>(const <core::int>[42]);
+static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
+static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
+static const field core::List<core::int> listLiteral = const <core::int>[0];
+static const field core::List<dynamic> listLiteral2 = const <dynamic>[const <core::int>[42]];
+static const field core::Set<core::int> setLiteral = const <core::int>{0};
+static const field core::Set<dynamic> setLiteral2 = const <dynamic>{const <core::int>[42]};
+static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
+static const field core::Map<dynamic, dynamic> mapLiteral2 = const <dynamic, dynamic>{const <core::int>[42]: "foo", null: const <core::int>[42]};
+static const field core::List<core::int> listConcatenation = var::listLiteral;
+static const field core::Set<core::int> setConcatenation = var::setLiteral;
+static const field core::Map<core::int, core::String> mapConcatenation = var::mapLiteral;
+static method id1<T extends core::Object? = dynamic>(var::id1::T% t) → var::id1::T%
+  ;
+static method id2<T extends core::Object? = dynamic>(var::id2::T% t) → var::id2::T%
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2.dart:10:27 -> TypeLiteralConstant(Object*)
+Evaluated: Instantiation @ org-dartlang-testcase:///various_2.dart:11:52 -> PartialInstantiationConstant(id1<int*>)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various_2.dart:12:24 -> InstanceConstant(const Class<int*>{Class.field: 0})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various_2.dart:13:25 -> InstanceConstant(const Class<dynamic>{Class.field: const <int*>[42]})
+Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2.dart:15:29 -> TypeLiteralConstant(dynamic Function(dynamic)*)
+Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2.dart:16:36 -> TypeLiteralConstant(T* Function<T>(T*)*)
+Evaluated: ListLiteral @ org-dartlang-testcase:///various_2.dart:17:26 -> ListConstant(const <int*>[0])
+Evaluated: ListLiteral @ org-dartlang-testcase:///various_2.dart:18:31 -> ListConstant(const <dynamic>[const <int*>[42]])
+Evaluated: SetLiteral @ org-dartlang-testcase:///various_2.dart:21:25 -> SetConstant(const <int*>{0})
+Evaluated: SetLiteral @ org-dartlang-testcase:///various_2.dart:22:30 -> SetConstant(const <dynamic>{const <int*>[42]})
+Evaluated: MapLiteral @ org-dartlang-testcase:///various_2.dart:25:33 -> MapConstant(const <int*, String*>{0: "foo"})
+Evaluated: MapLiteral @ org-dartlang-testcase:///various_2.dart:26:39 -> MapConstant(const <dynamic, dynamic>{const <int*>[42]: "foo", null: const <int*>[42]})
+Evaluated: ListConcatenation @ org-dartlang-testcase:///various_2.dart:30:32 -> ListConstant(const <int*>[0])
+Evaluated: SetConcatenation @ org-dartlang-testcase:///various_2.dart:31:31 -> SetConstant(const <int*>{0})
+Evaluated: MapConcatenation @ org-dartlang-testcase:///various_2.dart:32:7 -> MapConstant(const <int*, String*>{0: "foo"})
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:35:5 -> BoolConstant(true)
+Evaluated with empty environment: StaticInvocation @ org-dartlang-testcase:///various_2.dart:37:5 -> BoolConstant(false)
+Evaluated: StaticGet @ org-dartlang-testcase:///various_2.dart:37:15 -> PartialInstantiationConstant(id1<int*>)
+Evaluated with empty environment: StaticGet @ org-dartlang-testcase:///various_2.dart:37:41 -> PartialInstantiationConstant(id2<int*>)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:38:27 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:39:28 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:41:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:43:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:44:30 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:45:31 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:46:29 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:47:30 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:48:29 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:49:30 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:51:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:53:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///various_2.dart:55:5 -> BoolConstant(true)
+Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2_lib.dart:17:27 -> TypeLiteralConstant(Object*)
+Evaluated: StaticTearOff @ org-dartlang-testcase:///various_2_lib.dart:18:12 -> TearOffConstant(identical)
+Evaluated with empty environment: ConditionalExpression @ org-dartlang-testcase:///various_2_lib.dart:20:39 -> PartialInstantiationConstant(id2<int*>)
+Evaluated with empty environment: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///various_2_lib.dart:20:11 -> BoolConstant(false)
+Evaluated with empty environment: Instantiation @ org-dartlang-testcase:///various_2_lib.dart:20:41 -> PartialInstantiationConstant(id1<int*>)
+Evaluated: StaticTearOff @ org-dartlang-testcase:///various_2_lib.dart:20:41 -> TearOffConstant(id1)
+Evaluated with empty environment: Instantiation @ org-dartlang-testcase:///various_2_lib.dart:20:47 -> PartialInstantiationConstant(id2<int*>)
+Evaluated: StaticTearOff @ org-dartlang-testcase:///various_2_lib.dart:20:47 -> TearOffConstant(id2)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various_2_lib.dart:21:24 -> InstanceConstant(const Class<int*>{Class.field: 0})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///various_2_lib.dart:22:25 -> InstanceConstant(const Class<dynamic>{Class.field: const <int*>[42]})
+Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2_lib.dart:23:29 -> TypeLiteralConstant(dynamic Function(dynamic)*)
+Evaluated: TypeLiteral @ org-dartlang-testcase:///various_2_lib.dart:24:36 -> TypeLiteralConstant(T* Function<T>(T*)*)
+Evaluated: ListLiteral @ org-dartlang-testcase:///various_2_lib.dart:25:26 -> ListConstant(const <int*>[0])
+Evaluated: ListLiteral @ org-dartlang-testcase:///various_2_lib.dart:26:31 -> ListConstant(const <dynamic>[const <int*>[42]])
+Evaluated: SetLiteral @ org-dartlang-testcase:///various_2_lib.dart:29:25 -> SetConstant(const <int*>{0})
+Evaluated: SetLiteral @ org-dartlang-testcase:///various_2_lib.dart:30:30 -> SetConstant(const <dynamic>{const <int*>[42]})
+Evaluated: MapLiteral @ org-dartlang-testcase:///various_2_lib.dart:33:33 -> MapConstant(const <int*, String*>{0: "foo"})
+Evaluated: MapLiteral @ org-dartlang-testcase:///various_2_lib.dart:34:39 -> MapConstant(const <dynamic, dynamic>{const <int*>[42]: "foo", null: const <int*>[42]})
+Evaluated: ListConcatenation @ org-dartlang-testcase:///various_2_lib.dart:38:32 -> ListConstant(const <int*>[0])
+Evaluated: SetConcatenation @ org-dartlang-testcase:///various_2_lib.dart:39:31 -> SetConstant(const <int*>{0})
+Evaluated: MapConcatenation @ org-dartlang-testcase:///various_2_lib.dart:40:7 -> MapConstant(const <int*, String*>{0: "foo"})
+Extra constant evaluation: evaluated: 54, effectively constant: 53
diff --git a/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.transformed.expect
new file mode 100644
index 0000000..3e10527
--- /dev/null
+++ b/pkg/front_end/testcases/general/constants/with_unevaluated_agnostic/various_2.dart.weak.transformed.expect
@@ -0,0 +1,146 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "various_2_lib.dart" as var;
+
+import "org-dartlang-testcase:///various_2_lib.dart" as lib;
+
+typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
+typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
+static const field core::Type objectTypeLiteral = #C1;
+static const field (core::int) → core::int partialInstantiation = #C3;
+static const field var::Class<core::int> instance = #C5;
+static const field var::Class<dynamic> instance2 = #C8;
+static const field core::Type functionTypeLiteral = #C9;
+static const field core::Type genericFunctionTypeLiteral = #C10;
+static const field core::List<core::int> listLiteral = #C11;
+static const field core::List<dynamic> listLiteral2 = #C12;
+static const field core::Set<core::int> setLiteral = #C13;
+static const field core::Set<dynamic> setLiteral2 = #C14;
+static const field core::Map<core::int, core::String> mapLiteral = #C16;
+static const field core::Map<dynamic, dynamic> mapLiteral2 = #C18;
+static const field core::List<core::int> listConcatenation = #C11;
+static const field core::Set<core::int> setConcatenation = #C13;
+static const field core::Map<core::int, core::String> mapConcatenation = #C16;
+static const field core::bool objectTypeLiteralIdentical = #C19;
+static const field core::bool partialInstantiationIdentical = #C21;
+static const field core::bool instanceIdentical = #C19;
+static const field core::bool instance2Identical = #C19;
+static const field core::bool functionTypeLiteralIdentical = #C19;
+static const field core::bool genericFunctionTypeLiteralIdentical = #C19;
+static const field core::bool listLiteralIdentical = #C19;
+static const field core::bool listLiteral2Identical = #C19;
+static const field core::bool setLiteralIdentical = #C19;
+static const field core::bool setLiteral2Identical = #C19;
+static const field core::bool mapLiteralIdentical = #C19;
+static const field core::bool mapLiteral2Identical = #C19;
+static const field core::bool listConcatenationIdentical = #C19;
+static const field core::bool setConcatenationIdentical = #C19;
+static const field core::bool mapConcatenationIdentical = #C19;
+static method main() → dynamic {
+  self::test(#C1, #C1);
+  self::test(#C3, #C22);
+  self::test(#C5, #C5);
+  self::test(#C9, #C9);
+  self::test(#C10, #C10);
+  self::test(#C11, #C11);
+  self::test(#C13, #C13);
+  self::test(#C16, #C16);
+  self::test(#C11, #C11);
+  self::test(#C13, #C13);
+  self::test(#C16, #C16);
+  self::test(true, #C19);
+  self::test(true, #C23);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+  self::test(true, #C19);
+}
+static method test(dynamic expected, dynamic actual) → dynamic {
+  core::print("test(${expected}, ${actual})");
+  if(!core::identical(expected, actual)) {
+    throw "Expected ${expected}, actual ${actual}";
+  }
+}
+
+library /*isNonNullableByDefault*/;
+import self as var;
+import "dart:core" as core;
+
+typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
+typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
+class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field var::Class::T% field;
+  const constructor •(var::Class::T% field) → var::Class<var::Class::T%>
+    : var::Class::field = field, super core::Object::•()
+    ;
+}
+static const field core::Type objectTypeLiteral = #C1;
+static const field (core::Object?, core::Object?) → core::bool c2 = #C24;
+static const field (core::int) → core::int partialInstantiation = #C25;
+static const field var::Class<core::int> instance = #C5;
+static const field var::Class<dynamic> instance2 = #C8;
+static const field core::Type functionTypeLiteral = #C9;
+static const field core::Type genericFunctionTypeLiteral = #C10;
+static const field core::List<core::int> listLiteral = #C11;
+static const field core::List<dynamic> listLiteral2 = #C12;
+static const field core::Set<core::int> setLiteral = #C13;
+static const field core::Set<dynamic> setLiteral2 = #C14;
+static const field core::Map<core::int, core::String> mapLiteral = #C16;
+static const field core::Map<dynamic, dynamic> mapLiteral2 = #C18;
+static const field core::List<core::int> listConcatenation = #C11;
+static const field core::Set<core::int> setConcatenation = #C13;
+static const field core::Map<core::int, core::String> mapConcatenation = #C16;
+static method id1<T extends core::Object? = dynamic>(var::id1::T% t) → var::id1::T%
+  return t;
+static method id2<T extends core::Object? = dynamic>(var::id2::T% t) → var::id2::T%
+  return t;
+
+constants  {
+  #C1 = TypeLiteralConstant(core::Object*)
+  #C2 = tearoff var::id1
+  #C3 = partial-instantiation var::id1 <core::int*>
+  #C4 = 0
+  #C5 = var::Class<core::int*> {field:#C4}
+  #C6 = 42
+  #C7 = <core::int*>[#C6]
+  #C8 = var::Class<dynamic> {field:#C7}
+  #C9 = TypeLiteralConstant((dynamic) →* dynamic)
+  #C10 = TypeLiteralConstant(<T extends core::Object? = dynamic>(T*) →* T*)
+  #C11 = <core::int*>[#C4]
+  #C12 = <dynamic>[#C7]
+  #C13 = <core::int*>{#C4}
+  #C14 = <dynamic>{#C7}
+  #C15 = "foo"
+  #C16 = <core::int*, core::String*>{#C4:#C15)
+  #C17 = null
+  #C18 = <dynamic, dynamic>{#C7:#C15, #C17:#C7)
+  #C19 = true
+  #C20 = tearoff var::id2
+  #C21 = eval const core::identical(#C3, const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>)
+  #C22 = eval const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>
+  #C23 = eval const core::identical(#C3, const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>)
+  #C24 = tearoff core::identical
+  #C25 = eval const core::bool::fromEnvironment(#C15) ?{(core::int) → core::int} #C2<core::int> : #C20<core::int>
+}
+
+Extra constant evaluation status:
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various_2.dart:15:28 -> PartialInstantiationConstant(id2<int*>)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various_2.dart:37:5 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various_2.dart:37:5 -> BoolConstant(false)
+Evaluated with empty environment: ConstantExpression @ org-dartlang-testcase:///various_2_lib.dart:20:39 -> PartialInstantiationConstant(id2<int*>)
+Extra constant evaluation: evaluated: 41, effectively constant: 4
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///various_2.dart:
+- Class. (from org-dartlang-testcase:///various_2_lib.dart:8:9)
+
+org-dartlang-testcase:///various_2_lib.dart:
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
+- Class. (from org-dartlang-testcase:///various_2_lib.dart:8:9)
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart b/pkg/front_end/testcases/general/constructor_const_inference.dart
index 824e517..e883d4f 100644
--- a/pkg/front_end/testcases/general/constructor_const_inference.dart
+++ b/pkg/front_end/testcases/general/constructor_const_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the type inference implementation correctly uses least
 // closure of the inferred type arguments in invocations of 'const' constructors
 // in case there are type variables in them.
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.hierarchy.expect
deleted file mode 100644
index 2a49e5e..0000000
--- a/pkg/front_end/testcases/general/constructor_const_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,75 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Y:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.textual_outline.expect
index f6ab576..e300475 100644
--- a/pkg/front_end/testcases/general/constructor_const_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constructor_const_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class _Y<T> {
   const _Y();
 }
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.textual_outline_modelled.expect
index 6b4aec7..46d2c92 100644
--- a/pkg/front_end/testcases/general/constructor_const_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constructor_const_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   A(this.x);
   _Y<T> x;
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.strong.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_const_inference.dart.strong.expect
rename to pkg/front_end/testcases/general/constructor_const_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.outline.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_const_inference.dart.outline.expect
rename to pkg/front_end/testcases/general/constructor_const_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constructor_const_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_const_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constructor_const_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart b/pkg/front_end/testcases/general/constructor_cycle.dart
index 85f38e4..42f7fd7 100644
--- a/pkg/front_end/testcases/general/constructor_cycle.dart
+++ b/pkg/front_end/testcases/general/constructor_cycle.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   A.foo() : this.bar();
   A.bar() : this.foo();
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.hierarchy.expect b/pkg/front_end/testcases/general/constructor_cycle.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/general/constructor_cycle.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.textual_outline.expect b/pkg/front_end/testcases/general/constructor_cycle.dart.textual_outline.expect
index 4471e83..1fa7cfe 100644
--- a/pkg/front_end/testcases/general/constructor_cycle.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constructor_cycle.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A.foo() : this.bar();
   A.bar() : this.foo();
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constructor_cycle.dart.textual_outline_modelled.expect
index 051f9f7..c42a433 100644
--- a/pkg/front_end/testcases/general/constructor_cycle.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constructor_cycle.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A() : this();
   A.bar() : this.foo();
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.strong.expect b/pkg/front_end/testcases/general/constructor_cycle.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_cycle.dart.strong.expect
rename to pkg/front_end/testcases/general/constructor_cycle.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.outline.expect b/pkg/front_end/testcases/general/constructor_cycle.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_cycle.dart.outline.expect
rename to pkg/front_end/testcases/general/constructor_cycle.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constructor_cycle.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_cycle.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constructor_cycle.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart b/pkg/front_end/testcases/general/constructor_function_types.dart
index 3facfed..35037a9 100644
--- a/pkg/front_end/testcases/general/constructor_function_types.dart
+++ b/pkg/front_end/testcases/general/constructor_function_types.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   A();
 }
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart.hierarchy.expect b/pkg/front_end/testcases/general/constructor_function_types.dart.hierarchy.expect
deleted file mode 100644
index d59504d..0000000
--- a/pkg/front_end/testcases/general/constructor_function_types.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart.textual_outline.expect b/pkg/front_end/testcases/general/constructor_function_types.dart.textual_outline.expect
index 52ecd80..6990c7d 100644
--- a/pkg/front_end/testcases/general/constructor_function_types.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constructor_function_types.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A();
 }
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/constructor_function_types.dart.textual_outline_modelled.expect
index 52ecd80..6990c7d 100644
--- a/pkg/front_end/testcases/general/constructor_function_types.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/constructor_function_types.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A();
 }
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart.strong.expect b/pkg/front_end/testcases/general/constructor_function_types.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_function_types.dart.strong.expect
rename to pkg/front_end/testcases/general/constructor_function_types.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart.outline.expect b/pkg/front_end/testcases/general/constructor_function_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_function_types.dart.outline.expect
rename to pkg/front_end/testcases/general/constructor_function_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constructor_function_types.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constructor_function_types.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_function_types.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constructor_function_types.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart
index 3ce86d2..6ff4140 100644
--- a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart
+++ b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class C1 { int f; C1() : ; }
 class C2 { int f; C2() : f; }
 class C3 { int f; C3() : f++; }
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.hierarchy.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.hierarchy.expect
deleted file mode 100644
index 55483de..0000000
--- a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.hierarchy.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C1.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C1.f
-
-C2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C2.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C2.f
-
-C3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C3.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C3.f
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.textual_outline.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.textual_outline.expect
index b5030a6..e6ef74a 100644
--- a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C1 {
   int f;
   C1() : =;
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.strong.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_initializer_invalid.dart.strong.expect
rename to pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.outline.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_initializer_invalid.dart.outline.expect
rename to pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.strong.transformed.expect b/pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/constructor_initializer_invalid.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/constructor_initializer_invalid.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart b/pkg/front_end/testcases/general/continue_inference_after_error.dart
index edcb626..8e3d5d3 100644
--- a/pkg/front_end/testcases/general/continue_inference_after_error.dart
+++ b/pkg/front_end/testcases/general/continue_inference_after_error.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import "continue_inference_after_error_lib.dart" as lib;
 
 class C {}
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.hierarchy.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/general/continue_inference_after_error.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.textual_outline.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.textual_outline.expect
index 419aa23..5dd4bfd 100644
--- a/pkg/front_end/testcases/general/continue_inference_after_error.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/continue_inference_after_error.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "continue_inference_after_error_lib.dart" as lib;
 
 class C {}
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.textual_outline_modelled.expect
index 2384d20..af026a2 100644
--- a/pkg/front_end/testcases/general/continue_inference_after_error.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/continue_inference_after_error.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "continue_inference_after_error_lib.dart" as lib;
 
 class C {}
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.strong.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/continue_inference_after_error.dart.strong.expect
rename to pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.outline.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/continue_inference_after_error.dart.outline.expect
rename to pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error.dart.strong.transformed.expect b/pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/continue_inference_after_error.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/continue_inference_after_error.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/continue_inference_after_error_lib.dart b/pkg/front_end/testcases/general/continue_inference_after_error_lib.dart
index 87869b0..e343683 100644
--- a/pkg/front_end/testcases/general/continue_inference_after_error_lib.dart
+++ b/pkg/front_end/testcases/general/continue_inference_after_error_lib.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 // Copyright (c) 2018, 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.
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart b/pkg/front_end/testcases/general/control_flow_collection.dart
index 63e2664..ca2a8e0 100644
--- a/pkg/front_end/testcases/general/control_flow_collection.dart
+++ b/pkg/front_end/testcases/general/control_flow_collection.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 main() {
   final aList = <int>[
     1,
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.textual_outline.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.textual_outline.expect
index f4795c0..e8735f6 100644
--- a/pkg/front_end/testcases/general/control_flow_collection.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 oracle() => true;
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.textual_outline_modelled.expect
index f4795c0..e8735f6 100644
--- a/pkg/front_end/testcases/general/control_flow_collection.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 oracle() => true;
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.strong.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/control_flow_collection.dart.strong.expect
rename to pkg/front_end/testcases/general/control_flow_collection.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.outline.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/control_flow_collection.dart.outline.expect
rename to pkg/front_end/testcases/general/control_flow_collection.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/control_flow_collection.dart.strong.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/control_flow_collection.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/control_flow_collection.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart b/pkg/front_end/testcases/general/control_flow_collection_inference.dart
index 4a64f6a..0c5923d 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // Oracle is generic to test the inference in conditions of if-elements.
 oracle<T>([T t]) => true;
 
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.hierarchy.expect
deleted file mode 100644
index 3a1da21..0000000
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.textual_outline.expect
index e011ec5..78fc913 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 oracle<T>([T t]) => true;
 testIfElement(dynamic dynVar, List<int> listInt, List<double> listDouble,
     Map<String, int> mapToInt, Map<String, double> mapToDouble) {}
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.textual_outline_modelled.expect
index 8a8e5b1..218756c 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.expect
rename to pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.outline.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/control_flow_collection_inference.dart.outline.expect
rename to pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/control_flow_collection_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart b/pkg/front_end/testcases/general/covariant_equals.dart
index 474dfbd..cb74c87 100644
--- a/pkg/front_end/testcases/general/covariant_equals.dart
+++ b/pkg/front_end/testcases/general/covariant_equals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   bool operator ==(covariant A other) => true;
 }
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart.textual_outline.expect b/pkg/front_end/testcases/general/covariant_equals.dart.textual_outline.expect
index cfe571a..4f87fb0 100644
--- a/pkg/front_end/testcases/general/covariant_equals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/covariant_equals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   bool operator ==(covariant A other) => true;
 }
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/covariant_equals.dart.textual_outline_modelled.expect
index cfe571a..4f87fb0 100644
--- a/pkg/front_end/testcases/general/covariant_equals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/covariant_equals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   bool operator ==(covariant A other) => true;
 }
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart.strong.expect b/pkg/front_end/testcases/general/covariant_equals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_equals.dart.strong.expect
rename to pkg/front_end/testcases/general/covariant_equals.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart.outline.expect b/pkg/front_end/testcases/general/covariant_equals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_equals.dart.outline.expect
rename to pkg/front_end/testcases/general/covariant_equals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart.strong.transformed.expect b/pkg/front_end/testcases/general/covariant_equals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_equals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/covariant_equals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/covariant_field.dart b/pkg/front_end/testcases/general/covariant_field.dart
index 8cf5831..422bd27 100644
--- a/pkg/front_end/testcases/general/covariant_field.dart
+++ b/pkg/front_end/testcases/general/covariant_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   num invariantField;
   covariant num covariantField;
diff --git a/pkg/front_end/testcases/general/covariant_field.dart.strong.transformed.expect b/pkg/front_end/testcases/general/covariant_field.dart.strong.transformed.expect
deleted file mode 100644
index a8f268f..0000000
--- a/pkg/front_end/testcases/general/covariant_field.dart.strong.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  covariant field core::num* field = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract get field() → core::num*;
-  set field(covariant core::num* value) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/covariant_field.dart.textual_outline.expect b/pkg/front_end/testcases/general/covariant_field.dart.textual_outline.expect
index 704115a3..782278d 100644
--- a/pkg/front_end/testcases/general/covariant_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/covariant_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   num invariantField;
   covariant num covariantField;
diff --git a/pkg/front_end/testcases/general/covariant_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/covariant_field.dart.textual_outline_modelled.expect
index 2db7c04..8731c4a 100644
--- a/pkg/front_end/testcases/general/covariant_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/covariant_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class B implements A {
   get covariantField;
   get invariantField;
diff --git a/pkg/front_end/testcases/general/covariant_field.dart.strong.expect b/pkg/front_end/testcases/general/covariant_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_field.dart.strong.expect
rename to pkg/front_end/testcases/general/covariant_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/covariant_field.dart.outline.expect b/pkg/front_end/testcases/general/covariant_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_field.dart.outline.expect
rename to pkg/front_end/testcases/general/covariant_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/covariant_field_override.dart b/pkg/front_end/testcases/general/covariant_field_override.dart
index 120fd23..8df030b 100644
--- a/pkg/front_end/testcases/general/covariant_field_override.dart
+++ b/pkg/front_end/testcases/general/covariant_field_override.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   num field;
 }
diff --git a/pkg/front_end/testcases/general/covariant_field_override.dart.textual_outline.expect b/pkg/front_end/testcases/general/covariant_field_override.dart.textual_outline.expect
index d01b911..ef1710d 100644
--- a/pkg/front_end/testcases/general/covariant_field_override.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/covariant_field_override.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   num field;
 }
diff --git a/pkg/front_end/testcases/general/covariant_field_override.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/covariant_field_override.dart.textual_outline_modelled.expect
index d01b911..ef1710d 100644
--- a/pkg/front_end/testcases/general/covariant_field_override.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/covariant_field_override.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   num field;
 }
diff --git a/pkg/front_end/testcases/general/covariant_field_override.dart.strong.expect b/pkg/front_end/testcases/general/covariant_field_override.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_field_override.dart.strong.expect
rename to pkg/front_end/testcases/general/covariant_field_override.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/covariant_field_override.dart.outline.expect b/pkg/front_end/testcases/general/covariant_field_override.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_field_override.dart.outline.expect
rename to pkg/front_end/testcases/general/covariant_field_override.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/covariant_field_override.dart.strong.transformed.expect b/pkg/front_end/testcases/general/covariant_field_override.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_field_override.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/covariant_field_override.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart b/pkg/front_end/testcases/general/covariant_generic.dart
index a0234a6..8fbbf41 100644
--- a/pkg/front_end/testcases/general/covariant_generic.dart
+++ b/pkg/front_end/testcases/general/covariant_generic.dart
@@ -1,6 +1,9 @@
 // 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.
+
+// @dart=2.9
+
 typedef void Callback<T>(T x);
 
 class Foo<T> {
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.hierarchy.expect b/pkg/front_end/testcases/general/covariant_generic.dart.hierarchy.expect
deleted file mode 100644
index 76a979e..0000000
--- a/pkg/front_end/testcases/general/covariant_generic.dart.hierarchy.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.callbackField
-    Foo.mutableCallbackField
-    Foo.mutableField
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.withCallback
-    Foo.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Foo.finalField
-  classSetters:
-    Foo.mutableCallbackField
-    Foo.mutableField
-    Foo.setter
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.strong.transformed.expect b/pkg/front_end/testcases/general/covariant_generic.dart.strong.transformed.expect
deleted file mode 100644
index 5ecd44d..0000000
--- a/pkg/front_end/testcases/general/covariant_generic.dart.strong.transformed.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Callback<contravariant 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});
-  }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {
-  self::Foo<core::int*>* fooInt = new self::Foo::•<core::int*>(1, (core::int* x) → Null {});
-  fooInt.{self::Foo::method}(3);
-  fooInt.{self::Foo::setter} = 3;
-  fooInt.{self::Foo::withCallback}((core::int* x) → Null {});
-  fooInt.{self::Foo::withCallback}((core::num* x) → Null {});
-  fooInt.{self::Foo::mutableField} = 3;
-  fooInt.{self::Foo::mutableCallbackField} = (core::int* x) → Null {};
-  self::Foo<core::num*>* fooNum = fooInt;
-  fooNum.{self::Foo::method}(3);
-  fooNum.{self::Foo::method}(2.5);
-  fooNum.{self::Foo::setter} = 3;
-  fooNum.{self::Foo::setter} = 2.5;
-  fooNum.{self::Foo::withCallback}((core::num* x) → Null {});
-  fooNum.{self::Foo::mutableField} = 3;
-  fooNum.{self::Foo::mutableField} = 2.5;
-  let final self::Foo<core::num*>* #t1 = fooNum in let final core::int* #t2 = 3 in (#t1.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t2);
-  let final self::Foo<core::num*>* #t3 = fooNum in let final core::double* #t4 = 2.5 in (#t3.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t4);
-  fooNum.{self::Foo::mutableCallbackField} = (core::num* x) → Null {};
-}
-
-
-Extra constant evaluation status:
-Evaluated: VariableGet @ org-dartlang-testcase:///covariant_generic.dart:42:31 -> IntConstant(3)
-Evaluated: VariableGet @ org-dartlang-testcase:///covariant_generic.dart:43:31 -> DoubleConstant(2.5)
-Extra constant evaluation: evaluated: 58, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.textual_outline.expect b/pkg/front_end/testcases/general/covariant_generic.dart.textual_outline.expect
index 4fe7336..eb0e96f 100644
--- a/pkg/front_end/testcases/general/covariant_generic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/covariant_generic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef void Callback<T>(T x);
 
 class Foo<T> {
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/covariant_generic.dart.textual_outline_modelled.expect
index 40004ba..13f7052 100644
--- a/pkg/front_end/testcases/general/covariant_generic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/covariant_generic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<T> {
   Callback<T> mutableCallbackField;
   Foo(this.finalField, this.callbackField);
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.strong.expect b/pkg/front_end/testcases/general/covariant_generic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_generic.dart.strong.expect
rename to pkg/front_end/testcases/general/covariant_generic.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.outline.expect b/pkg/front_end/testcases/general/covariant_generic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_generic.dart.outline.expect
rename to pkg/front_end/testcases/general/covariant_generic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.weak.transformed.expect b/pkg/front_end/testcases/general/covariant_generic.dart.weak.transformed.expect
new file mode 100644
index 0000000..bcccf29
--- /dev/null
+++ b/pkg/front_end/testcases/general/covariant_generic.dart.weak.transformed.expect
@@ -0,0 +1,55 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+typedef Callback<contravariant 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});
+  }
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic {
+  self::Foo<core::int*>* fooInt = new self::Foo::•<core::int*>(1, (core::int* x) → Null {});
+  fooInt.{self::Foo::method}(3);
+  fooInt.{self::Foo::setter} = 3;
+  fooInt.{self::Foo::withCallback}((core::int* x) → Null {});
+  fooInt.{self::Foo::withCallback}((core::num* x) → Null {});
+  fooInt.{self::Foo::mutableField} = 3;
+  fooInt.{self::Foo::mutableCallbackField} = (core::int* x) → Null {};
+  self::Foo<core::num*>* fooNum = fooInt;
+  fooNum.{self::Foo::method}(3);
+  fooNum.{self::Foo::method}(2.5);
+  fooNum.{self::Foo::setter} = 3;
+  fooNum.{self::Foo::setter} = 2.5;
+  fooNum.{self::Foo::withCallback}((core::num* x) → Null {});
+  fooNum.{self::Foo::mutableField} = 3;
+  fooNum.{self::Foo::mutableField} = 2.5;
+  let final self::Foo<core::num*>* #t1 = fooNum in let final core::int* #t2 = 3 in (#t1.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t2);
+  let final self::Foo<core::num*>* #t3 = fooNum in let final core::double* #t4 = 2.5 in (#t3.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t4);
+  fooNum.{self::Foo::mutableCallbackField} = (core::num* x) → Null {};
+}
+
+
+Extra constant evaluation status:
+Evaluated: VariableGet @ org-dartlang-testcase:///covariant_generic.dart:45:31 -> IntConstant(3)
+Evaluated: VariableGet @ org-dartlang-testcase:///covariant_generic.dart:46:31 -> DoubleConstant(2.5)
+Extra constant evaluation: evaluated: 58, effectively constant: 2
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart
index d9a1e90..434cf46 100644
--- a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart
+++ b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // The test checks that 'covariant' bit is propagated from the superclass of the
 // mixin application to the mixin application and its subclasses.
 
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.hierarchy.expect b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.hierarchy.expect
deleted file mode 100644
index d9115a1..0000000
--- a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.hierarchy.expect
+++ /dev/null
@@ -1,138 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A with B:
-  superclasses:
-    Object
-      -> A
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A with B.B.foo%A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A with B.B.foo%A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  superclasses:
-    Object
-      -> A
-        -> _D&A&B
-  interfaces: B, C
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.textual_outline.expect b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.textual_outline.expect
index 914deb7..f22f366 100644
--- a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   void foo(covariant num x) {}
 }
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.textual_outline_modelled.expect
index 914deb7..f22f366 100644
--- a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   void foo(covariant num x) {}
 }
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.strong.expect b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.strong.expect
rename to pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.outline.expect b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.outline.expect
rename to pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.strong.transformed.expect b/pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/covariant_super_check.dart b/pkg/front_end/testcases/general/covariant_super_check.dart
index 1d8e5cc..21afce8 100644
--- a/pkg/front_end/testcases/general/covariant_super_check.dart
+++ b/pkg/front_end/testcases/general/covariant_super_check.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   method(num a) {}
 }
diff --git a/pkg/front_end/testcases/general/covariant_super_check.dart.textual_outline.expect b/pkg/front_end/testcases/general/covariant_super_check.dart.textual_outline.expect
index a1ec327..b9ba2ce 100644
--- a/pkg/front_end/testcases/general/covariant_super_check.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/covariant_super_check.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   method(num a) {}
 }
diff --git a/pkg/front_end/testcases/general/covariant_super_check.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/covariant_super_check.dart.textual_outline_modelled.expect
index a1ec327..b9ba2ce 100644
--- a/pkg/front_end/testcases/general/covariant_super_check.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/covariant_super_check.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   method(num a) {}
 }
diff --git a/pkg/front_end/testcases/general/covariant_super_check.dart.strong.expect b/pkg/front_end/testcases/general/covariant_super_check.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_super_check.dart.strong.expect
rename to pkg/front_end/testcases/general/covariant_super_check.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/covariant_super_check.dart.outline.expect b/pkg/front_end/testcases/general/covariant_super_check.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_super_check.dart.outline.expect
rename to pkg/front_end/testcases/general/covariant_super_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/covariant_super_check.dart.strong.transformed.expect b/pkg/front_end/testcases/general/covariant_super_check.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_super_check.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/covariant_super_check.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/covariant_type_parameter.dart b/pkg/front_end/testcases/general/covariant_type_parameter.dart
index 07f2186..3bcfd4c 100644
--- a/pkg/front_end/testcases/general/covariant_type_parameter.dart
+++ b/pkg/front_end/testcases/general/covariant_type_parameter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A<S> {
   void method<T extends S>(S s) {}
 }
diff --git a/pkg/front_end/testcases/general/covariant_type_parameter.dart.textual_outline.expect b/pkg/front_end/testcases/general/covariant_type_parameter.dart.textual_outline.expect
index c11d77c..5822ef6 100644
--- a/pkg/front_end/testcases/general/covariant_type_parameter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/covariant_type_parameter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<S> {
   void method<T extends S>(S s) {}
 }
diff --git a/pkg/front_end/testcases/general/covariant_type_parameter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/covariant_type_parameter.dart.textual_outline_modelled.expect
index c11d77c..5822ef6 100644
--- a/pkg/front_end/testcases/general/covariant_type_parameter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/covariant_type_parameter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<S> {
   void method<T extends S>(S s) {}
 }
diff --git a/pkg/front_end/testcases/general/covariant_type_parameter.dart.strong.expect b/pkg/front_end/testcases/general/covariant_type_parameter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_type_parameter.dart.strong.expect
rename to pkg/front_end/testcases/general/covariant_type_parameter.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/covariant_type_parameter.dart.outline.expect b/pkg/front_end/testcases/general/covariant_type_parameter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_type_parameter.dart.outline.expect
rename to pkg/front_end/testcases/general/covariant_type_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/covariant_type_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/general/covariant_type_parameter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/covariant_type_parameter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/covariant_type_parameter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/cycles.dart b/pkg/front_end/testcases/general/cycles.dart
index 4c953b1..190b4c0 100644
--- a/pkg/front_end/testcases/general/cycles.dart
+++ b/pkg/front_end/testcases/general/cycles.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A implements C {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/cycles.dart.hierarchy.expect b/pkg/front_end/testcases/general/cycles.dart.hierarchy.expect
deleted file mode 100644
index 5865e60..0000000
--- a/pkg/front_end/testcases/general/cycles.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/cycles.dart.textual_outline.expect b/pkg/front_end/testcases/general/cycles.dart.textual_outline.expect
index 362437f..5a17b07 100644
--- a/pkg/front_end/testcases/general/cycles.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/cycles.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A implements C {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/cycles.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/cycles.dart.textual_outline_modelled.expect
index 362437f..5a17b07 100644
--- a/pkg/front_end/testcases/general/cycles.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/cycles.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A implements C {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/cycles.dart.strong.expect b/pkg/front_end/testcases/general/cycles.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cycles.dart.strong.expect
rename to pkg/front_end/testcases/general/cycles.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cycles.dart.outline.expect b/pkg/front_end/testcases/general/cycles.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cycles.dart.outline.expect
rename to pkg/front_end/testcases/general/cycles.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/cycles.dart.strong.transformed.expect b/pkg/front_end/testcases/general/cycles.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cycles.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/cycles.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/default_values.dart b/pkg/front_end/testcases/general/default_values.dart
index de8ccc5..83c6ef3 100644
--- a/pkg/front_end/testcases/general/default_values.dart
+++ b/pkg/front_end/testcases/general/default_values.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 topLevel([a = 42]) => a;
 
 main() {
diff --git a/pkg/front_end/testcases/general/default_values.dart.textual_outline.expect b/pkg/front_end/testcases/general/default_values.dart.textual_outline.expect
index c04eb61..82f6437 100644
--- a/pkg/front_end/testcases/general/default_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/default_values.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 topLevel([a = 42]) => a;
 main() {}
diff --git a/pkg/front_end/testcases/general/default_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/default_values.dart.textual_outline_modelled.expect
index c95e3f3..4c2cad0 100644
--- a/pkg/front_end/testcases/general/default_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/default_values.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 topLevel([a = 42]) => a;
diff --git a/pkg/front_end/testcases/general/default_values.dart.strong.expect b/pkg/front_end/testcases/general/default_values.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/default_values.dart.strong.expect
rename to pkg/front_end/testcases/general/default_values.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/default_values.dart.outline.expect b/pkg/front_end/testcases/general/default_values.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/default_values.dart.outline.expect
rename to pkg/front_end/testcases/general/default_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/general/default_values.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/default_values.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/default_values.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/deferred_lib.dart b/pkg/front_end/testcases/general/deferred_lib.dart
index 94f5f06..55588e5 100644
--- a/pkg/front_end/testcases/general/deferred_lib.dart
+++ b/pkg/front_end/testcases/general/deferred_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 dynamic m(x) => null;
 
 var x = 0;
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart b/pkg/front_end/testcases/general/deferred_type_annotation.dart
index a3b00f5..98e2e56 100644
--- a/pkg/front_end/testcases/general/deferred_type_annotation.dart
+++ b/pkg/front_end/testcases/general/deferred_type_annotation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import 'deferred_lib.dart' deferred as d;
 
 bad(d.C x) {}
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.hierarchy.expect b/pkg/front_end/testcases/general/deferred_type_annotation.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general/deferred_type_annotation.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.textual_outline.expect b/pkg/front_end/testcases/general/deferred_type_annotation.dart.textual_outline.expect
index 5139710..6feca2f 100644
--- a/pkg/front_end/testcases/general/deferred_type_annotation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/deferred_type_annotation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as d;
 
 bad(d.C x) {}
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/deferred_type_annotation.dart.textual_outline_modelled.expect
index 5139710..6feca2f 100644
--- a/pkg/front_end/testcases/general/deferred_type_annotation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/deferred_type_annotation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as d;
 
 bad(d.C x) {}
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.strong.expect b/pkg/front_end/testcases/general/deferred_type_annotation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/deferred_type_annotation.dart.strong.expect
rename to pkg/front_end/testcases/general/deferred_type_annotation.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.outline.expect b/pkg/front_end/testcases/general/deferred_type_annotation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/deferred_type_annotation.dart.outline.expect
rename to pkg/front_end/testcases/general/deferred_type_annotation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.strong.transformed.expect b/pkg/front_end/testcases/general/deferred_type_annotation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/deferred_type_annotation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/deferred_type_annotation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/demote_closure_types.dart b/pkg/front_end/testcases/general/demote_closure_types.dart
index d472317..b999b64 100644
--- a/pkg/front_end/testcases/general/demote_closure_types.dart
+++ b/pkg/front_end/testcases/general/demote_closure_types.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 method<T>(T a, T b) {
   if (a is String) {
     var f = () => a;
diff --git a/pkg/front_end/testcases/general/demote_closure_types.dart.textual_outline.expect b/pkg/front_end/testcases/general/demote_closure_types.dart.textual_outline.expect
index fee39b9..a5f2d23 100644
--- a/pkg/front_end/testcases/general/demote_closure_types.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/demote_closure_types.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 method<T>(T a, T b) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/demote_closure_types.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/demote_closure_types.dart.textual_outline_modelled.expect
index caff637..4ba4585 100644
--- a/pkg/front_end/testcases/general/demote_closure_types.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/demote_closure_types.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 method<T>(T a, T b) {}
diff --git a/pkg/front_end/testcases/general/demote_closure_types.dart.strong.expect b/pkg/front_end/testcases/general/demote_closure_types.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/demote_closure_types.dart.strong.expect
rename to pkg/front_end/testcases/general/demote_closure_types.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/demote_closure_types.dart.outline.expect b/pkg/front_end/testcases/general/demote_closure_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/demote_closure_types.dart.outline.expect
rename to pkg/front_end/testcases/general/demote_closure_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/demote_closure_types.dart.strong.transformed.expect b/pkg/front_end/testcases/general/demote_closure_types.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/demote_closure_types.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/demote_closure_types.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart
index ad31de6..bd5afe3 100644
--- a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart
+++ b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import 'duplicated_bad_prefix_lib1.dart' as dupe;
 import 'duplicated_bad_prefix_lib2.dart' as dupe;
 
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.hierarchy.expect b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.hierarchy.expect
deleted file mode 100644
index 8d3d333..0000000
--- a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.hierarchy.expect
+++ /dev/null
@@ -1,108 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Dupe:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Dupe:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.d
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.b
-    C.d
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.textual_outline.expect b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.textual_outline.expect
index 17b7541..925be87 100644
--- a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'duplicated_bad_prefix_lib1.dart' as dupe;
 import 'duplicated_bad_prefix_lib2.dart' as dupe;
 
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.textual_outline_modelled.expect
index 8169867..0d9e3fc 100644
--- a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'duplicated_bad_prefix_lib1.dart' as dupe;
 import 'duplicated_bad_prefix_lib2.dart' as dupe;
 
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.strong.expect b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_bad_prefix.dart.strong.expect
rename to pkg/front_end/testcases/general/duplicated_bad_prefix.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.outline.expect b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_bad_prefix.dart.outline.expect
rename to pkg/front_end/testcases/general/duplicated_bad_prefix.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.strong.transformed.expect b/pkg/front_end/testcases/general/duplicated_bad_prefix.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_bad_prefix.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/duplicated_bad_prefix.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix_lib1.dart b/pkg/front_end/testcases/general/duplicated_bad_prefix_lib1.dart
index 14a6172..f098d3d 100644
--- a/pkg/front_end/testcases/general/duplicated_bad_prefix_lib1.dart
+++ b/pkg/front_end/testcases/general/duplicated_bad_prefix_lib1.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2018, 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=2.9
 class C {}
diff --git a/pkg/front_end/testcases/general/duplicated_bad_prefix_lib2.dart b/pkg/front_end/testcases/general/duplicated_bad_prefix_lib2.dart
index 14a6172..f098d3d 100644
--- a/pkg/front_end/testcases/general/duplicated_bad_prefix_lib2.dart
+++ b/pkg/front_end/testcases/general/duplicated_bad_prefix_lib2.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2018, 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=2.9
 class C {}
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart b/pkg/front_end/testcases/general/duplicated_declarations.dart
index b0d3787..489b1ab 100644
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart
+++ b/pkg/front_end/testcases/general/duplicated_declarations.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 part "duplicated_declarations_part.dart";
 
 import 'duplicated_declarations_lib.dart' as Typedef;
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.hierarchy.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.hierarchy.expect
deleted file mode 100644
index b6c3f46..0000000
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart.hierarchy.expect
+++ /dev/null
@@ -1,268 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    C.s
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.field
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.field
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    C.s
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.field
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.field
-
-Sub:
-  superclasses:
-    C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Sub.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.b
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Enum.c
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.b
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Enum.Enum
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.b
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Enum.c
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.b
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Enum.Enum
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AnotherEnum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    AnotherEnum.b
-    AnotherEnum.a
-    AnotherEnum.toString
-    AnotherEnum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    AnotherEnum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    AnotherEnum.c
-    Object.hashCode
-    AnotherEnum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.strong.transformed.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.strong.transformed.expect
deleted file mode 100644
index a61366d..0000000
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart.strong.transformed.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:7:9: Error: Duplicated definition of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:11:16: Error: Duplicated definition of 'OldTypedef'.
-// typedef Object OldTypedef();
-//                ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:15:5: Error: Duplicated definition of 'field'.
-// var field = "2nd";
-//     ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:21:1: Error: Duplicated definition of 'main'.
-// main() {
-// ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:33:3: Error: Duplicated definition of ''.
-//   C(a, b);
-//   ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:36:7: Error: Duplicated definition of 'field'.
-//   var field = "2nd";
-//       ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:42:3: Error: Duplicated definition of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:50:10: Error: Duplicated definition of 's'.
-//   static s() {
-//          ^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Typedef = () → void;
-typedef OldTypedef = () → void;
-class C extends core::Object {
-  field dynamic field = null;
-  constructor •(dynamic a) → void
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    "1st";
-  }
-  static method s() → dynamic {
-    "1st";
-  }
-  static method f() → dynamic
-    return invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:54:17: Error: 's' is already declared in this scope.
-  static f() => s;
-                ^";
-}
-class Sub extends self::C {
-  constructor •() → void
-    : super self::C::•(null)
-    ;
-  method m() → dynamic
-    return super.{self::C::m}();
-}
-static field dynamic field;
-static method main() → dynamic {
-  "1st";
-}
-static method foo() → dynamic {
-  invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:26:3: Error: 'main' is already declared in this scope.
-  main();
-  ^".call();
-  core::print(invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:27:9: Error: 'field' is already declared in this scope.
-  print(field);
-        ^");
-  self::C::s();
-}
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.textual_outline.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.textual_outline.expect
index 1f4f8e4..5f3dc6d 100644
--- a/pkg/front_end/testcases/general/duplicated_declarations.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/duplicated_declarations.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 part "duplicated_declarations_part.dart";
 import 'duplicated_declarations_lib.dart' as Typedef;
 import 'duplicated_declarations_lib.dart' as Typedef;
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.strong.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_declarations.dart.strong.expect
rename to pkg/front_end/testcases/general/duplicated_declarations.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/duplicated_declarations.dart.outline.expect b/pkg/front_end/testcases/general/duplicated_declarations.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_declarations.dart.outline.expect
rename to pkg/front_end/testcases/general/duplicated_declarations.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/duplicated_declarations_lib.dart b/pkg/front_end/testcases/general/duplicated_declarations_lib.dart
index 87869b0..e343683 100644
--- a/pkg/front_end/testcases/general/duplicated_declarations_lib.dart
+++ b/pkg/front_end/testcases/general/duplicated_declarations_lib.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 // Copyright (c) 2018, 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.
diff --git a/pkg/front_end/testcases/general/duplicated_declarations_part.dart b/pkg/front_end/testcases/general/duplicated_declarations_part.dart
index a31f772..e99201d 100644
--- a/pkg/front_end/testcases/general/duplicated_declarations_part.dart
+++ b/pkg/front_end/testcases/general/duplicated_declarations_part.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 part of "duplicated_declarations.dart";
 
 import 'duplicated_declarations_lib.dart' as Typedef;
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart b/pkg/front_end/testcases/general/duplicated_field_initializer.dart
index fac68e9..87c4882 100644
--- a/pkg/front_end/testcases/general/duplicated_field_initializer.dart
+++ b/pkg/front_end/testcases/general/duplicated_field_initializer.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   int a;
   int a;
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.hierarchy.expect b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.hierarchy.expect
deleted file mode 100644
index eef7d41..0000000
--- a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.textual_outline.expect
index 541f502..b4f91b8 100644
--- a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int a;
   int a;
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.textual_outline_modelled.expect
index 1261a73..c10a08f 100644
--- a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(this.a);
   int a;
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.strong.expect b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_field_initializer.dart.strong.expect
rename to pkg/front_end/testcases/general/duplicated_field_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.outline.expect b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_field_initializer.dart.outline.expect
rename to pkg/front_end/testcases/general/duplicated_field_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/duplicated_field_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/general/duplicated_field_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_field_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/duplicated_field_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart b/pkg/front_end/testcases/general/duplicated_named_args_3.dart
index a33c6e1..81adc42 100644
--- a/pkg/front_end/testcases/general/duplicated_named_args_3.dart
+++ b/pkg/front_end/testcases/general/duplicated_named_args_3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.hierarchy.expect b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.hierarchy.expect
deleted file mode 100644
index 62a1574..0000000
--- a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.textual_outline.expect b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.textual_outline.expect
index 0b2371b..ce3c7ec 100644
--- a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.textual_outline_modelled.expect
index 461825b..320c589 100644
--- a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.strong.expect b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_named_args_3.dart.strong.expect
rename to pkg/front_end/testcases/general/duplicated_named_args_3.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.outline.expect b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_named_args_3.dart.outline.expect
rename to pkg/front_end/testcases/general/duplicated_named_args_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/duplicated_named_args_3.dart.strong.transformed.expect b/pkg/front_end/testcases/general/duplicated_named_args_3.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/duplicated_named_args_3.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/duplicated_named_args_3.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/dynamic_and_void.dart b/pkg/front_end/testcases/general/dynamic_and_void.dart
index 225849b..f41261e 100644
--- a/pkg/front_end/testcases/general/dynamic_and_void.dart
+++ b/pkg/front_end/testcases/general/dynamic_and_void.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 // dynamic is treated as a name exported by dart:core.  void is not treated as a
 // name exported by dart:core.
 
diff --git a/pkg/front_end/testcases/general/dynamic_and_void.dart.textual_outline.expect b/pkg/front_end/testcases/general/dynamic_and_void.dart.textual_outline.expect
index 64c5d3e..6705caf 100644
--- a/pkg/front_end/testcases/general/dynamic_and_void.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/dynamic_and_void.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:core' show int;
 
 dynamic testDynamic() => 0;
diff --git a/pkg/front_end/testcases/general/dynamic_and_void.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/dynamic_and_void.dart.textual_outline_modelled.expect
index fd30a61..5fcd961 100644
--- a/pkg/front_end/testcases/general/dynamic_and_void.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/dynamic_and_void.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:core' show int;
 
 dynamic testDynamic() => 0;
diff --git a/pkg/front_end/testcases/general/dynamic_and_void.dart.strong.expect b/pkg/front_end/testcases/general/dynamic_and_void.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/dynamic_and_void.dart.strong.expect
rename to pkg/front_end/testcases/general/dynamic_and_void.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/dynamic_and_void.dart.outline.expect b/pkg/front_end/testcases/general/dynamic_and_void.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/dynamic_and_void.dart.outline.expect
rename to pkg/front_end/testcases/general/dynamic_and_void.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/dynamic_and_void.dart.strong.transformed.expect b/pkg/front_end/testcases/general/dynamic_and_void.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/dynamic_and_void.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/dynamic_and_void.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart b/pkg/front_end/testcases/general/error_locations/error_location_01.dart
index 84034a1..63ea655 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_01_lib1.dart';
 import 'error_location_01_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline.expect
index 5332212..8e25c093 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'error_location_01_lib1.dart';
 import 'error_location_01_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline_modelled.expect
index 5332212..8e25c093 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'error_location_01_lib1.dart';
 import 'error_location_01_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.strong.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_01.dart.strong.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_01.dart.outline.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_01.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_01.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_01_lib1.dart
index 5ebb8ff..b8e8190 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Foo {
   const Foo(int i) : assert(i > 0);
 }
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01_lib2.dart b/pkg/front_end/testcases/general/error_locations/error_location_01_lib2.dart
index e35bf9e..3ed04eb 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_01_lib2.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_01_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_01_lib1.dart';
 
 bar() {
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart b/pkg/front_end/testcases/general/error_locations/error_location_02.dart
index 938b958..f860c2b 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_02_lib1.dart';
 import 'error_location_02_lib2.dart';
 import 'error_location_02_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline.expect
index 0bb920e..7de78f0f 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'error_location_02_lib1.dart';
 import 'error_location_02_lib2.dart';
 import 'error_location_02_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline_modelled.expect
index 0bb920e..7de78f0f 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'error_location_02_lib1.dart';
 import 'error_location_02_lib2.dart';
 import 'error_location_02_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.strong.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_02.dart.strong.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_02.dart.outline.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_02.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_02.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_02_lib1.dart
index 5ebb8ff..b8e8190 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Foo {
   const Foo(int i) : assert(i > 0);
 }
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02_lib2.dart b/pkg/front_end/testcases/general/error_locations/error_location_02_lib2.dart
index d526e38..8369f4f 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02_lib2.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_02_lib1.dart';
 
 const fooField = const Foo(0);
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02_lib3.dart b/pkg/front_end/testcases/general/error_locations/error_location_02_lib3.dart
index 7123ffc..6039c84 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_02_lib3.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_02_lib3.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_02_lib2.dart';
 
 const fooField2 = fooField;
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart b/pkg/front_end/testcases/general/error_locations/error_location_03.dart
index 47bffaf..cb14c398 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_03_lib1.dart';
 import 'error_location_03_lib2.dart';
 import 'error_location_03_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline.expect
index 6ee4f4b..4dc4182 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'error_location_03_lib1.dart';
 import 'error_location_03_lib2.dart';
 import 'error_location_03_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline_modelled.expect
index 6ee4f4b..4dc4182 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'error_location_03_lib1.dart';
 import 'error_location_03_lib2.dart';
 import 'error_location_03_lib3.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.strong.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_03.dart.strong.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_03.dart.outline.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_03.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_03.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_03_lib1.dart
index 5ebb8ff..b8e8190 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Foo {
   const Foo(int i) : assert(i > 0);
 }
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03_lib2.dart b/pkg/front_end/testcases/general/error_locations/error_location_03_lib2.dart
index a889a34..aa0d530 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03_lib2.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_03_lib1.dart';
 
 const fooField = const Foo(0);
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03_lib3.dart b/pkg/front_end/testcases/general/error_locations/error_location_03_lib3.dart
index 09a8a3b..508afd4 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_03_lib3.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_03_lib3.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_03_lib1.dart';
 
 const fooField2 = const Foo(0);
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart b/pkg/front_end/testcases/general/error_locations/error_location_04.dart
index 353cc90..b45d3b8 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_04_lib1.dart';
 import 'error_location_04_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline.expect
index 9dce0c1..3cd6bc2 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'error_location_04_lib1.dart';
 import 'error_location_04_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline_modelled.expect
index 9dce0c1..3cd6bc2 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'error_location_04_lib1.dart';
 import 'error_location_04_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.strong.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_04.dart.strong.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_04.dart.outline.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_04.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_04.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_04_lib1.dart
index 5ebb8ff..b8e8190 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Foo {
   const Foo(int i) : assert(i > 0);
 }
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04_lib2.dart b/pkg/front_end/testcases/general/error_locations/error_location_04_lib2.dart
index 24de171..5328be8 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_04_lib2.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_04_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'error_location_04_lib1.dart';
 
 class Bar {
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart b/pkg/front_end/testcases/general/error_locations/error_location_05.dart
index 98a013d..8296347 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 library error_location_05;
 
 part 'error_location_05_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline.expect
index 3097149..d3401d0 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library error_location_05;
 
 part 'error_location_05_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline_modelled.expect
index 3097149..d3401d0 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library error_location_05;
 
 part 'error_location_05_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.strong.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_05.dart.strong.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_05.dart.outline.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_05.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_05.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_05_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_05_lib1.dart
index f896142..2a27e0a 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_05_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_05_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 part of error_location_05;
 
 x1(z, {z}) {}
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart b/pkg/front_end/testcases/general/error_locations/error_location_06.dart
index b97ac23..89e7501 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 library error_location_06;
 
 part 'error_location_06_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline.expect
index 3f290d4..89189db 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library error_location_06;
 
 part 'error_location_06_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline_modelled.expect
index 3f290d4..89189db 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library error_location_06;
 
 part 'error_location_06_lib1.dart';
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.strong.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_06.dart.strong.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.outline.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_06.dart.outline.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_locations/error_location_06.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_locations/error_location_06.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_06_lib1.dart b/pkg/front_end/testcases/general/error_locations/error_location_06_lib1.dart
index 47a8883..88d8d5d 100644
--- a/pkg/front_end/testcases/general/error_locations/error_location_06_lib1.dart
+++ b/pkg/front_end/testcases/general/error_locations/error_location_06_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // Lots of comment lines that pushes the length of this file beyond that of
 // error_location_06. This in turn causes the (first) 'z' in 'x2' to get an
 // offset that is larger than the largest valid offset in error_location_06.
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart b/pkg/front_end/testcases/general/error_recovery/annotations.dart
index 0356083..de9241d 100644
--- a/pkg/front_end/testcases/general/error_recovery/annotations.dart
+++ b/pkg/front_end/testcases/general/error_recovery/annotations.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const annotation = null;
 
 class Annotation {
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.textual_outline.expect
index 2894307..e3a2446 100644
--- a/pkg/front_end/testcases/general/error_recovery/annotations.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/annotations.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const annotation = null;
 class Annotation {
   final String message;
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/annotations.dart.strong.expect
rename to pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/annotations.dart.outline.expect
rename to pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/annotations.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/annotations.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_recovery/annotations.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart
index fb84c75..add537e 100644
--- a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart
+++ b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart
@@ -1,5 +1,5 @@
 Future<void> f() => Future.value();
-
+// @dart=2.9
 void g() {
   await f();
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.outline.expect
deleted file mode 100644
index 338ee14..0000000
--- a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.outline.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-
-static method f() → asy::Future<void>*
-  ;
-static method g() → void
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.strong.expect
deleted file mode 100644
index 7569116..0000000
--- a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.strong.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart:4:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-//   await f();
-//   ^^^^^
-//
-import self as self;
-import "dart:async" as asy;
-
-static method f() → asy::Future<void>*
-  return asy::Future::value<void>();
-static method g() → void {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart:4:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-  await f();
-  ^^^^^";
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.strong.transformed.expect
deleted file mode 100644
index 7569116..0000000
--- a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.strong.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart:4:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-//   await f();
-//   ^^^^^
-//
-import self as self;
-import "dart:async" as asy;
-
-static method f() → asy::Future<void>*
-  return asy::Future::value<void>();
-static method g() → void {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart:4:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-  await f();
-  ^^^^^";
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.expect
new file mode 100644
index 0000000..12f76fb
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.expect
@@ -0,0 +1,18 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart:4:3: Error: 'await' can only be used in 'async' or 'async*' methods.
+//   await f();
+//   ^^^^^
+//
+import self as self;
+import "dart:async" as asy;
+
+static method f() → asy::Future<void>
+  return asy::Future::value<void>();
+static method g() → void {
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart:4:3: Error: 'await' can only be used in 'async' or 'async*' methods.
+  await f();
+  ^^^^^";
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.outline.expect
new file mode 100644
index 0000000..605f32d
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.outline.expect
@@ -0,0 +1,8 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:async" as asy;
+
+static method f() → asy::Future<void>
+  ;
+static method g() → void
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.transformed.expect
new file mode 100644
index 0000000..12f76fb
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart.weak.transformed.expect
@@ -0,0 +1,18 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart:4:3: Error: 'await' can only be used in 'async' or 'async*' methods.
+//   await f();
+//   ^^^^^
+//
+import self as self;
+import "dart:async" as asy;
+
+static method f() → asy::Future<void>
+  return asy::Future::value<void>();
+static method g() → void {
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/await_not_in_async.dart:4:3: Error: 'await' can only be used in 'async' or 'async*' methods.
+  await f();
+  ^^^^^";
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.outline.expect
deleted file mode 100644
index 9754b6c..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.outline.expect
+++ /dev/null
@@ -1,282 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: 'Foo.x' is already declared in this scope.
-//   foo.x() : initializer = true {
-//   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Context: Previous declaration of 'Foo.x'.
-//   foo.x() {
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: 'Foo' is already declared in this scope.
-//   get Foo {
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Context: Previous declaration of 'Foo'.
-//   get Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: 'Foo.X' is already declared in this scope.
-//   get Foo.X {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X => 0;
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo : bla = null => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X : bla = null {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X : bla = null {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: 'Foo.X' is already declared in this scope.
-//   get Foo.X : bla = null {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: 'Foo' is already declared in this scope.
-//   set Foo {
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Context: Previous declaration of 'Foo'.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X => 0;
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X : bla = null {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X => 0;
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo : bla = null => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: 'Foo' is already declared in this scope.
-//   set Foo : bla = null => 0;
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Context: Previous declaration of 'Foo'.
-//   get Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X : bla = null {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X : bla = null {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X : bla = null {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:18: Error: An external constructor can't have any initializers.
-//   external Foo() : bla = null;
-//                  ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:12: Error: 'Foo' is already declared in this scope.
-//   external Foo() : bla = null;
-//            ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Context: Previous declaration of 'Foo'.
-//   set Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:33: Error: An external or native method can't have a body.
-//   external Foo.X() : bla = null {
-//                                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:20: Error: An external constructor can't have any initializers.
-//   external Foo.X() : bla = null {
-//                    ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:12: Error: 'Foo.X' is already declared in this scope.
-//   external Foo.X() : bla = null {
-//            ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X : bla = null {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   int Foo;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: 'Foo' is already declared in this scope.
-//   int Foo;
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Context: Previous declaration of 'Foo'.
-//   get Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   int A, Foo, B;
-//          ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: 'Foo' is already declared in this scope.
-//   int A, Foo, B;
-//          ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Context: Previous declaration of 'Foo'.
-//   int Foo;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: Conflicts with the implicit setter of the field 'Foo'.
-//   set Foo {
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: Conflicts with the implicit setter of the field 'Foo'.
-//   set Foo => 0;
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: Conflicts with setter 'Foo'.
-//   int A, Foo, B;
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: Conflicts with setter 'Foo'.
-//   int Foo;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* A;
-  field core::int* B;
-  constructor x() → self::Foo*
-    ;
-  constructor foo() → self::Foo*
-    ;
-  constructor X() → self::Foo*
-    ;
-  constructor •() → self::Foo*
-    ;
-  get Foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.strong.expect
deleted file mode 100644
index 77778a5..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.strong.expect
+++ /dev/null
@@ -1,375 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: 'Foo.x' is already declared in this scope.
-//   foo.x() : initializer = true {
-//   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Context: Previous declaration of 'Foo.x'.
-//   foo.x() {
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: 'Foo' is already declared in this scope.
-//   get Foo {
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Context: Previous declaration of 'Foo'.
-//   get Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: 'Foo.X' is already declared in this scope.
-//   get Foo.X {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X => 0;
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo : bla = null => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X : bla = null {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X : bla = null {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: 'Foo.X' is already declared in this scope.
-//   get Foo.X : bla = null {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: 'Foo' is already declared in this scope.
-//   set Foo {
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Context: Previous declaration of 'Foo'.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X => 0;
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X : bla = null {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X => 0;
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo : bla = null => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: 'Foo' is already declared in this scope.
-//   set Foo : bla = null => 0;
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Context: Previous declaration of 'Foo'.
-//   get Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X : bla = null {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X : bla = null {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X : bla = null {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:18: Error: An external constructor can't have any initializers.
-//   external Foo() : bla = null;
-//                  ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:12: Error: 'Foo' is already declared in this scope.
-//   external Foo() : bla = null;
-//            ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Context: Previous declaration of 'Foo'.
-//   set Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:33: Error: An external or native method can't have a body.
-//   external Foo.X() : bla = null {
-//                                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:20: Error: An external constructor can't have any initializers.
-//   external Foo.X() : bla = null {
-//                    ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:12: Error: 'Foo.X' is already declared in this scope.
-//   external Foo.X() : bla = null {
-//            ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X : bla = null {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   int Foo;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: 'Foo' is already declared in this scope.
-//   int Foo;
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Context: Previous declaration of 'Foo'.
-//   get Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   int A, Foo, B;
-//          ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: 'Foo' is already declared in this scope.
-//   int A, Foo, B;
-//          ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Context: Previous declaration of 'Foo'.
-//   int Foo;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: Conflicts with the implicit setter of the field 'Foo'.
-//   set Foo {
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: Conflicts with the implicit setter of the field 'Foo'.
-//   set Foo => 0;
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: Conflicts with setter 'Foo'.
-//   int A, Foo, B;
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: Conflicts with setter 'Foo'.
-//   int Foo;
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:13: Error: 'initializer' isn't an instance field of this class.
-//   foo.x() : initializer = true {
-//             ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:11: Error: 'initializer' isn't an instance field of this class.
-//   foo() : initializer = true {
-//           ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:16: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   get Foo.X => 0;
-//                ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:17:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:13: Error: 'bla' isn't an instance field of this class.
-//   get Foo : bla = null => 0;
-//             ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:27: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   get Foo : bla = null => 0;
-//                           ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:15: Error: 'bla' isn't an instance field of this class.
-//   get Foo.X : bla = null {
-//               ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:21:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:11: Error: A setter should have exactly one formal parameter.
-//   set Foo => 0;
-//           ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:25:12: Error: Can't return a value from a void function.
-//     return 0;
-//            ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:11: Error: A setter should have exactly one formal parameter.
-//   set Foo {
-//           ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:16: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   set Foo.X => 0;
-//                ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:29:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:13: Error: 'bla' isn't an instance field of this class.
-//   set Foo : bla = null => 0;
-//             ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:27: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   set Foo : bla = null => 0;
-//                           ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:15: Error: 'bla' isn't an instance field of this class.
-//   set Foo.X : bla = null {
-//               ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:33:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:37:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* A = null;
-  field core::int* B = null;
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  constructor foo() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:11: Error: 'initializer' isn't an instance field of this class.
-  foo() : initializer = true {
-          ^^^^^^^^^^^" {}
-  constructor X() → self::Foo*
-    : super core::Object::•()
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:16: Error: Constructors can't have a return type.
-Try removing the return type.
-  get Foo.X => 0;
-               ^";
-  constructor •() → self::Foo*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:13: Error: 'bla' isn't an instance field of this class.
-  get Foo : bla = null => 0;
-            ^^^"
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:27: Error: Constructors can't have a return type.
-Try removing the return type.
-  get Foo : bla = null => 0;
-                          ^";
-  get Foo() → dynamic
-    return 0;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.strong.transformed.expect
deleted file mode 100644
index 77778a5..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,375 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: 'Foo.x' is already declared in this scope.
-//   foo.x() : initializer = true {
-//   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Context: Previous declaration of 'Foo.x'.
-//   foo.x() {
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:3: Error: The name of a constructor must match the name of the enclosing class.
-//   foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: 'Foo' is already declared in this scope.
-//   get Foo {
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Context: Previous declaration of 'Foo'.
-//   get Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: 'Foo.X' is already declared in this scope.
-//   get Foo.X {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X => 0;
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo : bla = null => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   get Foo.X : bla = null {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.X : bla = null {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: 'Foo.X' is already declared in this scope.
-//   get Foo.X : bla = null {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: 'Foo' is already declared in this scope.
-//   set Foo {
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Context: Previous declaration of 'Foo'.
-//   set Foo => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X => 0;
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Context: Previous declaration of 'Foo.X'.
-//   get Foo.X : bla = null {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X => 0;
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo : bla = null => 0;
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: 'Foo' is already declared in this scope.
-//   set Foo : bla = null => 0;
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Context: Previous declaration of 'Foo'.
-//   get Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   set Foo.X : bla = null {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.X : bla = null {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: 'Foo.X' is already declared in this scope.
-//   set Foo.X : bla = null {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:18: Error: An external constructor can't have any initializers.
-//   external Foo() : bla = null;
-//                  ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:12: Error: 'Foo' is already declared in this scope.
-//   external Foo() : bla = null;
-//            ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Context: Previous declaration of 'Foo'.
-//   set Foo : bla = null => 0;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:33: Error: An external or native method can't have a body.
-//   external Foo.X() : bla = null {
-//                                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:20: Error: An external constructor can't have any initializers.
-//   external Foo.X() : bla = null {
-//                    ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:12: Error: 'Foo.X' is already declared in this scope.
-//   external Foo.X() : bla = null {
-//            ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Context: Previous declaration of 'Foo.X'.
-//   set Foo.X : bla = null {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   int Foo;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: 'Foo' is already declared in this scope.
-//   int Foo;
-//       ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Context: Previous declaration of 'Foo'.
-//   get Foo {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   int A, Foo, B;
-//          ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: 'Foo' is already declared in this scope.
-//   int A, Foo, B;
-//          ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Context: Previous declaration of 'Foo'.
-//   int Foo;
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: Conflicts with the implicit setter of the field 'Foo'.
-//   set Foo {
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: Conflicts with the implicit setter of the field 'Foo'.
-//   set Foo => 0;
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: Conflicts with setter 'Foo'.
-//   int A, Foo, B;
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: Conflicts with setter 'Foo'.
-//   int Foo;
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:13: Error: 'initializer' isn't an instance field of this class.
-//   foo.x() : initializer = true {
-//             ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:11: Error: 'initializer' isn't an instance field of this class.
-//   foo() : initializer = true {
-//           ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:16: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   get Foo.X => 0;
-//                ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:17:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:13: Error: 'bla' isn't an instance field of this class.
-//   get Foo : bla = null => 0;
-//             ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:27: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   get Foo : bla = null => 0;
-//                           ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:15: Error: 'bla' isn't an instance field of this class.
-//   get Foo.X : bla = null {
-//               ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:21:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:11: Error: A setter should have exactly one formal parameter.
-//   set Foo => 0;
-//           ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:25:12: Error: Can't return a value from a void function.
-//     return 0;
-//            ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:11: Error: A setter should have exactly one formal parameter.
-//   set Foo {
-//           ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:16: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   set Foo.X => 0;
-//                ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:29:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:13: Error: 'bla' isn't an instance field of this class.
-//   set Foo : bla = null => 0;
-//             ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:27: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   set Foo : bla = null => 0;
-//                           ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:15: Error: 'bla' isn't an instance field of this class.
-//   set Foo.X : bla = null {
-//               ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:33:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:37:5: Error: Constructors can't have a return type.
-// Try removing the return type.
-//     return 0;
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::int* A = null;
-  field core::int* B = null;
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  constructor foo() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:11: Error: 'initializer' isn't an instance field of this class.
-  foo() : initializer = true {
-          ^^^^^^^^^^^" {}
-  constructor X() → self::Foo*
-    : super core::Object::•()
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:16: Error: Constructors can't have a return type.
-Try removing the return type.
-  get Foo.X => 0;
-               ^";
-  constructor •() → self::Foo*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:13: Error: 'bla' isn't an instance field of this class.
-  get Foo : bla = null => 0;
-            ^^^"
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:27: Error: Constructors can't have a return type.
-Try removing the return type.
-  get Foo : bla = null => 0;
-                          ^";
-  get Foo() → dynamic
-    return 0;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.expect
new file mode 100644
index 0000000..17c2eb1
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.expect
@@ -0,0 +1,377 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: 'Foo.x' is already declared in this scope.
+//   foo.x() : initializer = true {
+//   ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Context: Previous declaration of 'Foo.x'.
+//   foo.x() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: 'Foo' is already declared in this scope.
+//   get Foo {
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Context: Previous declaration of 'Foo'.
+//   get Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: 'Foo.X' is already declared in this scope.
+//   get Foo.X {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X => 0;
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo : bla = null => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X : bla = null {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X : bla = null {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: 'Foo.X' is already declared in this scope.
+//   get Foo.X : bla = null {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: 'Foo' is already declared in this scope.
+//   set Foo {
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Context: Previous declaration of 'Foo'.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X => 0;
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X : bla = null {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X => 0;
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo : bla = null => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: 'Foo' is already declared in this scope.
+//   set Foo : bla = null => 0;
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Context: Previous declaration of 'Foo'.
+//   get Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X : bla = null {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X : bla = null {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X : bla = null {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:18: Error: An external constructor can't have any initializers.
+//   external Foo() : bla = null;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:12: Error: 'Foo' is already declared in this scope.
+//   external Foo() : bla = null;
+//            ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Context: Previous declaration of 'Foo'.
+//   set Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:33: Error: An external or native method can't have a body.
+//   external Foo.X() : bla = null {
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:20: Error: An external constructor can't have any initializers.
+//   external Foo.X() : bla = null {
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:12: Error: 'Foo.X' is already declared in this scope.
+//   external Foo.X() : bla = null {
+//            ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X : bla = null {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   int Foo;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: 'Foo' is already declared in this scope.
+//   int Foo;
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Context: Previous declaration of 'Foo'.
+//   get Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   int A, Foo, B;
+//          ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: 'Foo' is already declared in this scope.
+//   int A, Foo, B;
+//          ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Context: Previous declaration of 'Foo'.
+//   int Foo;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: Conflicts with the implicit setter of the field 'Foo'.
+//   set Foo {
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: Conflicts with the implicit setter of the field 'Foo'.
+//   set Foo => 0;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: Conflicts with setter 'Foo'.
+//   int A, Foo, B;
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: Conflicts with setter 'Foo'.
+//   int Foo;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:13: Error: 'initializer' isn't an instance field of this class.
+//   foo.x() : initializer = true {
+//             ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:11: Error: 'initializer' isn't an instance field of this class.
+//   foo() : initializer = true {
+//           ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:16: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   get Foo.X => 0;
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:17:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:13: Error: 'bla' isn't an instance field of this class.
+//   get Foo : bla = null => 0;
+//             ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:27: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   get Foo : bla = null => 0;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:15: Error: 'bla' isn't an instance field of this class.
+//   get Foo.X : bla = null {
+//               ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:21:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:11: Error: A setter should have exactly one formal parameter.
+//   set Foo => 0;
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:25:12: Error: Can't return a value from a void function.
+//     return 0;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:11: Error: A setter should have exactly one formal parameter.
+//   set Foo {
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:16: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   set Foo.X => 0;
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:29:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:13: Error: 'bla' isn't an instance field of this class.
+//   set Foo : bla = null => 0;
+//             ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:27: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   set Foo : bla = null => 0;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:15: Error: 'bla' isn't an instance field of this class.
+//   set Foo.X : bla = null {
+//               ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:33:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:37:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: Field 'Foo' should be initialized because its type 'int' doesn't allow null.
+//   int Foo;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:7: Error: Field 'A' should be initialized because its type 'int' doesn't allow null.
+//   int A, Foo, B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:15: Error: Field 'B' should be initialized because its type 'int' doesn't allow null.
+//   int A, Foo, B;
+//               ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  field core::int A = null;
+  field core::int B = null;
+  constructor x() → self::Foo
+    : super core::Object::•() {}
+  constructor foo() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:11: Error: 'initializer' isn't an instance field of this class.
+  foo() : initializer = true {
+          ^^^^^^^^^^^" {}
+  constructor X() → self::Foo
+    : super core::Object::•()
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:16: Error: Constructors can't have a return type.
+Try removing the return type.
+  get Foo.X => 0;
+               ^";
+  constructor •() → self::Foo
+    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:13: Error: 'bla' isn't an instance field of this class.
+  get Foo : bla = null => 0;
+            ^^^"
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:27: Error: Constructors can't have a return type.
+Try removing the return type.
+  get Foo : bla = null => 0;
+                          ^";
+  get Foo() → dynamic
+    return 0;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..0b49105
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.outline.expect
@@ -0,0 +1,272 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: 'Foo.x' is already declared in this scope.
+//   foo.x() : initializer = true {
+//   ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Context: Previous declaration of 'Foo.x'.
+//   foo.x() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: 'Foo' is already declared in this scope.
+//   get Foo {
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Context: Previous declaration of 'Foo'.
+//   get Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: 'Foo.X' is already declared in this scope.
+//   get Foo.X {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X => 0;
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo : bla = null => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X : bla = null {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X : bla = null {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: 'Foo.X' is already declared in this scope.
+//   get Foo.X : bla = null {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: 'Foo' is already declared in this scope.
+//   set Foo {
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Context: Previous declaration of 'Foo'.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X => 0;
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X : bla = null {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X => 0;
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo : bla = null => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: 'Foo' is already declared in this scope.
+//   set Foo : bla = null => 0;
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Context: Previous declaration of 'Foo'.
+//   get Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X : bla = null {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X : bla = null {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X : bla = null {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:18: Error: An external constructor can't have any initializers.
+//   external Foo() : bla = null;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:12: Error: 'Foo' is already declared in this scope.
+//   external Foo() : bla = null;
+//            ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Context: Previous declaration of 'Foo'.
+//   set Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:33: Error: An external or native method can't have a body.
+//   external Foo.X() : bla = null {
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:20: Error: An external constructor can't have any initializers.
+//   external Foo.X() : bla = null {
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:12: Error: 'Foo.X' is already declared in this scope.
+//   external Foo.X() : bla = null {
+//            ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X : bla = null {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   int Foo;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: 'Foo' is already declared in this scope.
+//   int Foo;
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Context: Previous declaration of 'Foo'.
+//   get Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   int A, Foo, B;
+//          ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: 'Foo' is already declared in this scope.
+//   int A, Foo, B;
+//          ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Context: Previous declaration of 'Foo'.
+//   int Foo;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: Conflicts with the implicit setter of the field 'Foo'.
+//   set Foo {
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: Conflicts with the implicit setter of the field 'Foo'.
+//   set Foo => 0;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: Conflicts with setter 'Foo'.
+//   int A, Foo, B;
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: Conflicts with setter 'Foo'.
+//   int Foo;
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  field core::int A;
+  field core::int B;
+  constructor x() → self::Foo
+    ;
+  constructor foo() → self::Foo
+    ;
+  constructor X() → self::Foo
+    ;
+  constructor •() → self::Foo
+    ;
+  get Foo() → dynamic
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..17c2eb1
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart.weak.transformed.expect
@@ -0,0 +1,377 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:3: Error: 'Foo.x' is already declared in this scope.
+//   foo.x() : initializer = true {
+//   ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:2:3: Context: Previous declaration of 'Foo.x'.
+//   foo.x() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:3: Error: The name of a constructor must match the name of the enclosing class.
+//   foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Error: 'Foo' is already declared in this scope.
+//   get Foo {
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:11:7: Context: Previous declaration of 'Foo'.
+//   get Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Error: 'Foo.X' is already declared in this scope.
+//   get Foo.X {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X => 0;
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo : bla = null => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   get Foo.X : bla = null {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.X : bla = null {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Error: 'Foo.X' is already declared in this scope.
+//   get Foo.X : bla = null {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:16:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: 'Foo' is already declared in this scope.
+//   set Foo {
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Context: Previous declaration of 'Foo'.
+//   set Foo => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X => 0;
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:7: Context: Previous declaration of 'Foo.X'.
+//   get Foo.X : bla = null {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X => 0;
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo : bla = null => 0;
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Error: 'Foo' is already declared in this scope.
+//   set Foo : bla = null => 0;
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:7: Context: Previous declaration of 'Foo'.
+//   get Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   set Foo.X : bla = null {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.X : bla = null {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Error: 'Foo.X' is already declared in this scope.
+//   set Foo.X : bla = null {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:28:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:18: Error: An external constructor can't have any initializers.
+//   external Foo() : bla = null;
+//                  ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:35:12: Error: 'Foo' is already declared in this scope.
+//   external Foo() : bla = null;
+//            ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:7: Context: Previous declaration of 'Foo'.
+//   set Foo : bla = null => 0;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:33: Error: An external or native method can't have a body.
+//   external Foo.X() : bla = null {
+//                                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:20: Error: An external constructor can't have any initializers.
+//   external Foo.X() : bla = null {
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:36:12: Error: 'Foo.X' is already declared in this scope.
+//   external Foo.X() : bla = null {
+//            ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:7: Context: Previous declaration of 'Foo.X'.
+//   set Foo.X : bla = null {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   int Foo;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: 'Foo' is already declared in this scope.
+//   int Foo;
+//       ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:12:7: Context: Previous declaration of 'Foo'.
+//   get Foo {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   int A, Foo, B;
+//          ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: 'Foo' is already declared in this scope.
+//   int A, Foo, B;
+//          ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Context: Previous declaration of 'Foo'.
+//   int Foo;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:7: Error: Conflicts with the implicit setter of the field 'Foo'.
+//   set Foo {
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:7: Error: Conflicts with the implicit setter of the field 'Foo'.
+//   set Foo => 0;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:10: Error: Conflicts with setter 'Foo'.
+//   int A, Foo, B;
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: Conflicts with setter 'Foo'.
+//   int Foo;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:5:13: Error: 'initializer' isn't an instance field of this class.
+//   foo.x() : initializer = true {
+//             ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:11: Error: 'initializer' isn't an instance field of this class.
+//   foo() : initializer = true {
+//           ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:16: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   get Foo.X => 0;
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:17:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:13: Error: 'bla' isn't an instance field of this class.
+//   get Foo : bla = null => 0;
+//             ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:27: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   get Foo : bla = null => 0;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:20:15: Error: 'bla' isn't an instance field of this class.
+//   get Foo.X : bla = null {
+//               ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:21:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:23:11: Error: A setter should have exactly one formal parameter.
+//   set Foo => 0;
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:25:12: Error: Can't return a value from a void function.
+//     return 0;
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:24:11: Error: A setter should have exactly one formal parameter.
+//   set Foo {
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:27:16: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   set Foo.X => 0;
+//                ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:29:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:13: Error: 'bla' isn't an instance field of this class.
+//   set Foo : bla = null => 0;
+//             ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:31:27: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   set Foo : bla = null => 0;
+//                           ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:32:15: Error: 'bla' isn't an instance field of this class.
+//   set Foo.X : bla = null {
+//               ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:33:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:37:5: Error: Constructors can't have a return type.
+// Try removing the return type.
+//     return 0;
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:39:7: Error: Field 'Foo' should be initialized because its type 'int' doesn't allow null.
+//   int Foo;
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:7: Error: Field 'A' should be initialized because its type 'int' doesn't allow null.
+//   int A, Foo, B;
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:40:15: Error: Field 'B' should be initialized because its type 'int' doesn't allow null.
+//   int A, Foo, B;
+//               ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  field core::int A = null;
+  field core::int B = null;
+  constructor x() → self::Foo
+    : super core::Object::•() {}
+  constructor foo() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:8:11: Error: 'initializer' isn't an instance field of this class.
+  foo() : initializer = true {
+          ^^^^^^^^^^^" {}
+  constructor X() → self::Foo
+    : super core::Object::•()
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:15:16: Error: Constructors can't have a return type.
+Try removing the return type.
+  get Foo.X => 0;
+               ^";
+  constructor •() → self::Foo
+    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:13: Error: 'bla' isn't an instance field of this class.
+  get Foo : bla = null => 0;
+            ^^^"
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_general.crash_dart:19:27: Error: Constructors can't have a return type.
+Try removing the return type.
+  get Foo : bla = null => 0;
+                          ^";
+  get Foo() → dynamic
+    return 0;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.outline.expect
deleted file mode 100644
index 02e9993..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.outline.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo.x() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo.x() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
-//   get foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
-//   get foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get foo() : initializer = true {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo() : initializer = true {
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    ;
-  constructor foo() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.strong.expect
deleted file mode 100644
index 7f5a283..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.strong.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo.x() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo.x() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
-//   get foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
-//   get foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get foo() : initializer = true {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:17: Error: 'initializer' isn't an instance field of this class.
-//   get foo.x() : initializer = true {
-//                 ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
-//   get foo() : initializer = true {
-//               ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  constructor foo() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
-  get foo() : initializer = true {
-              ^^^^^^^^^^^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.strong.transformed.expect
deleted file mode 100644
index 7f5a283..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo.x() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo.x() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
-//   get foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
-//   get foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get foo() : initializer = true {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
-//   get foo() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:17: Error: 'initializer' isn't an instance field of this class.
-//   get foo.x() : initializer = true {
-//                 ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
-//   get foo() : initializer = true {
-//               ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  constructor foo() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
-  get foo() : initializer = true {
-              ^^^^^^^^^^^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.expect
new file mode 100644
index 0000000..4435554
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.expect
@@ -0,0 +1,62 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo.x() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo.x() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
+//   get foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
+//   get foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get foo() : initializer = true {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:17: Error: 'initializer' isn't an instance field of this class.
+//   get foo.x() : initializer = true {
+//                 ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
+//   get foo() : initializer = true {
+//               ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    : super core::Object::•() {}
+  constructor foo() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
+  get foo() : initializer = true {
+              ^^^^^^^^^^^" {}
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..6d1274e
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.outline.expect
@@ -0,0 +1,52 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo.x() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo.x() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
+//   get foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
+//   get foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get foo() : initializer = true {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo() : initializer = true {
+//   ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    ;
+  constructor foo() → self::Foo
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..4435554
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart.weak.transformed.expect
@@ -0,0 +1,62 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo.x() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo.x() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
+//   get foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
+//   get foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get foo() : initializer = true {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
+//   get foo() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:5:17: Error: 'initializer' isn't an instance field of this class.
+//   get foo.x() : initializer = true {
+//                 ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
+//   get foo() : initializer = true {
+//               ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    : super core::Object::•() {}
+  constructor foo() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_get.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
+  get foo() : initializer = true {
+              ^^^^^^^^^^^" {}
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.outline.expect
deleted file mode 100644
index 55af843..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.outline.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo.x() {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo.x() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo.x() : initializer = true {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo.x() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: 'Foo.x' is already declared in this scope.
-//   void foo.x() : initializer = true {
-//        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Context: Previous declaration of 'Foo.x'.
-//   void foo.x() {
-//        ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo() : initializer = true {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo() : initializer = true {
-//   ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    ;
-  constructor foo() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.strong.expect
deleted file mode 100644
index b138bcb..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.strong.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo.x() {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo.x() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo.x() : initializer = true {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo.x() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: 'Foo.x' is already declared in this scope.
-//   void foo.x() : initializer = true {
-//        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Context: Previous declaration of 'Foo.x'.
-//   void foo.x() {
-//        ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo() : initializer = true {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:18: Error: 'initializer' isn't an instance field of this class.
-//   void foo.x() : initializer = true {
-//                  ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:16: Error: 'initializer' isn't an instance field of this class.
-//   void foo() : initializer = true {
-//                ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  constructor foo() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:16: Error: 'initializer' isn't an instance field of this class.
-  void foo() : initializer = true {
-               ^^^^^^^^^^^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.strong.transformed.expect
deleted file mode 100644
index b138bcb..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo.x() {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo.x() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo.x() : initializer = true {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo.x() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: 'Foo.x' is already declared in this scope.
-//   void foo.x() : initializer = true {
-//        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Context: Previous declaration of 'Foo.x'.
-//   void foo.x() {
-//        ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:8: Error: The name of a constructor must match the name of the enclosing class.
-//   void foo() : initializer = true {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void foo() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:18: Error: 'initializer' isn't an instance field of this class.
-//   void foo.x() : initializer = true {
-//                  ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:16: Error: 'initializer' isn't an instance field of this class.
-//   void foo() : initializer = true {
-//                ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  constructor foo() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:16: Error: 'initializer' isn't an instance field of this class.
-  void foo() : initializer = true {
-               ^^^^^^^^^^^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.expect
new file mode 100644
index 0000000..ef13e6b
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.expect
@@ -0,0 +1,57 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo.x() {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo.x() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo.x() : initializer = true {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo.x() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: 'Foo.x' is already declared in this scope.
+//   void foo.x() : initializer = true {
+//        ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Context: Previous declaration of 'Foo.x'.
+//   void foo.x() {
+//        ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo() : initializer = true {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:18: Error: 'initializer' isn't an instance field of this class.
+//   void foo.x() : initializer = true {
+//                  ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:16: Error: 'initializer' isn't an instance field of this class.
+//   void foo() : initializer = true {
+//                ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    : super core::Object::•() {}
+  constructor foo() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:16: Error: 'initializer' isn't an instance field of this class.
+  void foo() : initializer = true {
+               ^^^^^^^^^^^" {}
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..2ccba89
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.outline.expect
@@ -0,0 +1,47 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo.x() {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo.x() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo.x() : initializer = true {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo.x() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: 'Foo.x' is already declared in this scope.
+//   void foo.x() : initializer = true {
+//        ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Context: Previous declaration of 'Foo.x'.
+//   void foo.x() {
+//        ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo() : initializer = true {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo() : initializer = true {
+//   ^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    ;
+  constructor foo() → self::Foo
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..ef13e6b
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart.weak.transformed.expect
@@ -0,0 +1,57 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo.x() {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo.x() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo.x() : initializer = true {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo.x() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:8: Error: 'Foo.x' is already declared in this scope.
+//   void foo.x() : initializer = true {
+//        ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:2:8: Context: Previous declaration of 'Foo.x'.
+//   void foo.x() {
+//        ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:8: Error: The name of a constructor must match the name of the enclosing class.
+//   void foo() : initializer = true {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void foo() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:5:18: Error: 'initializer' isn't an instance field of this class.
+//   void foo.x() : initializer = true {
+//                  ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:16: Error: 'initializer' isn't an instance field of this class.
+//   void foo() : initializer = true {
+//                ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    : super core::Object::•() {}
+  constructor foo() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_return_type.crash_dart:8:16: Error: 'initializer' isn't an instance field of this class.
+  void foo() : initializer = true {
+               ^^^^^^^^^^^" {}
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.outline.expect
deleted file mode 100644
index f9291a3..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.outline.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo.x() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo.x() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
-//   set foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
-//   set foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo() : initializer = true {
-//   ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    ;
-  constructor foo() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.strong.expect
deleted file mode 100644
index 2bd5e29..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.strong.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo.x() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo.x() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
-//   set foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
-//   set foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:17: Error: 'initializer' isn't an instance field of this class.
-//   set foo.x() : initializer = true {
-//                 ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
-//   set foo() : initializer = true {
-//               ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  constructor foo() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
-  set foo() : initializer = true {
-              ^^^^^^^^^^^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.strong.transformed.expect
deleted file mode 100644
index 2bd5e29..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo.x() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo.x() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
-//   set foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
-//   set foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
-//   set foo() : initializer = true {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:17: Error: 'initializer' isn't an instance field of this class.
-//   set foo.x() : initializer = true {
-//                 ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
-//   set foo() : initializer = true {
-//               ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  constructor foo() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
-  set foo() : initializer = true {
-              ^^^^^^^^^^^" {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.expect
new file mode 100644
index 0000000..583688c
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.expect
@@ -0,0 +1,57 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo.x() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo.x() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
+//   set foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
+//   set foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:17: Error: 'initializer' isn't an instance field of this class.
+//   set foo.x() : initializer = true {
+//                 ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
+//   set foo() : initializer = true {
+//               ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    : super core::Object::•() {}
+  constructor foo() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
+  set foo() : initializer = true {
+              ^^^^^^^^^^^" {}
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..e114f94
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.outline.expect
@@ -0,0 +1,47 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo.x() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo.x() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
+//   set foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
+//   set foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo() : initializer = true {
+//   ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    ;
+  constructor foo() → self::Foo
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..583688c
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart.weak.transformed.expect
@@ -0,0 +1,57 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo.x() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo.x() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:7: Error: 'Foo.x' is already declared in this scope.
+//   set foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:2:7: Context: Previous declaration of 'Foo.x'.
+//   set foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:7: Error: The name of a constructor must match the name of the enclosing class.
+//   set foo() : initializer = true {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:5:17: Error: 'initializer' isn't an instance field of this class.
+//   set foo.x() : initializer = true {
+//                 ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
+//   set foo() : initializer = true {
+//               ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor x() → self::Foo
+    : super core::Object::•() {}
+  constructor foo() → self::Foo
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_bad_name_set.crash_dart:8:15: Error: 'initializer' isn't an instance field of this class.
+  set foo() : initializer = true {
+              ^^^^^^^^^^^" {}
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart
index 5921c10..9e6311e 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 class Foo {
   get Foo() {
     // Not OK.
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.outline.expect
deleted file mode 100644
index 18518aa..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.outline.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get Foo() {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get Foo() : initializer = true {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:7: Error: 'Foo.x' is already declared in this scope.
-//   get Foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:7: Context: Previous declaration of 'Foo.x'.
-//   get Foo.x() {
-//       ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    ;
-  constructor x() → self::Foo*
-    ;
-  get Foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.strong.expect
deleted file mode 100644
index 3384297..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.strong.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get Foo() {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get Foo() : initializer = true {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:7: Error: 'Foo.x' is already declared in this scope.
-//   get Foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:7: Context: Previous declaration of 'Foo.x'.
-//   get Foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
-//   get Foo() : initializer = true {
-//               ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:17: Error: 'initializer' isn't an instance field of this class.
-//   get Foo.x() : initializer = true {
-//                 ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
-  get Foo() : initializer = true {
-              ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  get Foo() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.strong.transformed.expect
deleted file mode 100644
index 3384297..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.strong.transformed.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get Foo() {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:2:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   get Foo() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:10: Error: A getter can't have formal parameters.
-// Try removing '(...)'.
-//   get Foo() : initializer = true {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:3: Error: Constructors can't be a getter.
-// Try removing 'get'.
-//   get Foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:7: Error: 'Foo.x' is already declared in this scope.
-//   get Foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:8:7: Context: Previous declaration of 'Foo.x'.
-//   get Foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
-//   get Foo() : initializer = true {
-//               ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:11:17: Error: 'initializer' isn't an instance field of this class.
-//   get Foo.x() : initializer = true {
-//                 ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:5:15: Error: 'initializer' isn't an instance field of this class.
-  get Foo() : initializer = true {
-              ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  get Foo() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.textual_outline.expect
index 2dd5d4c..d6b8a46 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   get Foo() {}
   get Foo() : initializer = true {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.expect
new file mode 100644
index 0000000..eea597e
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.expect
@@ -0,0 +1,71 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get Foo() {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get Foo() : initializer = true {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+//   get Foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:7: Context: Previous declaration of 'Foo.x'.
+//   get Foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+//   get Foo() : initializer = true {
+//               ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+//   get Foo.x() : initializer = true {
+//                 ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  get Foo() : initializer = true {
+              ^^^^^^^^^^^" {}
+  constructor x() → self::Foo*
+    : super core::Object::•() {}
+  get Foo() → dynamic {}
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.outline.expect
new file mode 100644
index 0000000..771ed79
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.outline.expect
@@ -0,0 +1,62 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get Foo() {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get Foo() : initializer = true {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+//   get Foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:7: Context: Previous declaration of 'Foo.x'.
+//   get Foo.x() {
+//       ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    ;
+  constructor x() → self::Foo*
+    ;
+  get Foo() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.transformed.expect
new file mode 100644
index 0000000..eea597e
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart.weak.transformed.expect
@@ -0,0 +1,71 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get Foo() {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   get Foo() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:10: Error: A getter can't have formal parameters.
+// Try removing '(...)'.
+//   get Foo() : initializer = true {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:3: Error: Constructors can't be a getter.
+// Try removing 'get'.
+//   get Foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+//   get Foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:9:7: Context: Previous declaration of 'Foo.x'.
+//   get Foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+//   get Foo() : initializer = true {
+//               ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+//   get Foo.x() : initializer = true {
+//                 ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_get.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  get Foo() : initializer = true {
+              ^^^^^^^^^^^" {}
+  constructor x() → self::Foo*
+    : super core::Object::•() {}
+  get Foo() → dynamic {}
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart
index 6a532a0..d865bc7 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 class Foo {
   Foo() {
     // OK.
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.outline.expect
deleted file mode 100644
index 8fa54d2..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:3: Error: 'Foo' is already declared in this scope.
-//   Foo() : initializer = true {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:2:3: Context: Previous declaration of 'Foo'.
-//   Foo() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:3: Error: 'Foo.x' is already declared in this scope.
-//   Foo.x() : initializer = true {
-//   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:8:3: Context: Previous declaration of 'Foo.x'.
-//   Foo.x() {
-//   ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    ;
-  constructor x() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.strong.expect
deleted file mode 100644
index 5f92aba..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:3: Error: 'Foo' is already declared in this scope.
-//   Foo() : initializer = true {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:2:3: Context: Previous declaration of 'Foo'.
-//   Foo() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:3: Error: 'Foo.x' is already declared in this scope.
-//   Foo.x() : initializer = true {
-//   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:8:3: Context: Previous declaration of 'Foo.x'.
-//   Foo.x() {
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:11: Error: 'initializer' isn't an instance field of this class.
-//   Foo() : initializer = true {
-//           ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:13: Error: 'initializer' isn't an instance field of this class.
-//   Foo.x() : initializer = true {
-//             ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : super core::Object::•() {}
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.strong.transformed.expect
deleted file mode 100644
index 5f92aba..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:3: Error: 'Foo' is already declared in this scope.
-//   Foo() : initializer = true {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:2:3: Context: Previous declaration of 'Foo'.
-//   Foo() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:3: Error: 'Foo.x' is already declared in this scope.
-//   Foo.x() : initializer = true {
-//   ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:8:3: Context: Previous declaration of 'Foo.x'.
-//   Foo.x() {
-//   ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:5:11: Error: 'initializer' isn't an instance field of this class.
-//   Foo() : initializer = true {
-//           ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:11:13: Error: 'initializer' isn't an instance field of this class.
-//   Foo.x() : initializer = true {
-//             ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : super core::Object::•() {}
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline.expect
index 2318374..63048301 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   Foo() {}
   Foo() : initializer = true {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline_modelled.expect
index f87cd03..5bd409d 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   Foo() : initializer = true {}
   Foo() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.expect
new file mode 100644
index 0000000..92284b0
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.expect
@@ -0,0 +1,45 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:3: Error: 'Foo' is already declared in this scope.
+//   Foo() : initializer = true {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:3:3: Context: Previous declaration of 'Foo'.
+//   Foo() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:3: Error: 'Foo.x' is already declared in this scope.
+//   Foo.x() : initializer = true {
+//   ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:9:3: Context: Previous declaration of 'Foo.x'.
+//   Foo.x() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:11: Error: 'initializer' isn't an instance field of this class.
+//   Foo() : initializer = true {
+//           ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:13: Error: 'initializer' isn't an instance field of this class.
+//   Foo.x() : initializer = true {
+//             ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    : super core::Object::•() {}
+  constructor x() → self::Foo*
+    : super core::Object::•() {}
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.outline.expect
new file mode 100644
index 0000000..8c35187
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.outline.expect
@@ -0,0 +1,37 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:3: Error: 'Foo' is already declared in this scope.
+//   Foo() : initializer = true {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:3:3: Context: Previous declaration of 'Foo'.
+//   Foo() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:3: Error: 'Foo.x' is already declared in this scope.
+//   Foo.x() : initializer = true {
+//   ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:9:3: Context: Previous declaration of 'Foo.x'.
+//   Foo.x() {
+//   ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    ;
+  constructor x() → self::Foo*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.transformed.expect
new file mode 100644
index 0000000..92284b0
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart.weak.transformed.expect
@@ -0,0 +1,45 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:3: Error: 'Foo' is already declared in this scope.
+//   Foo() : initializer = true {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:3:3: Context: Previous declaration of 'Foo'.
+//   Foo() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:3: Error: 'Foo.x' is already declared in this scope.
+//   Foo.x() : initializer = true {
+//   ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:9:3: Context: Previous declaration of 'Foo.x'.
+//   Foo.x() {
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:6:11: Error: 'initializer' isn't an instance field of this class.
+//   Foo() : initializer = true {
+//           ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_ok.dart:12:13: Error: 'initializer' isn't an instance field of this class.
+//   Foo.x() : initializer = true {
+//             ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    : super core::Object::•() {}
+  constructor x() → self::Foo*
+    : super core::Object::•() {}
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.outline.expect
deleted file mode 100644
index aa87774..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.outline.expect
+++ /dev/null
@@ -1,156 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Expected '{' before this.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: The name of a constructor must match the name of the enclosing class.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator '/' should have exactly one parameter.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected '{' before this.
-//   Foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:3: Error: 'Foo' is already declared in this scope.
-//   Foo()./ : super() {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:3: Context: Previous declaration of 'Foo'.
-//   Foo() / : super() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected a class member, but got '.'.
-//   Foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: The name of a constructor must match the name of the enclosing class.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator '/' should have exactly one parameter.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: 'Foo./' is already declared in this scope.
-//   Foo()./ : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Context: Previous declaration of 'Foo./'.
-//   Foo() / : super() {
-//         ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Expected '{' before this.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: The name of a constructor must match the name of the enclosing class.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator '/' should have exactly one parameter.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: 'Foo./' is already declared in this scope.
-//   foo() / : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Context: Previous declaration of 'Foo./'.
-//   Foo()./ : super() {
-//         ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected '{' before this.
-//   foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:3: Error: 'foo' is already declared in this scope.
-//   foo()./ : super() {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:3: Context: Previous declaration of 'foo'.
-//   foo() / : super() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected a class member, but got '.'.
-//   foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: The name of a constructor must match the name of the enclosing class.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator '/' should have exactly one parameter.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: 'Foo./' is already declared in this scope.
-//   foo()./ : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Context: Previous declaration of 'Foo./'.
-//   foo() / : super() {
-//         ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    ;
-  constructor /() → self::Foo*
-    ;
-  method foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.strong.expect
deleted file mode 100644
index 4e82ee5..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.strong.expect
+++ /dev/null
@@ -1,155 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Expected '{' before this.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: The name of a constructor must match the name of the enclosing class.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator '/' should have exactly one parameter.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected '{' before this.
-//   Foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:3: Error: 'Foo' is already declared in this scope.
-//   Foo()./ : super() {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:3: Context: Previous declaration of 'Foo'.
-//   Foo() / : super() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected a class member, but got '.'.
-//   Foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: The name of a constructor must match the name of the enclosing class.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator '/' should have exactly one parameter.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: 'Foo./' is already declared in this scope.
-//   Foo()./ : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Context: Previous declaration of 'Foo./'.
-//   Foo() / : super() {
-//         ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Expected '{' before this.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: The name of a constructor must match the name of the enclosing class.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator '/' should have exactly one parameter.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: 'Foo./' is already declared in this scope.
-//   foo() / : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Context: Previous declaration of 'Foo./'.
-//   Foo()./ : super() {
-//         ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected '{' before this.
-//   foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:3: Error: 'foo' is already declared in this scope.
-//   foo()./ : super() {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:3: Context: Previous declaration of 'foo'.
-//   foo() / : super() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected a class member, but got '.'.
-//   foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: The name of a constructor must match the name of the enclosing class.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator '/' should have exactly one parameter.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: 'Foo./' is already declared in this scope.
-//   foo()./ : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Context: Previous declaration of 'Foo./'.
-//   foo() / : super() {
-//         ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : super core::Object::•() {}
-  constructor /() → self::Foo*
-    : super core::Object::•() {}
-  method foo() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.strong.transformed.expect
deleted file mode 100644
index 4e82ee5..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,155 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Expected '{' before this.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: The name of a constructor must match the name of the enclosing class.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator '/' should have exactly one parameter.
-//   Foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected '{' before this.
-//   Foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:3: Error: 'Foo' is already declared in this scope.
-//   Foo()./ : super() {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:3: Context: Previous declaration of 'Foo'.
-//   Foo() / : super() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected a class member, but got '.'.
-//   Foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: The name of a constructor must match the name of the enclosing class.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator '/' should have exactly one parameter.
-//   Foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: 'Foo./' is already declared in this scope.
-//   Foo()./ : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Context: Previous declaration of 'Foo./'.
-//   Foo() / : super() {
-//         ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Expected '{' before this.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: The name of a constructor must match the name of the enclosing class.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator '/' should have exactly one parameter.
-//   foo() / : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: 'Foo./' is already declared in this scope.
-//   foo() / : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Context: Previous declaration of 'Foo./'.
-//   Foo()./ : super() {
-//         ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected '{' before this.
-//   foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:3: Error: 'foo' is already declared in this scope.
-//   foo()./ : super() {
-//   ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:3: Context: Previous declaration of 'foo'.
-//   foo() / : super() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected a class member, but got '.'.
-//   foo()./ : super() {
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: The name of a constructor must match the name of the enclosing class.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator '/' should have exactly one parameter.
-//   foo()./ : super() {
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: 'Foo./' is already declared in this scope.
-//   foo()./ : super() {
-//         ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Context: Previous declaration of 'Foo./'.
-//   foo() / : super() {
-//         ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : super core::Object::•() {}
-  constructor /() → self::Foo*
-    : super core::Object::•() {}
-  method foo() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.expect
new file mode 100644
index 0000000..7267317
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.expect
@@ -0,0 +1,145 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Expected '{' before this.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: The name of a constructor must match the name of the enclosing class.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator '/' should have exactly one parameter.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected '{' before this.
+//   Foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:3: Error: 'Foo' is already declared in this scope.
+//   Foo()./ : super() {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:3: Context: Previous declaration of 'Foo'.
+//   Foo() / : super() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected a class member, but got '.'.
+//   Foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: The name of a constructor must match the name of the enclosing class.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator '/' should have exactly one parameter.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: 'Foo./' is already declared in this scope.
+//   Foo()./ : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Context: Previous declaration of 'Foo./'.
+//   Foo() / : super() {
+//         ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Expected '{' before this.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: The name of a constructor must match the name of the enclosing class.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator '/' should have exactly one parameter.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: 'Foo./' is already declared in this scope.
+//   foo() / : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Context: Previous declaration of 'Foo./'.
+//   Foo()./ : super() {
+//         ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected '{' before this.
+//   foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:3: Error: 'foo' is already declared in this scope.
+//   foo()./ : super() {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:3: Context: Previous declaration of 'foo'.
+//   foo() / : super() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected a class member, but got '.'.
+//   foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: The name of a constructor must match the name of the enclosing class.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator '/' should have exactly one parameter.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: 'Foo./' is already declared in this scope.
+//   foo()./ : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Context: Previous declaration of 'Foo./'.
+//   foo() / : super() {
+//         ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo
+    : super core::Object::•() {}
+  constructor /() → self::Foo
+    : super core::Object::•() {}
+  method foo() → dynamic {}
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..a8cbe59
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.outline.expect
@@ -0,0 +1,146 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Expected '{' before this.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: The name of a constructor must match the name of the enclosing class.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator '/' should have exactly one parameter.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected '{' before this.
+//   Foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:3: Error: 'Foo' is already declared in this scope.
+//   Foo()./ : super() {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:3: Context: Previous declaration of 'Foo'.
+//   Foo() / : super() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected a class member, but got '.'.
+//   Foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: The name of a constructor must match the name of the enclosing class.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator '/' should have exactly one parameter.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: 'Foo./' is already declared in this scope.
+//   Foo()./ : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Context: Previous declaration of 'Foo./'.
+//   Foo() / : super() {
+//         ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Expected '{' before this.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: The name of a constructor must match the name of the enclosing class.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator '/' should have exactly one parameter.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: 'Foo./' is already declared in this scope.
+//   foo() / : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Context: Previous declaration of 'Foo./'.
+//   Foo()./ : super() {
+//         ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected '{' before this.
+//   foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:3: Error: 'foo' is already declared in this scope.
+//   foo()./ : super() {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:3: Context: Previous declaration of 'foo'.
+//   foo() / : super() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected a class member, but got '.'.
+//   foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: The name of a constructor must match the name of the enclosing class.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator '/' should have exactly one parameter.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: 'Foo./' is already declared in this scope.
+//   foo()./ : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Context: Previous declaration of 'Foo./'.
+//   foo() / : super() {
+//         ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo
+    ;
+  constructor /() → self::Foo
+    ;
+  method foo() → dynamic
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..7267317
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart.weak.transformed.expect
@@ -0,0 +1,145 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Expected '{' before this.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: The name of a constructor must match the name of the enclosing class.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Error: Operator '/' should have exactly one parameter.
+//   Foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected '{' before this.
+//   Foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:3: Error: 'Foo' is already declared in this scope.
+//   Foo()./ : super() {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:3: Context: Previous declaration of 'Foo'.
+//   Foo() / : super() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:8: Error: Expected a class member, but got '.'.
+//   Foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: The name of a constructor must match the name of the enclosing class.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: Operator '/' should have exactly one parameter.
+//   Foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Error: 'Foo./' is already declared in this scope.
+//   Foo()./ : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:2:9: Context: Previous declaration of 'Foo./'.
+//   Foo() / : super() {
+//         ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Expected '{' before this.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: The name of a constructor must match the name of the enclosing class.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: Operator '/' should have exactly one parameter.
+//   foo() / : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Error: 'Foo./' is already declared in this scope.
+//   foo() / : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:5:9: Context: Previous declaration of 'Foo./'.
+//   Foo()./ : super() {
+//         ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected '{' before this.
+//   foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:3: Error: 'foo' is already declared in this scope.
+//   foo()./ : super() {
+//   ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:3: Context: Previous declaration of 'foo'.
+//   foo() / : super() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:8: Error: Expected a class member, but got '.'.
+//   foo()./ : super() {
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: The name of a constructor must match the name of the enclosing class.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: Operator '/' should have exactly one parameter.
+//   foo()./ : super() {
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:11:9: Error: 'Foo./' is already declared in this scope.
+//   foo()./ : super() {
+//         ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_operator.crash_dart:8:9: Context: Previous declaration of 'Foo./'.
+//   foo() / : super() {
+//         ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo
+    : super core::Object::•() {}
+  constructor /() → self::Foo
+    : super core::Object::•() {}
+  method foo() → dynamic {}
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart
index fd9a67c..404a33d 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 class Foo {
   void Foo() {
     // Not OK.
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.outline.expect
deleted file mode 100644
index b136907..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.outline.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:8: Error: 'Foo' is already declared in this scope.
-//   void Foo() : initializer = true {
-//        ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:8: Context: Previous declaration of 'Foo'.
-//   void Foo() {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo.x() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo.x() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:8: Error: 'Foo.x' is already declared in this scope.
-//   void Foo.x() : initializer = true {
-//        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:8: Context: Previous declaration of 'Foo.x'.
-//   void Foo.x() {
-//        ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    ;
-  constructor x() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.strong.expect
deleted file mode 100644
index 8a84ac4..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.strong.expect
+++ /dev/null
@@ -1,65 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:8: Error: 'Foo' is already declared in this scope.
-//   void Foo() : initializer = true {
-//        ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:8: Context: Previous declaration of 'Foo'.
-//   void Foo() {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo.x() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo.x() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:8: Error: 'Foo.x' is already declared in this scope.
-//   void Foo.x() : initializer = true {
-//        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:8: Context: Previous declaration of 'Foo.x'.
-//   void Foo.x() {
-//        ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:16: Error: 'initializer' isn't an instance field of this class.
-//   void Foo() : initializer = true {
-//                ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:18: Error: 'initializer' isn't an instance field of this class.
-//   void Foo.x() : initializer = true {
-//                  ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : super core::Object::•() {}
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.strong.transformed.expect
deleted file mode 100644
index 8a84ac4..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.strong.transformed.expect
+++ /dev/null
@@ -1,65 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:8: Error: 'Foo' is already declared in this scope.
-//   void Foo() : initializer = true {
-//        ^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:2:8: Context: Previous declaration of 'Foo'.
-//   void Foo() {
-//        ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo.x() {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:3: Error: Constructors can't have a return type.
-// Try removing the return type.
-//   void Foo.x() : initializer = true {
-//   ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:8: Error: 'Foo.x' is already declared in this scope.
-//   void Foo.x() : initializer = true {
-//        ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:8:8: Context: Previous declaration of 'Foo.x'.
-//   void Foo.x() {
-//        ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:5:16: Error: 'initializer' isn't an instance field of this class.
-//   void Foo() : initializer = true {
-//                ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:11:18: Error: 'initializer' isn't an instance field of this class.
-//   void Foo.x() : initializer = true {
-//                  ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : super core::Object::•() {}
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.textual_outline.expect
index 694a36de..915667b 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   void Foo() {}
   void Foo() : initializer = true {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.expect
new file mode 100644
index 0000000..b038f45e2
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.expect
@@ -0,0 +1,65 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:8: Error: 'Foo' is already declared in this scope.
+//   void Foo() : initializer = true {
+//        ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:8: Context: Previous declaration of 'Foo'.
+//   void Foo() {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo.x() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo.x() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:8: Error: 'Foo.x' is already declared in this scope.
+//   void Foo.x() : initializer = true {
+//        ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:8: Context: Previous declaration of 'Foo.x'.
+//   void Foo.x() {
+//        ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:16: Error: 'initializer' isn't an instance field of this class.
+//   void Foo() : initializer = true {
+//                ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:18: Error: 'initializer' isn't an instance field of this class.
+//   void Foo.x() : initializer = true {
+//                  ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    : super core::Object::•() {}
+  constructor x() → self::Foo*
+    : super core::Object::•() {}
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.outline.expect
new file mode 100644
index 0000000..ccf5064
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.outline.expect
@@ -0,0 +1,57 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:8: Error: 'Foo' is already declared in this scope.
+//   void Foo() : initializer = true {
+//        ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:8: Context: Previous declaration of 'Foo'.
+//   void Foo() {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo.x() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo.x() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:8: Error: 'Foo.x' is already declared in this scope.
+//   void Foo.x() : initializer = true {
+//        ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:8: Context: Previous declaration of 'Foo.x'.
+//   void Foo.x() {
+//        ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    ;
+  constructor x() → self::Foo*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.transformed.expect
new file mode 100644
index 0000000..b038f45e2
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart.weak.transformed.expect
@@ -0,0 +1,65 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:8: Error: 'Foo' is already declared in this scope.
+//   void Foo() : initializer = true {
+//        ^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:3:8: Context: Previous declaration of 'Foo'.
+//   void Foo() {
+//        ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo.x() {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:3: Error: Constructors can't have a return type.
+// Try removing the return type.
+//   void Foo.x() : initializer = true {
+//   ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:8: Error: 'Foo.x' is already declared in this scope.
+//   void Foo.x() : initializer = true {
+//        ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:9:8: Context: Previous declaration of 'Foo.x'.
+//   void Foo.x() {
+//        ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:6:16: Error: 'initializer' isn't an instance field of this class.
+//   void Foo() : initializer = true {
+//                ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_return_type.dart:12:18: Error: 'initializer' isn't an instance field of this class.
+//   void Foo.x() : initializer = true {
+//                  ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    : super core::Object::•() {}
+  constructor x() → self::Foo*
+    : super core::Object::•() {}
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart
index 6f5b73e..9ca2f40 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 class Foo {
   set Foo() {
     // Not OK.
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.outline.expect
deleted file mode 100644
index 991df8b..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.outline.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:7: Error: 'Foo.x' is already declared in this scope.
-//   set Foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:7: Context: Previous declaration of 'Foo.x'.
-//   set Foo.x() {
-//       ^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    ;
-  constructor x() → self::Foo*
-    ;
-  set Foo(dynamic #synthetic) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.strong.expect
deleted file mode 100644
index 5073dd1..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.strong.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:7: Error: 'Foo.x' is already declared in this scope.
-//   set Foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:7: Context: Previous declaration of 'Foo.x'.
-//   set Foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
-//   set Foo() {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
-//   set Foo() : initializer = true {
-//               ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:17: Error: 'initializer' isn't an instance field of this class.
-//   set Foo.x() : initializer = true {
-//                 ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
-  set Foo() : initializer = true {
-              ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  set Foo(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
-  set Foo() {
-         ^";
-    {}
-  }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.strong.transformed.expect
deleted file mode 100644
index 5073dd1..0000000
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.strong.transformed.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:7: Error: A class member can't have the same name as the enclosing class.
-// Try renaming the member.
-//   set Foo() {
-//       ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.x() {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:3: Error: Constructors can't be a setter.
-// Try removing 'set'.
-//   set Foo.x() : initializer = true {
-//   ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:7: Error: 'Foo.x' is already declared in this scope.
-//   set Foo.x() : initializer = true {
-//       ^^^^^
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:8:7: Context: Previous declaration of 'Foo.x'.
-//   set Foo.x() {
-//       ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
-//   set Foo() {
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
-//   set Foo() : initializer = true {
-//               ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:11:17: Error: 'initializer' isn't an instance field of this class.
-//   set Foo.x() : initializer = true {
-//                 ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  constructor •() → self::Foo*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:5:15: Error: 'initializer' isn't an instance field of this class.
-  set Foo() : initializer = true {
-              ^^^^^^^^^^^" {}
-  constructor x() → self::Foo*
-    : super core::Object::•() {}
-  set Foo(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:2:10: Error: A setter should have exactly one formal parameter.
-  set Foo() {
-         ^";
-    {}
-  }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.textual_outline.expect
index 2548477..6ded932 100644
--- a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   set Foo() {}
   set Foo() : initializer = true {}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.expect
new file mode 100644
index 0000000..b3eba22
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.expect
@@ -0,0 +1,70 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+//   set Foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:7: Context: Previous declaration of 'Foo.x'.
+//   set Foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+//   set Foo() {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+//   set Foo() : initializer = true {
+//               ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+//   set Foo.x() : initializer = true {
+//                 ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  set Foo() : initializer = true {
+              ^^^^^^^^^^^" {}
+  constructor x() → self::Foo*
+    : super core::Object::•() {}
+  set Foo(dynamic #synthetic) → void {
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+  set Foo() {
+         ^";
+    {}
+  }
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.outline.expect
new file mode 100644
index 0000000..d80e16c
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.outline.expect
@@ -0,0 +1,52 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+//   set Foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:7: Context: Previous declaration of 'Foo.x'.
+//   set Foo.x() {
+//       ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    ;
+  constructor x() → self::Foo*
+    ;
+  set Foo(dynamic #synthetic) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.transformed.expect
new file mode 100644
index 0000000..b3eba22
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart.weak.transformed.expect
@@ -0,0 +1,70 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:7: Error: A class member can't have the same name as the enclosing class.
+// Try renaming the member.
+//   set Foo() {
+//       ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.x() {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:3: Error: Constructors can't be a setter.
+// Try removing 'set'.
+//   set Foo.x() : initializer = true {
+//   ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:7: Error: 'Foo.x' is already declared in this scope.
+//   set Foo.x() : initializer = true {
+//       ^^^^^
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:9:7: Context: Previous declaration of 'Foo.x'.
+//   set Foo.x() {
+//       ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+//   set Foo() {
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+//   set Foo() : initializer = true {
+//               ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:12:17: Error: 'initializer' isn't an instance field of this class.
+//   set Foo.x() : initializer = true {
+//                 ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  constructor •() → self::Foo*
+    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:6:15: Error: 'initializer' isn't an instance field of this class.
+  set Foo() : initializer = true {
+              ^^^^^^^^^^^" {}
+  constructor x() → self::Foo*
+    : super core::Object::•() {}
+  set Foo(dynamic #synthetic) → void {
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/constructor_recovery_set.dart:3:10: Error: A setter should have exactly one formal parameter.
+  set Foo() {
+         ^";
+    {}
+  }
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart
index 19771e9..b292be3 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 main() async {
   await for () {}
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.strong.expect
deleted file mode 100644
index 77d5da5..0000000
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.strong.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected an identifier, but got ')'.
-// Try inserting an identifier before ')'.
-//   await for () {}
-//              ^
-//
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected 'in' before this.
-//   await for () {}
-//              ^
-//
-import self as self;
-import "dart:async" as asy;
-
-static method main() → dynamic async {
-  await for (final dynamic #t1 in invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
-  await for () {}
-             ^" as{TypeError,ForDynamic} asy::Stream<dynamic>*) {
-    invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
-  await for () {}
-             ^";
-  }
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.strong.transformed.expect
deleted file mode 100644
index 8ab3f4c..0000000
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.strong.transformed.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected an identifier, but got ')'.
-// Try inserting an identifier before ')'.
-//   await for () {}
-//              ^
-//
-// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: Expected 'in' before this.
-//   await for () {}
-//              ^
-//
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-import "dart:_internal" as _in;
-
-static method main() → dynamic /* originally async */ {
-  final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
-  core::bool* :is_sync = false;
-  FutureOr<dynamic>* :return_value;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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:
-      {
-        {
-          asy::Stream<dynamic>* :stream = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
-  await for () {}
-             ^";
-          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(_in::unsafeCast<core::bool>(:result)) {
-                final dynamic #t3 = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:2:14: Error: This couldn't be parsed.
-  await for () {}
-             ^";
-                }
-              }
-              else
-                break #L2;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
-      asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
-    }
-  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
-  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
-  :async_op.call();
-  :is_sync = true;
-  return :async_future;
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline.expect
index 386f405..ff8d120 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline_modelled.expect
index 386f405..ff8d120 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.expect
new file mode 100644
index 0000000..0c8c749
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.expect
@@ -0,0 +1,25 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected an identifier, but got ')'.
+// Try inserting an identifier before ')'.
+//   await for () {}
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected 'in' before this.
+//   await for () {}
+//              ^
+//
+import self as self;
+import "dart:async" as asy;
+
+static method main() → dynamic async {
+  await for (final dynamic #t1 in invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+  await for () {}
+             ^" as{TypeError,ForDynamic} asy::Stream<dynamic>*) {
+    invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+  await for () {}
+             ^";
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.outline.expect
rename to pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
new file mode 100644
index 0000000..ab1141b
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/empty_await_for.dart.weak.transformed.expect
@@ -0,0 +1,74 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected an identifier, but got ')'.
+// Try inserting an identifier before ')'.
+//   await for () {}
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: Expected 'in' before this.
+//   await for () {}
+//              ^
+//
+import self as self;
+import "dart:async" as asy;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+static method main() → dynamic /* originally async */ {
+  final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
+  core::bool* :is_sync = false;
+  FutureOr<dynamic>* :return_value;
+  (dynamic) →* dynamic :async_op_then;
+  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
+  core::int* :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:
+      {
+        {
+          asy::Stream<dynamic>* :stream = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+  await for () {}
+             ^";
+          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(_in::unsafeCast<core::bool>(:result)) {
+                final dynamic #t3 = :for-iterator.{asy::_StreamIterator::current};
+                {
+                  invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_await_for.dart:3:14: Error: This couldn't be parsed.
+  await for () {}
+             ^";
+                }
+              }
+              else
+                break #L2;
+            }
+          finally
+            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
+              [yield] let dynamic #t4 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
+              :result;
+            }
+        }
+      }
+      asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
+      return;
+    }
+    on dynamic catch(dynamic exception, core::StackTrace* stack_trace) {
+      asy::_completeOnAsyncError(:async_future, exception, stack_trace, :is_sync);
+    }
+  :async_op_then = asy::_asyncThenWrapperHelper(:async_op);
+  :async_op_error = asy::_asyncErrorWrapperHelper(:async_op);
+  :async_op.call();
+  :is_sync = true;
+  return :async_future;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart b/pkg/front_end/testcases/general/error_recovery/empty_for.dart
index 3c33ee5..63f5b79 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 main() {
   for () {}
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.strong.expect
deleted file mode 100644
index fa8d15f..0000000
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.strong.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: Expected an identifier, but got ')'.
-// Try inserting an identifier before ')'.
-//   for () {}
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: Expected ';' after this.
-//   for () {}
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  for (final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
-  for () {}
-       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
-  for () {}
-       ^" as{TypeError,ForDynamic} core::bool*; ) {
-  }
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.strong.transformed.expect
deleted file mode 100644
index 9344b10..0000000
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.strong.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: Expected an identifier, but got ')'.
-// Try inserting an identifier before ')'.
-//   for () {}
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: Expected ';' after this.
-//   for () {}
-//        ^
-//
-import self as self;
-
-static method main() → dynamic {
-  for (final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
-  for () {}
-       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:2:8: Error: This couldn't be parsed.
-  for () {}
-       ^"; ) {
-  }
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.expect
new file mode 100644
index 0000000..d2e6031
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.expect
@@ -0,0 +1,24 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: Expected an identifier, but got ')'.
+// Try inserting an identifier before ')'.
+//   for () {}
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: Expected ';' after this.
+//   for () {}
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method main() → dynamic {
+  for (final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+  for () {}
+       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+  for () {}
+       ^" as{TypeError,ForDynamic} core::bool*; ) {
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/empty_for.dart.outline.expect
rename to pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.transformed.expect
new file mode 100644
index 0000000..e4b1c32
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/empty_for.dart.weak.transformed.expect
@@ -0,0 +1,23 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: Expected an identifier, but got ')'.
+// Try inserting an identifier before ')'.
+//   for () {}
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: Expected ';' after this.
+//   for () {}
+//        ^
+//
+import self as self;
+
+static method main() → dynamic {
+  for (final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+  for () {}
+       ^"; invalid-expression "pkg/front_end/testcases/general/error_recovery/empty_for.dart:3:8: Error: This couldn't be parsed.
+  for () {}
+       ^"; ) {
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart
index 41b92d1..0e1486c 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 main() {
   for(int i : [1, 2, 3]) {
     print(i);
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.strong.expect
rename to pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/error_recovery/empty_for.dart.outline.expect
copy to pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_recovery/for_in_with_colon.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart
index c1b9282..3aabb26 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart
@@ -1,5 +1,5 @@
 class A { }
-
+// @dart=2.9
 class B { }
 
 class Foo extends A, B {
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.outline.expect
deleted file mode 100644
index b12ec86..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.outline.expect
+++ /dev/null
@@ -1,92 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:5:20: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Foo extends A, B {
-//                    ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:11: Error: Expected 'extends' instead of this.
-// class Bar extend A, B {
-//           ^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:19: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Bar extend A, B {
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:11: Error: Expected 'extends' instead of this.
-// class Baz on A, B {
-//           ^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:15: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Baz on A, B {
-//               ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Foo extends self::A {
-  constructor •() → self::Foo*
-    ;
-}
-class Bar extends core::Object {
-  constructor •() → self::Bar*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Baz extends core::Object {
-  constructor •() → self::Baz*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.strong.expect
deleted file mode 100644
index aa04414..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.strong.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:5:20: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Foo extends A, B {
-//                    ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:11: Error: Expected 'extends' instead of this.
-// class Bar extend A, B {
-//           ^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:19: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Bar extend A, B {
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:11: Error: Expected 'extends' instead of this.
-// class Baz on A, B {
-//           ^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:15: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Baz on A, B {
-//               ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Foo extends self::A {
-  constructor •() → self::Foo*
-    : super self::A::•() {}
-}
-class Bar extends core::Object {
-  constructor •() → self::Bar*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Baz extends core::Object {
-  constructor •() → self::Baz*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.strong.transformed.expect
deleted file mode 100644
index aa04414..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.strong.transformed.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:5:20: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Foo extends A, B {
-//                    ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:11: Error: Expected 'extends' instead of this.
-// class Bar extend A, B {
-//           ^^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:19: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Bar extend A, B {
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:11: Error: Expected 'extends' instead of this.
-// class Baz on A, B {
-//           ^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:15: Error: Each class definition can have at most one extends clause.
-// Try choosing one superclass and define your class to implement (or mix in) the others.
-// class Baz on A, B {
-//               ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Foo extends self::A {
-  constructor •() → self::Foo*
-    : super self::A::•() {}
-}
-class Bar extends core::Object {
-  constructor •() → self::Bar*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Baz extends core::Object {
-  constructor •() → self::Baz*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.expect
new file mode 100644
index 0000000..4a09d61
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.expect
@@ -0,0 +1,53 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:5:20: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Foo extends A, B {
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:11: Error: Expected 'extends' instead of this.
+// class Bar extend A, B {
+//           ^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:19: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Bar extend A, B {
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:11: Error: Expected 'extends' instead of this.
+// class Baz on A, B {
+//           ^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:15: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Baz on 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 Foo extends self::A {
+  constructor •() → self::Foo
+    : super self::A::•() {}
+}
+class Bar extends core::Object {
+  constructor •() → self::Bar
+    : super core::Object::•() {}
+}
+class Baz extends core::Object {
+  constructor •() → self::Baz
+    : super core::Object::•() {}
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.outline.expect
new file mode 100644
index 0000000..a3edf73
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.outline.expect
@@ -0,0 +1,52 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:5:20: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Foo extends A, B {
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:11: Error: Expected 'extends' instead of this.
+// class Bar extend A, B {
+//           ^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:19: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Bar extend A, B {
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:11: Error: Expected 'extends' instead of this.
+// class Baz on A, B {
+//           ^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:15: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Baz on A, B {
+//               ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A
+    ;
+}
+class B extends core::Object {
+  synthetic constructor •() → self::B
+    ;
+}
+class Foo extends self::A {
+  constructor •() → self::Foo
+    ;
+}
+class Bar extends core::Object {
+  constructor •() → self::Bar
+    ;
+}
+class Baz extends core::Object {
+  constructor •() → self::Baz
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.transformed.expect
new file mode 100644
index 0000000..4a09d61
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_22313.dart.weak.transformed.expect
@@ -0,0 +1,53 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:5:20: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Foo extends A, B {
+//                    ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:11: Error: Expected 'extends' instead of this.
+// class Bar extend A, B {
+//           ^^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:9:19: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Bar extend A, B {
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:11: Error: Expected 'extends' instead of this.
+// class Baz on A, B {
+//           ^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_22313.dart:13:15: Error: Each class definition can have at most one extends clause.
+// Try choosing one superclass and define your class to implement (or mix in) the others.
+// class Baz on 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 Foo extends self::A {
+  constructor •() → self::Foo
+    : super self::A::•() {}
+}
+class Bar extends core::Object {
+  constructor •() → self::Bar
+    : super core::Object::•() {}
+}
+class Baz extends core::Object {
+  constructor •() → self::Baz
+    : super core::Object::•() {}
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart
index ed07e7e..3946f39 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class Key {
   int get a => runtimeType.hashCode xor null.hashCode;
   int get b => runtimeType.hashCode ^ null.hashCode;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline.expect
index 7cc788c..e659d27 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Key {
   int get a => runtimeType.hashCode ^ null.hashCode;
   int get b => runtimeType.hashCode ^ null.hashCode;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline_modelled.expect
index 25de27c7..1d34e89 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Key {
   Key(int x, int y)
       : foo = x ^ y,
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/issue_26810.dart.strong.expect
rename to pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/issue_26810.dart.outline.expect
rename to pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/error_recovery/issue_26810.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/error_recovery/issue_26810.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.outline.expect
deleted file mode 100644
index 2aafef5..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:12: Error: Can't find ')' to match '('.
-// f() { m(T<R(<Z
-//            ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:10: Error: Can't find '>' to match '<'.
-// f() { m(T<R(<Z
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:8: Error: Can't find ')' to match '('.
-// f() { m(T<R(<Z
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:5: Error: Can't find '}' to match '{'.
-// f() { m(T<R(<Z
-//     ^
-//
-import self as self;
-
-static method f() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.strong.expect
deleted file mode 100644
index 3b6f734..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.strong.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:12: Error: Can't find ')' to match '('.
-// f() { m(T<R(<Z
-//            ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:10: Error: Can't find '>' to match '<'.
-// f() { m(T<R(<Z
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:8: Error: Can't find ')' to match '('.
-// f() { m(T<R(<Z
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:5: Error: Can't find '}' to match '{'.
-// f() { m(T<R(<Z
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:14: Error: 'Z' isn't a type.
-// f() { m(T<R(<Z
-//              ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected '[' before this.
-// f() { m(T<R(<Z
-//               ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:11: Error: Method not found: 'R'.
-// f() { m(T<R(<Z
-//           ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:9: Error: Getter not found: 'T'.
-// f() { m(T<R(<Z
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:7: Error: Method not found: 'm'.
-// f() { m(T<R(<Z
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected ';' after this.
-// f() { m(T<R(<Z
-//               ^...
-//
-import self as self;
-
-static method f() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:7: Error: Method not found: 'm'.
-f() { m(T<R(<Z
-      ^";
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.strong.transformed.expect
deleted file mode 100644
index 3b6f734..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:12: Error: Can't find ')' to match '('.
-// f() { m(T<R(<Z
-//            ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:10: Error: Can't find '>' to match '<'.
-// f() { m(T<R(<Z
-//          ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:8: Error: Can't find ')' to match '('.
-// f() { m(T<R(<Z
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:5: Error: Can't find '}' to match '{'.
-// f() { m(T<R(<Z
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:14: Error: 'Z' isn't a type.
-// f() { m(T<R(<Z
-//              ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected '[' before this.
-// f() { m(T<R(<Z
-//               ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:11: Error: Method not found: 'R'.
-// f() { m(T<R(<Z
-//           ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:9: Error: Getter not found: 'T'.
-// f() { m(T<R(<Z
-//         ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:7: Error: Method not found: 'm'.
-// f() { m(T<R(<Z
-//       ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected ';' after this.
-// f() { m(T<R(<Z
-//               ^...
-//
-import self as self;
-
-static method f() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:7: Error: Method not found: 'm'.
-f() { m(T<R(<Z
-      ^";
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.expect
new file mode 100644
index 0000000..090d771
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.expect
@@ -0,0 +1,51 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:12: Error: Can't find ')' to match '('.
+// f() { m(T<R(<Z
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:10: Error: Can't find '>' to match '<'.
+// f() { m(T<R(<Z
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:8: Error: Can't find ')' to match '('.
+// f() { m(T<R(<Z
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:5: Error: Can't find '}' to match '{'.
+// f() { m(T<R(<Z
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:14: Error: 'Z' isn't a type.
+// f() { m(T<R(<Z
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected '[' before this.
+// f() { m(T<R(<Z
+//               ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:11: Error: Method not found: 'R'.
+// f() { m(T<R(<Z
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:9: Error: Getter not found: 'T'.
+// f() { m(T<R(<Z
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:7: Error: Method not found: 'm'.
+// f() { m(T<R(<Z
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected ';' after this.
+// f() { m(T<R(<Z
+//               ^...
+//
+import self as self;
+
+static method f() → dynamic {
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:7: Error: Method not found: 'm'.
+f() { m(T<R(<Z
+      ^";
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..e91fd9d
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.outline.expect
@@ -0,0 +1,24 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:12: Error: Can't find ')' to match '('.
+// f() { m(T<R(<Z
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:10: Error: Can't find '>' to match '<'.
+// f() { m(T<R(<Z
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:8: Error: Can't find ')' to match '('.
+// f() { m(T<R(<Z
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:5: Error: Can't find '}' to match '{'.
+// f() { m(T<R(<Z
+//     ^
+//
+import self as self;
+
+static method f() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..090d771
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart.weak.transformed.expect
@@ -0,0 +1,51 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:12: Error: Can't find ')' to match '('.
+// f() { m(T<R(<Z
+//            ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:10: Error: Can't find '>' to match '<'.
+// f() { m(T<R(<Z
+//          ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:8: Error: Can't find ')' to match '('.
+// f() { m(T<R(<Z
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:5: Error: Can't find '}' to match '{'.
+// f() { m(T<R(<Z
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:14: Error: 'Z' isn't a type.
+// f() { m(T<R(<Z
+//              ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected '[' before this.
+// f() { m(T<R(<Z
+//               ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:11: Error: Method not found: 'R'.
+// f() { m(T<R(<Z
+//           ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:9: Error: Getter not found: 'T'.
+// f() { m(T<R(<Z
+//         ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:7: Error: Method not found: 'm'.
+// f() { m(T<R(<Z
+//       ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:15: Error: Expected ';' after this.
+// f() { m(T<R(<Z
+//               ^...
+//
+import self as self;
+
+static method f() → dynamic {
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_38415.crash_dart:1:7: Error: Method not found: 'm'.
+f() { m(T<R(<Z
+      ^";
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.outline.expect
deleted file mode 100644
index 6fb6069..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.outline.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:6: Error: Can't find ')' to match '('.
-// n<S e(
-//      ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:2: Error: Can't find '>' to match '<'.
-// n<S e(
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Expected '>' after this.
-// n<S e(
-//   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected an identifier, but got ''.
-// Try inserting an identifier before ''.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected '{' before this.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Type 'S' not found.
-// n<S e(
-//   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Type 'n' not found.
-// n<S e(
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Expected 0 type arguments.
-// n<S e(
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.strong.expect
deleted file mode 100644
index 6fb6069..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.strong.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:6: Error: Can't find ')' to match '('.
-// n<S e(
-//      ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:2: Error: Can't find '>' to match '<'.
-// n<S e(
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Expected '>' after this.
-// n<S e(
-//   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected an identifier, but got ''.
-// Try inserting an identifier before ''.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected '{' before this.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Type 'S' not found.
-// n<S e(
-//   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Type 'n' not found.
-// n<S e(
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Expected 0 type arguments.
-// n<S e(
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.strong.transformed.expect
deleted file mode 100644
index 6fb6069..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:6: Error: Can't find ')' to match '('.
-// n<S e(
-//      ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:2: Error: Can't find '>' to match '<'.
-// n<S e(
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Expected '>' after this.
-// n<S e(
-//   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected an identifier, but got ''.
-// Try inserting an identifier before ''.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected '{' before this.
-// n<S e(
-//       ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Type 'S' not found.
-// n<S e(
-//   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Type 'n' not found.
-// n<S e(
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Expected 0 type arguments.
-// n<S e(
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.expect
new file mode 100644
index 0000000..679fe85
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.expect
@@ -0,0 +1,43 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:6: Error: Can't find ')' to match '('.
+// n<S e(
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:2: Error: Can't find '>' to match '<'.
+// n<S e(
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Expected '>' after this.
+// n<S e(
+//   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected an identifier, but got ''.
+// Try inserting an identifier before ''.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected '{' before this.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Type 'S' not found.
+// n<S e(
+//   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Type 'n' not found.
+// n<S e(
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Expected 0 type arguments.
+// n<S e(
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..679fe85
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.outline.expect
@@ -0,0 +1,43 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:6: Error: Can't find ')' to match '('.
+// n<S e(
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:2: Error: Can't find '>' to match '<'.
+// n<S e(
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Expected '>' after this.
+// n<S e(
+//   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected an identifier, but got ''.
+// Try inserting an identifier before ''.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected '{' before this.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Type 'S' not found.
+// n<S e(
+//   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Type 'n' not found.
+// n<S e(
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Expected 0 type arguments.
+// n<S e(
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..679fe85
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart.weak.transformed.expect
@@ -0,0 +1,43 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:6: Error: Can't find ')' to match '('.
+// n<S e(
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:2: Error: Can't find '>' to match '<'.
+// n<S e(
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Expected '>' after this.
+// n<S e(
+//   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected an identifier, but got ''.
+// Try inserting an identifier before ''.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:7: Error: Expected '{' before this.
+// n<S e(
+//       ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:3: Error: Type 'S' not found.
+// n<S e(
+//   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Type 'n' not found.
+// n<S e(
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39024.crash_dart:1:1: Error: Expected 0 type arguments.
+// n<S e(
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.outline.expect
deleted file mode 100644
index 3eb91b4..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.outline.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator '<' should have exactly one parameter.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:5: Error: Type 'co' not found.
-//     co <{
-//     ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  operator <() → invalid-type
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.strong.expect
deleted file mode 100644
index 4ef9ee0..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.strong.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator '<' should have exactly one parameter.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:5: Error: Type 'co' not found.
-//     co <{
-//     ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator <() → invalid-type {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.strong.transformed.expect
deleted file mode 100644
index 4ef9ee0..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator '<' should have exactly one parameter.
-//     co <{
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:5: Error: Type 'co' not found.
-//     co <{
-//     ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator <() → invalid-type {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.expect
new file mode 100644
index 0000000..f710813
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.expect
@@ -0,0 +1,39 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator '<' should have exactly one parameter.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:5: Error: Type 'co' not found.
+//     co <{
+//     ^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A non-null value must be returned since the return type 'invalid-type' doesn't allow null.
+//     co <{
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A
+    : super core::Object::•()
+    ;
+  operator <() → invalid-type {
+    return let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A non-null value must be returned since the return type 'invalid-type' doesn't allow null.
+    co <{
+       ^" in null;
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..4990457
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator '<' should have exactly one parameter.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:5: Error: Type 'co' not found.
+//     co <{
+//     ^^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A
+    ;
+  operator <() → invalid-type
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..f710813
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart.weak.transformed.expect
@@ -0,0 +1,39 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: Operator '<' should have exactly one parameter.
+//     co <{
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:5: Error: Type 'co' not found.
+//     co <{
+//     ^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A non-null value must be returned since the return type 'invalid-type' doesn't allow null.
+//     co <{
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A
+    : super core::Object::•()
+    ;
+  operator <() → invalid-type {
+    return let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39026.crash_dart:2:8: Error: A non-null value must be returned since the return type 'invalid-type' doesn't allow null.
+    co <{
+       ^" in null;
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.outline.expect
deleted file mode 100644
index 109cab3..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     co operator <{
-//                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: Operator '<' should have exactly one parameter.
-//     co operator <{
-//                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:5: Error: Type 'co' not found.
-//     co operator <{
-//     ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  operator <() → invalid-type
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.strong.expect
deleted file mode 100644
index 27bbf6c..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.strong.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     co operator <{
-//                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: Operator '<' should have exactly one parameter.
-//     co operator <{
-//                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:5: Error: Type 'co' not found.
-//     co operator <{
-//     ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator <() → invalid-type {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.strong.transformed.expect
deleted file mode 100644
index 27bbf6c..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     co operator <{
-//                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: Operator '<' should have exactly one parameter.
-//     co operator <{
-//                 ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:5: Error: Type 'co' not found.
-//     co operator <{
-//     ^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator <() → invalid-type {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.expect
new file mode 100644
index 0000000..1366079
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.expect
@@ -0,0 +1,34 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     co operator <{
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: Operator '<' should have exactly one parameter.
+//     co operator <{
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:5: Error: Type 'co' not found.
+//     co operator <{
+//     ^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A non-null value must be returned since the return type 'invalid-type' doesn't allow null.
+//     co operator <{
+//                 ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A
+    : super core::Object::•()
+    ;
+  operator <() → invalid-type {
+    return let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A non-null value must be returned since the return type 'invalid-type' doesn't allow null.
+    co operator <{
+                ^" in null;
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..4cec127
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.outline.expect
@@ -0,0 +1,26 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     co operator <{
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: Operator '<' should have exactly one parameter.
+//     co operator <{
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:5: Error: Type 'co' not found.
+//     co operator <{
+//     ^^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A
+    ;
+  operator <() → invalid-type
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..1366079
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart.weak.transformed.expect
@@ -0,0 +1,34 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     co operator <{
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: Operator '<' should have exactly one parameter.
+//     co operator <{
+//                 ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:5: Error: Type 'co' not found.
+//     co operator <{
+//     ^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A non-null value must be returned since the return type 'invalid-type' doesn't allow null.
+//     co operator <{
+//                 ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A
+    : super core::Object::•()
+    ;
+  operator <() → invalid-type {
+    return let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39026_prime.crash_dart:2:17: Error: A non-null value must be returned since the return type 'invalid-type' doesn't allow null.
+    co operator <{
+                ^" in null;
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.outline.expect
deleted file mode 100644
index 97e06f2..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:11: Error: Expected '>' after this.
-// typedef F<Glib.=
-//           ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected a type, but got ''.
-// typedef F<Glib.=
-//                 ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected ';' after this.
-// typedef F<Glib.=
-//                 ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:16: Error: Can't create typedef from non-function type.
-// typedef F<Glib.=
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated Glib extends core::Object* = dynamic> = invalid-type;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.strong.expect
deleted file mode 100644
index 97e06f2..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.strong.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:11: Error: Expected '>' after this.
-// typedef F<Glib.=
-//           ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected a type, but got ''.
-// typedef F<Glib.=
-//                 ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected ';' after this.
-// typedef F<Glib.=
-//                 ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:16: Error: Can't create typedef from non-function type.
-// typedef F<Glib.=
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated Glib extends core::Object* = dynamic> = invalid-type;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.strong.transformed.expect
deleted file mode 100644
index 97e06f2..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:11: Error: Expected '>' after this.
-// typedef F<Glib.=
-//           ^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected a type, but got ''.
-// typedef F<Glib.=
-//                 ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected ';' after this.
-// typedef F<Glib.=
-//                 ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:16: Error: Can't create typedef from non-function type.
-// typedef F<Glib.=
-//                ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated Glib extends core::Object* = dynamic> = invalid-type;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.expect
new file mode 100644
index 0000000..40ebcfd
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.expect
@@ -0,0 +1,24 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:11: Error: Expected '>' after this.
+// typedef F<Glib.=
+//           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected a type, but got ''.
+// typedef F<Glib.=
+//                 ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected ';' after this.
+// typedef F<Glib.=
+//                 ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:16: Error: Can't create typedef from non-function type.
+// typedef F<Glib.=
+//                ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef F<unrelated Glib extends core::Object? = dynamic> = invalid-type;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..40ebcfd
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.outline.expect
@@ -0,0 +1,24 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:11: Error: Expected '>' after this.
+// typedef F<Glib.=
+//           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected a type, but got ''.
+// typedef F<Glib.=
+//                 ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected ';' after this.
+// typedef F<Glib.=
+//                 ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:16: Error: Can't create typedef from non-function type.
+// typedef F<Glib.=
+//                ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef F<unrelated Glib extends core::Object? = dynamic> = invalid-type;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..40ebcfd
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart.weak.transformed.expect
@@ -0,0 +1,24 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:11: Error: Expected '>' after this.
+// typedef F<Glib.=
+//           ^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected a type, but got ''.
+// typedef F<Glib.=
+//                 ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:17: Error: Expected ';' after this.
+// typedef F<Glib.=
+//                 ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39033.crash_dart:1:16: Error: Can't create typedef from non-function type.
+// typedef F<Glib.=
+//                ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef F<unrelated Glib extends core::Object? = dynamic> = invalid-type;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.outline.expect
deleted file mode 100644
index 19f98e21..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.outline.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:5: Error: Can't find ')' to match '('.
-// {<[](
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:2: Error: Can't find '>' to match '<'.
-// {<[](
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Can't find '}' to match '{'.
-// {<[](
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Expected a declaration, but got '{'.
-// {<[](
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.strong.expect
deleted file mode 100644
index 19f98e21..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.strong.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:5: Error: Can't find ')' to match '('.
-// {<[](
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:2: Error: Can't find '>' to match '<'.
-// {<[](
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Can't find '}' to match '{'.
-// {<[](
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Expected a declaration, but got '{'.
-// {<[](
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.strong.transformed.expect
deleted file mode 100644
index 19f98e21..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:5: Error: Can't find ')' to match '('.
-// {<[](
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:2: Error: Can't find '>' to match '<'.
-// {<[](
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Can't find '}' to match '{'.
-// {<[](
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Expected a declaration, but got '{'.
-// {<[](
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.expect
new file mode 100644
index 0000000..d532f41
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.expect
@@ -0,0 +1,21 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:5: Error: Can't find ')' to match '('.
+// {<[](
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:2: Error: Can't find '>' to match '<'.
+// {<[](
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Can't find '}' to match '{'.
+// {<[](
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Expected a declaration, but got '{'.
+// {<[](
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..d532f41
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.outline.expect
@@ -0,0 +1,21 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:5: Error: Can't find ')' to match '('.
+// {<[](
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:2: Error: Can't find '>' to match '<'.
+// {<[](
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Can't find '}' to match '{'.
+// {<[](
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Expected a declaration, but got '{'.
+// {<[](
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..d532f41
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart.weak.transformed.expect
@@ -0,0 +1,21 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:5: Error: Can't find ')' to match '('.
+// {<[](
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:2: Error: Can't find '>' to match '<'.
+// {<[](
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Can't find '}' to match '{'.
+// {<[](
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058.crash_dart:1:1: Error: Expected a declaration, but got '{'.
+// {<[](
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.outline.expect
deleted file mode 100644
index 3866d3c..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart:1:1: Error: Expected a declaration, but got '{'.
-// {<[]()>}
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.strong.expect
deleted file mode 100644
index 3866d3c..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.strong.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart:1:1: Error: Expected a declaration, but got '{'.
-// {<[]()>}
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.strong.transformed.expect
deleted file mode 100644
index 3866d3c..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart:1:1: Error: Expected a declaration, but got '{'.
-// {<[]()>}
-// ^
-//
-import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.expect
new file mode 100644
index 0000000..ae54add
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.expect
@@ -0,0 +1,9 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart:1:1: Error: Expected a declaration, but got '{'.
+// {<[]()>}
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..ae54add
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.outline.expect
@@ -0,0 +1,9 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart:1:1: Error: Expected a declaration, but got '{'.
+// {<[]()>}
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..ae54add
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart.weak.transformed.expect
@@ -0,0 +1,9 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39058_prime.crash_dart:1:1: Error: Expected a declaration, but got '{'.
+// {<[]()>}
+// ^
+//
+import self as self;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart
index b8fb0cdb..0c2621f 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 main() {
   {s A<}>
 }
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.strong.expect
deleted file mode 100644
index 7981214..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.strong.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:4: Error: 's' isn't a type.
-//   {s A<}>
-//    ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:6: Error: Expected ';' after this.
-//   {s A<}>
-//      ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: Expected a type, but got '}'.
-//   {s A<}>
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: This couldn't be parsed.
-//   {s A<}>
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:1: Error: Expected '[' before this.
-// }
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:1: Error: Expected ';' after this.
-// }
-// ^
-//
-import self as self;
-
-static method main() → dynamic {
-  {
-    invalid-type A;
-    <invalid-type>[];
-  }
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.strong.transformed.expect
deleted file mode 100644
index 6cdea36..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:4: Error: 's' isn't a type.
-//   {s A<}>
-//    ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:6: Error: Expected ';' after this.
-//   {s A<}>
-//      ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: Expected a type, but got '}'.
-//   {s A<}>
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:2:8: Error: This couldn't be parsed.
-//   {s A<}>
-//        ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:1: Error: Expected '[' before this.
-// }
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:1: Error: Expected ';' after this.
-// }
-// ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  {
-    invalid-type A;
-    core::_GrowableList::•<invalid-type>(0);
-  }
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect
new file mode 100644
index 0000000..a49ea7c
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.expect
@@ -0,0 +1,36 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:4: Error: 's' isn't a type.
+//   {s A<}>
+//    ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:6: Error: Expected ';' after this.
+//   {s A<}>
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: Expected a type, but got '}'.
+//   {s A<}>
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: This couldn't be parsed.
+//   {s A<}>
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected '[' before this.
+// }
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected ';' after this.
+// }
+// ^
+//
+import self as self;
+
+static method main() → dynamic {
+  {
+    invalid-type A;
+    <invalid-type>[];
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/empty_for.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/error_recovery/empty_for.dart.outline.expect
copy to pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect
new file mode 100644
index 0000000..f0e2ebd
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39060.dart.weak.transformed.expect
@@ -0,0 +1,37 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:4: Error: 's' isn't a type.
+//   {s A<}>
+//    ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:6: Error: Expected ';' after this.
+//   {s A<}>
+//      ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: Expected a type, but got '}'.
+//   {s A<}>
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:3:8: Error: This couldn't be parsed.
+//   {s A<}>
+//        ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected '[' before this.
+// }
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39060.dart:4:1: Error: Expected ';' after this.
+// }
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+static method main() → dynamic {
+  {
+    invalid-type A;
+    core::_GrowableList::•<invalid-type>(0);
+  }
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.outline.expect
deleted file mode 100644
index 5264a5a..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.outline.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:1: Error: Expected a declaration, but got '('.
-// () async => a b < c $? >
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:2: Error: Expected a declaration, but got ')'.
-// () async => a b < c $? >
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:4: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// () async => a b < c $? >
-//    ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Expected '>' after this.
-// () async => a b < c $? >
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected an identifier, but got ''.
-// Try inserting an identifier before ''.
-// () async => a b < c $? >
-//                         ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected ';' after this.
-// () async => a b < c $? >
-//                         ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Type 'c' not found.
-// () async => a b < c $? >
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Type 'b' not found.
-// () async => a b < c $? >
-//               ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Expected 0 type arguments.
-// () async => a b < c $? >
-//               ^
-//
-import self as self;
-
-static method async() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.strong.expect
deleted file mode 100644
index a61de5e..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.strong.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:1: Error: Expected a declaration, but got '('.
-// () async => a b < c $? >
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:2: Error: Expected a declaration, but got ')'.
-// () async => a b < c $? >
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:4: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// () async => a b < c $? >
-//    ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Expected '>' after this.
-// () async => a b < c $? >
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected an identifier, but got ''.
-// Try inserting an identifier before ''.
-// () async => a b < c $? >
-//                         ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected ';' after this.
-// () async => a b < c $? >
-//                         ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Type 'c' not found.
-// () async => a b < c $? >
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Type 'b' not found.
-// () async => a b < c $? >
-//               ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Expected 0 type arguments.
-// () async => a b < c $? >
-//               ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Expected ';' after this.
-// () async => a b < c $? >
-//             ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
-// () async => a b < c $? >
-//             ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Unexpected token 'b'.
-// () async => a b < c $? >
-//               ^
-//
-import self as self;
-
-static method async() → dynamic
-  return invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
-() async => a b < c \$? >
-            ^";
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.strong.transformed.expect
deleted file mode 100644
index a61de5e..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:1: Error: Expected a declaration, but got '('.
-// () async => a b < c $? >
-// ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:2: Error: Expected a declaration, but got ')'.
-// () async => a b < c $? >
-//  ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:4: Error: A function declaration needs an explicit list of parameters.
-// Try adding a parameter list to the function declaration.
-// () async => a b < c $? >
-//    ^^^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Expected '>' after this.
-// () async => a b < c $? >
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected an identifier, but got ''.
-// Try inserting an identifier before ''.
-// () async => a b < c $? >
-//                         ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected ';' after this.
-// () async => a b < c $? >
-//                         ^...
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Type 'c' not found.
-// () async => a b < c $? >
-//                   ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Type 'b' not found.
-// () async => a b < c $? >
-//               ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Expected 0 type arguments.
-// () async => a b < c $? >
-//               ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Expected ';' after this.
-// () async => a b < c $? >
-//             ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
-// () async => a b < c $? >
-//             ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Unexpected token 'b'.
-// () async => a b < c $? >
-//               ^
-//
-import self as self;
-
-static method async() → dynamic
-  return invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
-() async => a b < c \$? >
-            ^";
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.expect
new file mode 100644
index 0000000..f95db15
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.expect
@@ -0,0 +1,60 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:1: Error: Expected a declaration, but got '('.
+// () async => a b < c $? >
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:2: Error: Expected a declaration, but got ')'.
+// () async => a b < c $? >
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:4: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// () async => a b < c $? >
+//    ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Expected '>' after this.
+// () async => a b < c $? >
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected an identifier, but got ''.
+// Try inserting an identifier before ''.
+// () async => a b < c $? >
+//                         ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected ';' after this.
+// () async => a b < c $? >
+//                         ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Type 'c' not found.
+// () async => a b < c $? >
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Type 'b' not found.
+// () async => a b < c $? >
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Expected 0 type arguments.
+// () async => a b < c $? >
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Expected ';' after this.
+// () async => a b < c $? >
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
+// () async => a b < c $? >
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Unexpected token 'b'.
+// () async => a b < c $? >
+//               ^
+//
+import self as self;
+
+static method async() → dynamic
+  return invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
+() async => a b < c \$? >
+            ^";
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..df89136
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.outline.expect
@@ -0,0 +1,46 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:1: Error: Expected a declaration, but got '('.
+// () async => a b < c $? >
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:2: Error: Expected a declaration, but got ')'.
+// () async => a b < c $? >
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:4: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// () async => a b < c $? >
+//    ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Expected '>' after this.
+// () async => a b < c $? >
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected an identifier, but got ''.
+// Try inserting an identifier before ''.
+// () async => a b < c $? >
+//                         ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected ';' after this.
+// () async => a b < c $? >
+//                         ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Type 'c' not found.
+// () async => a b < c $? >
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Type 'b' not found.
+// () async => a b < c $? >
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Expected 0 type arguments.
+// () async => a b < c $? >
+//               ^
+//
+import self as self;
+
+static method async() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..f95db15
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart.weak.transformed.expect
@@ -0,0 +1,60 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:1: Error: Expected a declaration, but got '('.
+// () async => a b < c $? >
+// ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:2: Error: Expected a declaration, but got ')'.
+// () async => a b < c $? >
+//  ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:4: Error: A function declaration needs an explicit list of parameters.
+// Try adding a parameter list to the function declaration.
+// () async => a b < c $? >
+//    ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Expected '>' after this.
+// () async => a b < c $? >
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected an identifier, but got ''.
+// Try inserting an identifier before ''.
+// () async => a b < c $? >
+//                         ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:25: Error: Expected ';' after this.
+// () async => a b < c $? >
+//                         ^...
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:19: Error: Type 'c' not found.
+// () async => a b < c $? >
+//                   ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Type 'b' not found.
+// () async => a b < c $? >
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Expected 0 type arguments.
+// () async => a b < c $? >
+//               ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Expected ';' after this.
+// () async => a b < c $? >
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
+// () async => a b < c $? >
+//             ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:15: Error: Unexpected token 'b'.
+// () async => a b < c $? >
+//               ^
+//
+import self as self;
+
+static method async() → dynamic
+  return invalid-expression "pkg/front_end/testcases/general/error_recovery/issue_39202.crash_dart:1:13: Error: Getter not found: 'a'.
+() async => a b < c \$? >
+            ^";
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.outline.expect
deleted file mode 100644
index 6afa6ef..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.outline.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Expected '{' before this.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: The name of a constructor must match the name of the enclosing class.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator '/' should have exactly one parameter.
-//     /
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    ;
-  constructor /() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.strong.expect
deleted file mode 100644
index 7005fc2..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.strong.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Expected '{' before this.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: The name of a constructor must match the name of the enclosing class.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator '/' should have exactly one parameter.
-//     /
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    : super core::Object::•() {}
-  constructor /() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.strong.transformed.expect
deleted file mode 100644
index 7005fc2..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Expected '{' before this.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator declarations must be preceded by the keyword 'operator'.
-// Try adding the keyword 'operator'.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: A method declaration needs an explicit list of parameters.
-// Try adding a parameter list to the method declaration.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: The name of a constructor must match the name of the enclosing class.
-//     /
-//     ^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator '/' should have exactly one parameter.
-//     /
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor •() → self::C*
-    : super core::Object::•() {}
-  constructor /() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.expect
new file mode 100644
index 0000000..34c35fb
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.expect
@@ -0,0 +1,36 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Expected '{' before this.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: The name of a constructor must match the name of the enclosing class.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator '/' should have exactly one parameter.
+//     /
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  constructor •() → self::C
+    : super core::Object::•() {}
+  constructor /() → self::C
+    : super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..1a11704
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.outline.expect
@@ -0,0 +1,35 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Expected '{' before this.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: The name of a constructor must match the name of the enclosing class.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator '/' should have exactly one parameter.
+//     /
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  constructor •() → self::C
+    ;
+  constructor /() → self::C
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..34c35fb
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart.weak.transformed.expect
@@ -0,0 +1,36 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Expected '{' before this.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator declarations must be preceded by the keyword 'operator'.
+// Try adding the keyword 'operator'.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: A method declaration needs an explicit list of parameters.
+// Try adding a parameter list to the method declaration.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: The name of a constructor must match the name of the enclosing class.
+//     /
+//     ^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39230.crash_dart:3:5: Error: Operator '/' should have exactly one parameter.
+//     /
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  constructor •() → self::C
+    : super core::Object::•() {}
+  constructor /() → self::C
+    : super core::Object::•()
+    ;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart
index 8bde84a..10c2996 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart
@@ -1 +1,2 @@
+// @dart=2.9
 void<int> f() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.outline.expect
deleted file mode 100644
index 0698786..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.outline.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:1:5: Error: Type 'void' can't have type arguments.
-// Try removing the type arguments.
-// void<int> f() {}
-//     ^
-//
-import self as self;
-
-static method f() → void
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.strong.expect
deleted file mode 100644
index 6945be8..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.strong.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:1:5: Error: Type 'void' can't have type arguments.
-// Try removing the type arguments.
-// void<int> f() {}
-//     ^
-//
-import self as self;
-
-static method f() → void {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.strong.transformed.expect
deleted file mode 100644
index 6945be8..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.strong.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:1:5: Error: Type 'void' can't have type arguments.
-// Try removing the type arguments.
-// void<int> f() {}
-//     ^
-//
-import self as self;
-
-static method f() → void {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.textual_outline.expect
index b747ed5..a076dc6 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 void<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.expect
new file mode 100644
index 0000000..0b3c58e
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.expect
@@ -0,0 +1,12 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:2:5: Error: Type 'void' can't have type arguments.
+// Try removing the type arguments.
+// void<int> f() {}
+//     ^
+//
+import self as self;
+
+static method f() → void {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.outline.expect
new file mode 100644
index 0000000..0a83309
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.outline.expect
@@ -0,0 +1,13 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:2:5: Error: Type 'void' can't have type arguments.
+// Try removing the type arguments.
+// void<int> f() {}
+//     ^
+//
+import self as self;
+
+static method f() → void
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.transformed.expect
new file mode 100644
index 0000000..0b3c58e
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart.weak.transformed.expect
@@ -0,0 +1,12 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_01.dart:2:5: Error: Type 'void' can't have type arguments.
+// Try removing the type arguments.
+// void<int> f() {}
+//     ^
+//
+import self as self;
+
+static method f() → void {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart
index 58b5740..b8175f8 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart
@@ -1 +1,2 @@
+// @dart=2.9
 dynamic<int> f() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.outline.expect
deleted file mode 100644
index ba0fe79b..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.outline.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:1:1: Error: Expected 0 type arguments.
-// dynamic<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.strong.expect
deleted file mode 100644
index e7fc2a2..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.strong.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:1:1: Error: Expected 0 type arguments.
-// dynamic<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.strong.transformed.expect
deleted file mode 100644
index e7fc2a2..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.strong.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:1:1: Error: Expected 0 type arguments.
-// dynamic<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline.expect
index f03cd81..c662bd8 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 dynamic<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline_modelled.expect
index f03cd81..c662bd8 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 dynamic<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.expect
new file mode 100644
index 0000000..f4c6611
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.expect
@@ -0,0 +1,11 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:2:1: Error: Expected 0 type arguments.
+// dynamic<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.outline.expect
new file mode 100644
index 0000000..fe7f977
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.outline.expect
@@ -0,0 +1,12 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:2:1: Error: Expected 0 type arguments.
+// dynamic<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.transformed.expect
new file mode 100644
index 0000000..f4c6611
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart.weak.transformed.expect
@@ -0,0 +1,11 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_02.dart:2:1: Error: Expected 0 type arguments.
+// dynamic<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart
index 1a13723..5fd90be 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart
@@ -1 +1,2 @@
+// @dart=2.9
 int<int> f() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.outline.expect
deleted file mode 100644
index 5118ad3..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.outline.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:1:1: Error: Expected 0 type arguments.
-// int<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.strong.expect
deleted file mode 100644
index 6782f5b..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.strong.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:1:1: Error: Expected 0 type arguments.
-// int<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.strong.transformed.expect
deleted file mode 100644
index 6782f5b..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.strong.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:1:1: Error: Expected 0 type arguments.
-// int<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline.expect
index 26e95ee..c0ee669 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 int<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline_modelled.expect
index 26e95ee..c0ee669 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 int<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.expect
new file mode 100644
index 0000000..46d364b
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.expect
@@ -0,0 +1,11 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:2:1: Error: Expected 0 type arguments.
+// int<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.outline.expect
new file mode 100644
index 0000000..1c02eaa
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.outline.expect
@@ -0,0 +1,12 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:2:1: Error: Expected 0 type arguments.
+// int<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.transformed.expect
new file mode 100644
index 0000000..46d364b
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart.weak.transformed.expect
@@ -0,0 +1,11 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_03.dart:2:1: Error: Expected 0 type arguments.
+// int<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart
index 1a373f5..9ff8598 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart
@@ -1 +1,2 @@
+// @dart=2.9
 Foo<int> f() {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.outline.expect
deleted file mode 100644
index 7cf8e23..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.outline.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Type 'Foo' not found.
-// Foo<int> f() {}
-// ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Expected 0 type arguments.
-// Foo<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.strong.expect
deleted file mode 100644
index 03024b9..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.strong.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Type 'Foo' not found.
-// Foo<int> f() {}
-// ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Expected 0 type arguments.
-// Foo<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.strong.transformed.expect
deleted file mode 100644
index 03024b9..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.strong.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Type 'Foo' not found.
-// Foo<int> f() {}
-// ^^^
-//
-// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:1:1: Error: Expected 0 type arguments.
-// Foo<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline.expect
index 78a05ec..4236150 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 Foo<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline_modelled.expect
index 78a05ec..4236150 100644
--- a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 Foo<int> f() {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.expect
new file mode 100644
index 0000000..b829820
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.expect
@@ -0,0 +1,15 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Type 'Foo' not found.
+// Foo<int> f() {}
+// ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Expected 0 type arguments.
+// Foo<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.outline.expect
new file mode 100644
index 0000000..2c17245
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.outline.expect
@@ -0,0 +1,16 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Type 'Foo' not found.
+// Foo<int> f() {}
+// ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Expected 0 type arguments.
+// Foo<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.transformed.expect
new file mode 100644
index 0000000..b829820
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart.weak.transformed.expect
@@ -0,0 +1,15 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Type 'Foo' not found.
+// Foo<int> f() {}
+// ^^^
+//
+// pkg/front_end/testcases/general/error_recovery/issue_39958_04.dart:2:1: Error: Expected 0 type arguments.
+// Foo<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.outline.expect
deleted file mode 100644
index 67ac964..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.outline.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart:1:12: Error: Expected an identifier, but got '='.
-// Try inserting an identifier before '='.
-// typedef A< = void Function();
-//            ^
-//
-import self as self;
-
-typedef A = () →* void;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.strong.expect
deleted file mode 100644
index bb2548b..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.strong.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart:1:12: Error: Expected an identifier, but got '='.
-// Try inserting an identifier before '='.
-// typedef A< = void Function();
-//            ^
-//
-import self as self;
-
-typedef A = () →* void;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.strong.transformed.expect
deleted file mode 100644
index bb2548b..0000000
--- a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart:1:12: Error: Expected an identifier, but got '='.
-// Try inserting an identifier before '='.
-// typedef A< = void Function();
-//            ^
-//
-import self as self;
-
-typedef A = () →* void;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.expect
new file mode 100644
index 0000000..c79c850
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.expect
@@ -0,0 +1,13 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart:1:12: Error: Expected an identifier, but got '='.
+// Try inserting an identifier before '='.
+// typedef A< = void Function();
+//            ^
+//
+import self as self;
+
+typedef A = () → void;
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..c89d436
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.outline.expect
@@ -0,0 +1,14 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart:1:12: Error: Expected an identifier, but got '='.
+// Try inserting an identifier before '='.
+// typedef A< = void Function();
+//            ^
+//
+import self as self;
+
+typedef A = () → void;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..c79c850
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart.weak.transformed.expect
@@ -0,0 +1,13 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/issue_43090.crash_dart:1:12: Error: Expected an identifier, but got '='.
+// Try inserting an identifier before '='.
+// typedef A< = void Function();
+//            ^
+//
+import self as self;
+
+typedef A = () → void;
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart
index ad56555..8cae069 100644
--- a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart
+++ b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart
@@ -1,5 +1,5 @@
 Future<int> f() => Future.value(7);
-
+// @dart=2.9
 List<int> g() {
   yield f();
 }
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.outline.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.outline.expect
deleted file mode 100644
index 3000fe7..0000000
--- a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-static method f() → asy::Future<core::int*>*
-  ;
-static method g() → core::List<core::int*>*
-  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.strong.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.strong.expect
deleted file mode 100644
index 962b6f1..0000000
--- a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.strong.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-//   yield f();
-//   ^^^^^
-//
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-static method f() → asy::Future<core::int*>*
-  return asy::Future::value<core::int*>(7);
-static method g() → core::List<core::int*>* {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-  yield f();
-  ^";
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.strong.transformed.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.strong.transformed.expect
deleted file mode 100644
index 962b6f1..0000000
--- a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.strong.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-//   yield f();
-//   ^^^^^
-//
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-static method f() → asy::Future<core::int*>*
-  return asy::Future::value<core::int*>(7);
-static method g() → core::List<core::int*>* {
-  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-  yield f();
-  ^";
-}
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.expect
new file mode 100644
index 0000000..0ecf03e
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.expect
@@ -0,0 +1,28 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+//   yield f();
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+//  - 'List' is from 'dart:core'.
+// List<int> g() {
+//           ^
+//
+import self as self;
+import "dart:async" as asy;
+import "dart:core" as core;
+
+static method f() → asy::Future<core::int>
+  return asy::Future::value<core::int>(7);
+static method g() → core::List<core::int> {
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+  yield f();
+  ^";
+  return let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+ - 'List' is from 'dart:core'.
+List<int> g() {
+          ^" in null;
+}
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.outline.expect
new file mode 100644
index 0000000..5b6f1df
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.outline.expect
@@ -0,0 +1,9 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:async" as asy;
+import "dart:core" as core;
+
+static method f() → asy::Future<core::int>
+  ;
+static method g() → core::List<core::int>
+  ;
diff --git a/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.transformed.expect
new file mode 100644
index 0000000..0ecf03e
--- /dev/null
+++ b/pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart.weak.transformed.expect
@@ -0,0 +1,28 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+//   yield f();
+//   ^^^^^
+//
+// pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+//  - 'List' is from 'dart:core'.
+// List<int> g() {
+//           ^
+//
+import self as self;
+import "dart:async" as asy;
+import "dart:core" as core;
+
+static method f() → asy::Future<core::int>
+  return asy::Future::value<core::int>(7);
+static method g() → core::List<core::int> {
+  invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:4:3: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
+  yield f();
+  ^";
+  return let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general/error_recovery/yield_not_in_generator.dart:3:11: Error: A non-null value must be returned since the return type 'List<int>' doesn't allow null.
+ - 'List' is from 'dart:core'.
+List<int> g() {
+          ^" in null;
+}
diff --git a/pkg/front_end/testcases/general/escape.dart b/pkg/front_end/testcases/general/escape.dart
index 2b7ac32..711ee61 100644
--- a/pkg/front_end/testcases/general/escape.dart
+++ b/pkg/front_end/testcases/general/escape.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {
   var field;
 }
diff --git a/pkg/front_end/testcases/general/escape.dart.hierarchy.expect b/pkg/front_end/testcases/general/escape.dart.hierarchy.expect
deleted file mode 100644
index 6fbadf9..0000000
--- a/pkg/front_end/testcases/general/escape.dart.hierarchy.expect
+++ /dev/null
@@ -1,108 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.field
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.field
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    C.==
-  classSetters:
-
-X:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    X.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    X.field
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    X.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    X.field
diff --git a/pkg/front_end/testcases/general/escape.dart.textual_outline.expect b/pkg/front_end/testcases/general/escape.dart.textual_outline.expect
index 55378bb..8dfa85d 100644
--- a/pkg/front_end/testcases/general/escape.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/escape.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var field;
 }
diff --git a/pkg/front_end/testcases/general/escape.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/escape.dart.textual_outline_modelled.expect
index d8cd132..4e93520 100644
--- a/pkg/front_end/testcases/general/escape.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/escape.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var field;
 }
diff --git a/pkg/front_end/testcases/general/escape.dart.strong.expect b/pkg/front_end/testcases/general/escape.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/escape.dart.strong.expect
rename to pkg/front_end/testcases/general/escape.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/escape.dart.outline.expect b/pkg/front_end/testcases/general/escape.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/escape.dart.outline.expect
rename to pkg/front_end/testcases/general/escape.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/escape.dart.strong.transformed.expect b/pkg/front_end/testcases/general/escape.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/escape.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/escape.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/unversioned_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/unversioned_lib.dart
index d57287d..5653a37 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/unversioned_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/unversioned_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, 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=2.9
 int? versionedAllowedPackage; // ok
diff --git a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_10_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_10_lib.dart
index d432653..1000b07 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_10_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_10_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.10
 
 int? versioned_2_10_AllowedPackage; // ok
diff --git a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart
index b3c0c6d..f8d4466 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.8
 
 int? versioned_2_8_AllowedPackage; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_9_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_9_lib.dart
index 2bf988c..2c5bf44 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_9_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_9_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.9
 
 int? versionedAllowedPackage; // ok
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart b/pkg/front_end/testcases/general/experiment_release_version/main.dart
index 40552ae..76c745e 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'package:allowed_package/unversioned_lib.dart';
 import 'package:allowed_package/versioned_2_8_lib.dart';
 import 'package:allowed_package/versioned_2_9_lib.dart';
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.outline.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.outline.expect
deleted file mode 100644
index f56cd1f..0000000
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.outline.expect
+++ /dev/null
@@ -1,100 +0,0 @@
-//
-// Problems outside component:
-//
-// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
-// int? versioned_2_8_AllowedPackage; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.8
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versionedUnallowedPackage; // error
-//    ^
-//
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_8_AllowedPackage; // error
-//    ^
-//
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_9_AllowedPackage; // error
-//    ^
-//
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? versionedAllowedPackage; // error
-//    ^
-//
-library;
-import self as self;
-
-import "package:allowed_package/unversioned_lib.dart";
-import "package:allowed_package/versioned_2_8_lib.dart";
-import "package:allowed_package/versioned_2_9_lib.dart";
-import "package:allowed_package/versioned_2_10_lib.dart";
-import "package:not_allowed_package/unversioned_lib.dart";
-import "package:not_allowed_package/versioned_2_8_lib.dart";
-import "package:not_allowed_package/versioned_2_9_lib.dart";
-import "package:not_allowed_package/versioned_2_10_lib.dart";
-import "org-dartlang-testcase:///unversioned_lib.dart";
-import "org-dartlang-testcase:///versioned_2_8_lib.dart";
-import "org-dartlang-testcase:///versioned_2_9_lib.dart";
-import "org-dartlang-testcase:///versioned_2_10_lib.dart";
-
-static method main() → dynamic
-  ;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? unversionedLibrary; // error
-//    ^
-//
-import self as self2;
-import "dart:core" as core;
-
-static field core::int? unversionedLibrary;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_8_Library; // error
-//    ^
-//
-import self as self3;
-import "dart:core" as core;
-
-static field core::int? versioned_2_8_Library;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_9_Library; // error
-//    ^
-//
-import self as self4;
-import "dart:core" as core;
-
-static field core::int? versioned_2_9_Library;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? versioned_2_10_Library; // error
-//    ^
-//
-import self as self5;
-import "dart:core" as core;
-
-static field core::int? versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.expect
deleted file mode 100644
index cc7d176..0000000
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.expect
+++ /dev/null
@@ -1,99 +0,0 @@
-//
-// Problems outside component:
-//
-// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
-// int? versioned_2_8_AllowedPackage; // error
-//    ^
-// pkg/front_end/testcases/general/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
-// // @dart=2.8
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versionedUnallowedPackage; // error
-//    ^
-//
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_8_AllowedPackage; // error
-//    ^
-//
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_9_AllowedPackage; // error
-//    ^
-//
-// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? versionedAllowedPackage; // error
-//    ^
-//
-library;
-import self as self;
-
-import "package:allowed_package/unversioned_lib.dart";
-import "package:allowed_package/versioned_2_8_lib.dart";
-import "package:allowed_package/versioned_2_9_lib.dart";
-import "package:allowed_package/versioned_2_10_lib.dart";
-import "package:not_allowed_package/unversioned_lib.dart";
-import "package:not_allowed_package/versioned_2_8_lib.dart";
-import "package:not_allowed_package/versioned_2_9_lib.dart";
-import "package:not_allowed_package/versioned_2_10_lib.dart";
-import "org-dartlang-testcase:///unversioned_lib.dart";
-import "org-dartlang-testcase:///versioned_2_8_lib.dart";
-import "org-dartlang-testcase:///versioned_2_9_lib.dart";
-import "org-dartlang-testcase:///versioned_2_10_lib.dart";
-
-static method main() → dynamic {}
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? unversionedLibrary; // error
-//    ^
-//
-import self as self2;
-import "dart:core" as core;
-
-static field core::int? unversionedLibrary;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_8_Library; // error
-//    ^
-//
-import self as self3;
-import "dart:core" as core;
-
-static field core::int? versioned_2_8_Library;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_9_Library; // error
-//    ^
-//
-import self as self4;
-import "dart:core" as core;
-
-static field core::int? versioned_2_9_Library;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? versioned_2_10_Library; // error
-//    ^
-//
-import self as self5;
-import "dart:core" as core;
-
-static field core::int? versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.transformed.expect
deleted file mode 100644
index 77ecfc9..0000000
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.strong.transformed.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-import self as self;
-
-import "package:allowed_package/unversioned_lib.dart";
-import "package:allowed_package/versioned_2_8_lib.dart";
-import "package:allowed_package/versioned_2_9_lib.dart";
-import "package:allowed_package/versioned_2_10_lib.dart";
-import "package:not_allowed_package/unversioned_lib.dart";
-import "package:not_allowed_package/versioned_2_8_lib.dart";
-import "package:not_allowed_package/versioned_2_9_lib.dart";
-import "package:not_allowed_package/versioned_2_10_lib.dart";
-import "org-dartlang-testcase:///unversioned_lib.dart";
-import "org-dartlang-testcase:///versioned_2_8_lib.dart";
-import "org-dartlang-testcase:///versioned_2_9_lib.dart";
-import "org-dartlang-testcase:///versioned_2_10_lib.dart";
-
-static method main() → dynamic {}
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? unversionedLibrary; // error
-//    ^
-//
-import self as self2;
-import "dart:core" as core;
-
-static field core::int? unversionedLibrary;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_8_Library; // error
-//    ^
-//
-import self as self3;
-import "dart:core" as core;
-
-static field core::int? versioned_2_8_Library;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.10 or higher.
-// int? versioned_2_9_Library; // error
-//    ^
-//
-import self as self4;
-import "dart:core" as core;
-
-static field core::int? versioned_2_9_Library;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? versioned_2_10_Library; // error
-//    ^
-//
-import self as self5;
-import "dart:core" as core;
-
-static field core::int? versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline.expect
index d918938..3d652f5 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:allowed_package/unversioned_lib.dart';
 import 'package:allowed_package/versioned_2_8_lib.dart';
 import 'package:allowed_package/versioned_2_9_lib.dart';
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline_modelled.expect
index 9733a7a..093f395 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:allowed_package/unversioned_lib.dart';
 import 'package:allowed_package/versioned_2_10_lib.dart';
 import 'package:allowed_package/versioned_2_8_lib.dart';
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect
new file mode 100644
index 0000000..b77b7a9
--- /dev/null
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.expect
@@ -0,0 +1,120 @@
+//
+// Problems outside component:
+//
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versionedUnallowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_8_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versionedAllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+library;
+import self as self;
+
+import "package:allowed_package/unversioned_lib.dart";
+import "package:allowed_package/versioned_2_8_lib.dart";
+import "package:allowed_package/versioned_2_9_lib.dart";
+import "package:allowed_package/versioned_2_10_lib.dart";
+import "package:not_allowed_package/unversioned_lib.dart";
+import "package:not_allowed_package/versioned_2_8_lib.dart";
+import "package:not_allowed_package/versioned_2_9_lib.dart";
+import "package:not_allowed_package/versioned_2_10_lib.dart";
+import "org-dartlang-testcase:///unversioned_lib.dart";
+import "org-dartlang-testcase:///versioned_2_8_lib.dart";
+import "org-dartlang-testcase:///versioned_2_9_lib.dart";
+import "org-dartlang-testcase:///versioned_2_10_lib.dart";
+
+static method main() → dynamic {}
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? unversionedLibrary; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self2;
+import "dart:core" as core;
+
+static field core::int? unversionedLibrary;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_8_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self3;
+import "dart:core" as core;
+
+static field core::int? versioned_2_8_Library;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self4;
+import "dart:core" as core;
+
+static field core::int? versioned_2_9_Library;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_10_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self5;
+import "dart:core" as core;
+
+static field core::int? versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect
new file mode 100644
index 0000000..c3f6a3e
--- /dev/null
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.outline.expect
@@ -0,0 +1,121 @@
+//
+// Problems outside component:
+//
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versionedUnallowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_8_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versionedAllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+library;
+import self as self;
+
+import "package:allowed_package/unversioned_lib.dart";
+import "package:allowed_package/versioned_2_8_lib.dart";
+import "package:allowed_package/versioned_2_9_lib.dart";
+import "package:allowed_package/versioned_2_10_lib.dart";
+import "package:not_allowed_package/unversioned_lib.dart";
+import "package:not_allowed_package/versioned_2_8_lib.dart";
+import "package:not_allowed_package/versioned_2_9_lib.dart";
+import "package:not_allowed_package/versioned_2_10_lib.dart";
+import "org-dartlang-testcase:///unversioned_lib.dart";
+import "org-dartlang-testcase:///versioned_2_8_lib.dart";
+import "org-dartlang-testcase:///versioned_2_9_lib.dart";
+import "org-dartlang-testcase:///versioned_2_10_lib.dart";
+
+static method main() → dynamic
+  ;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? unversionedLibrary; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self2;
+import "dart:core" as core;
+
+static field core::int? unversionedLibrary;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_8_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self3;
+import "dart:core" as core;
+
+static field core::int? versioned_2_8_Library;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self4;
+import "dart:core" as core;
+
+static field core::int? versioned_2_9_Library;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_10_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self5;
+import "dart:core" as core;
+
+static field core::int? versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect
new file mode 100644
index 0000000..ab52108
--- /dev/null
+++ b/pkg/front_end/testcases/general/experiment_release_version/main.dart.weak.transformed.expect
@@ -0,0 +1,85 @@
+library;
+import self as self;
+
+import "package:allowed_package/unversioned_lib.dart";
+import "package:allowed_package/versioned_2_8_lib.dart";
+import "package:allowed_package/versioned_2_9_lib.dart";
+import "package:allowed_package/versioned_2_10_lib.dart";
+import "package:not_allowed_package/unversioned_lib.dart";
+import "package:not_allowed_package/versioned_2_8_lib.dart";
+import "package:not_allowed_package/versioned_2_9_lib.dart";
+import "package:not_allowed_package/versioned_2_10_lib.dart";
+import "org-dartlang-testcase:///unversioned_lib.dart";
+import "org-dartlang-testcase:///versioned_2_8_lib.dart";
+import "org-dartlang-testcase:///versioned_2_9_lib.dart";
+import "org-dartlang-testcase:///versioned_2_10_lib.dart";
+
+static method main() → dynamic {}
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? unversionedLibrary; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self2;
+import "dart:core" as core;
+
+static field core::int? unversionedLibrary;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_8_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self3;
+import "dart:core" as core;
+
+static field core::int? versioned_2_8_Library;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self4;
+import "dart:core" as core;
+
+static field core::int? versioned_2_9_Library;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_10_Library; // error
+//    ^
+// pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self5;
+import "dart:core" as core;
+
+static field core::int? versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart
index 10bfda8..102ec22 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, 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=2.9
 int? versionedUnallowedPackage; // error
diff --git a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart
index ee923a2..81ee1c8 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_10_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.10
 
 int? versionedAllowedPackage; // error
diff --git a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart
index b3c0c6d..f8d4466 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.8
 
 int? versioned_2_8_AllowedPackage; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart
index ff693f6..46053fa 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.9
 
 int? versioned_2_9_AllowedPackage; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart
index c2b3d3e..280282c 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/unversioned_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, 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=2.9
 int? unversionedLibrary; // error
diff --git a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart
index a034e24..a14c6da 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_10_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.10
 
 int? versioned_2_10_Library; // error
diff --git a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart
index 83fa3c6..0f72066 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_8_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.8
 
 int? versioned_2_8_Library; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart
index 7a9a3ee..c44e5b8 100644
--- a/pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart
+++ b/pkg/front_end/testcases/general/experiment_release_version/versioned_2_9_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.9
 
 int? versioned_2_9_Library; // error
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/export_main.dart b/pkg/front_end/testcases/general/export_main.dart
index 9471d95..da68add 100644
--- a/pkg/front_end/testcases/general/export_main.dart
+++ b/pkg/front_end/testcases/general/export_main.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2017, 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=2.9
 export 'hello.dart' show main;
diff --git a/pkg/front_end/testcases/general/export_main.dart.textual_outline.expect b/pkg/front_end/testcases/general/export_main.dart.textual_outline.expect
index 8692093..b75de28 100644
--- a/pkg/front_end/testcases/general/export_main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/export_main.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 export 'hello.dart' show main;
diff --git a/pkg/front_end/testcases/general/export_main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/export_main.dart.textual_outline_modelled.expect
index 8692093..b75de28 100644
--- a/pkg/front_end/testcases/general/export_main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/export_main.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 export 'hello.dart' show main;
diff --git a/pkg/front_end/testcases/general/export_main.dart.strong.expect b/pkg/front_end/testcases/general/export_main.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/export_main.dart.strong.expect
rename to pkg/front_end/testcases/general/export_main.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/export_main.dart.outline.expect b/pkg/front_end/testcases/general/export_main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/export_main.dart.outline.expect
rename to pkg/front_end/testcases/general/export_main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/export_main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/export_main.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/export_main.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/export_main.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/export_test.dart b/pkg/front_end/testcases/general/export_test.dart
index 13646cf..3d91807 100644
--- a/pkg/front_end/testcases/general/export_test.dart
+++ b/pkg/front_end/testcases/general/export_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /// Test that exports are serialized in platform.dill.
 
 // This is somewhat brittle and we should extend this test framework to be
diff --git a/pkg/front_end/testcases/general/export_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/export_test.dart.textual_outline.expect
index 069d6b3..5ff65fc 100644
--- a/pkg/front_end/testcases/general/export_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/export_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:developer' show UserTag;
 export 'dart:core' show print;
 
diff --git a/pkg/front_end/testcases/general/export_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/export_test.dart.textual_outline_modelled.expect
index c19fa80..e0ddda5 100644
--- a/pkg/front_end/testcases/general/export_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/export_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 export 'dart:core' show print;
 import 'dart:developer' show UserTag;
 
diff --git a/pkg/front_end/testcases/general/export_test.dart.strong.expect b/pkg/front_end/testcases/general/export_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/export_test.dart.strong.expect
rename to pkg/front_end/testcases/general/export_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/export_test.dart.outline.expect b/pkg/front_end/testcases/general/export_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/export_test.dart.outline.expect
rename to pkg/front_end/testcases/general/export_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/export_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/export_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/export_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/export_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/expressions.dart b/pkg/front_end/testcases/general/expressions.dart
index 6cef03b..28f3268 100644
--- a/pkg/front_end/testcases/general/expressions.dart
+++ b/pkg/front_end/testcases/general/expressions.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 foo({fisk}) {
   print(fisk);
 }
diff --git a/pkg/front_end/testcases/general/expressions.dart.textual_outline.expect b/pkg/front_end/testcases/general/expressions.dart.textual_outline.expect
index bfda72e..296cc43 100644
--- a/pkg/front_end/testcases/general/expressions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/expressions.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 foo({fisk}) {}
 caller(f) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/expressions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/expressions.dart.textual_outline_modelled.expect
index a1c989b..a6dae72 100644
--- a/pkg/front_end/testcases/general/expressions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/expressions.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 caller(f) {}
 foo({fisk}) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/expressions.dart.strong.expect b/pkg/front_end/testcases/general/expressions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/expressions.dart.strong.expect
rename to pkg/front_end/testcases/general/expressions.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/expressions.dart.outline.expect b/pkg/front_end/testcases/general/expressions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/expressions.dart.outline.expect
rename to pkg/front_end/testcases/general/expressions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/expressions.dart.strong.transformed.expect b/pkg/front_end/testcases/general/expressions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/expressions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/expressions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/extend_with_type_variable.dart b/pkg/front_end/testcases/general/extend_with_type_variable.dart
index e763f69..04949c2 100644
--- a/pkg/front_end/testcases/general/extend_with_type_variable.dart
+++ b/pkg/front_end/testcases/general/extend_with_type_variable.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 // Regression test for issue #39774.
 
 class SuperClass {}
diff --git a/pkg/front_end/testcases/general/extend_with_type_variable.dart.textual_outline.expect b/pkg/front_end/testcases/general/extend_with_type_variable.dart.textual_outline.expect
index 0ff9f7d..d9154a0 100644
--- a/pkg/front_end/testcases/general/extend_with_type_variable.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/extend_with_type_variable.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class SuperClass {}
 
 mixin Mixin<T> {}
diff --git a/pkg/front_end/testcases/general/extend_with_type_variable.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/extend_with_type_variable.dart.textual_outline_modelled.expect
index 975364e..074e1c4 100644
--- a/pkg/front_end/testcases/general/extend_with_type_variable.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/extend_with_type_variable.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1<T, S extends SuperClass> extends S with Mixin<T> {}
 
 class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
diff --git a/pkg/front_end/testcases/general/extend_with_type_variable.dart.strong.expect b/pkg/front_end/testcases/general/extend_with_type_variable.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/extend_with_type_variable.dart.strong.expect
rename to pkg/front_end/testcases/general/extend_with_type_variable.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/extend_with_type_variable.dart.outline.expect b/pkg/front_end/testcases/general/extend_with_type_variable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/extend_with_type_variable.dart.outline.expect
rename to pkg/front_end/testcases/general/extend_with_type_variable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/extend_with_type_variable.dart.strong.transformed.expect b/pkg/front_end/testcases/general/extend_with_type_variable.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/extend_with_type_variable.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/extend_with_type_variable.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/external.dart b/pkg/front_end/testcases/general/external.dart
index 54ce8a7..5fb2c9b 100644
--- a/pkg/front_end/testcases/general/external.dart
+++ b/pkg/front_end/testcases/general/external.dart
@@ -1,6 +1,9 @@
 // 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.
+
+// @dart=2.9
+
 import 'dart:isolate';
 
 var subscription;
diff --git a/pkg/front_end/testcases/general/external.dart.textual_outline.expect b/pkg/front_end/testcases/general/external.dart.textual_outline.expect
index fbcbaee..b2341af 100644
--- a/pkg/front_end/testcases/general/external.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/external.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:isolate';
 
 var subscription;
diff --git a/pkg/front_end/testcases/general/external.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/external.dart.textual_outline_modelled.expect
index 1db5cd5..e4915bb 100644
--- a/pkg/front_end/testcases/general/external.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/external.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:isolate';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/external.dart.strong.expect b/pkg/front_end/testcases/general/external.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external.dart.strong.expect
rename to pkg/front_end/testcases/general/external.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/external.dart.outline.expect b/pkg/front_end/testcases/general/external.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external.dart.outline.expect
rename to pkg/front_end/testcases/general/external.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/external.dart.strong.transformed.expect b/pkg/front_end/testcases/general/external.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/external.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/external_import.dart b/pkg/front_end/testcases/general/external_import.dart
index e1f051e..d37c860 100644
--- a/pkg/front_end/testcases/general/external_import.dart
+++ b/pkg/front_end/testcases/general/external_import.dart
@@ -1,3 +1,9 @@
+// Copyright (c) 2018, 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=2.9
+
 import 'dart-ext:here';
 import 'dart-ext:foo/../there';
 import 'dart-ext:/usr/local/somewhere';
diff --git a/pkg/front_end/testcases/general/external_import.dart.textual_outline.expect b/pkg/front_end/testcases/general/external_import.dart.textual_outline.expect
index e1f051e..312d71b 100644
--- a/pkg/front_end/testcases/general/external_import.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/external_import.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart-ext:here';
 import 'dart-ext:foo/../there';
 import 'dart-ext:/usr/local/somewhere';
diff --git a/pkg/front_end/testcases/general/external_import.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/external_import.dart.textual_outline_modelled.expect
index 29aa279..6ce2c47 100644
--- a/pkg/front_end/testcases/general/external_import.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/external_import.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart-ext:/usr/local/somewhere';
 import 'dart-ext:foo/../there';
 import 'dart-ext:here';
diff --git a/pkg/front_end/testcases/general/external_import.dart.strong.expect b/pkg/front_end/testcases/general/external_import.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external_import.dart.strong.expect
rename to pkg/front_end/testcases/general/external_import.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/external_import.dart.outline.expect b/pkg/front_end/testcases/general/external_import.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external_import.dart.outline.expect
rename to pkg/front_end/testcases/general/external_import.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/external_import.dart.strong.transformed.expect b/pkg/front_end/testcases/general/external_import.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external_import.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/external_import.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/external_method.dart b/pkg/front_end/testcases/general/external_method.dart
index 976d23b..05f0de4 100644
--- a/pkg/front_end/testcases/general/external_method.dart
+++ b/pkg/front_end/testcases/general/external_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 external void externalMethod();
 
 class Class {
diff --git a/pkg/front_end/testcases/general/external_method.dart.textual_outline.expect b/pkg/front_end/testcases/general/external_method.dart.textual_outline.expect
index a36e380..c32b52a 100644
--- a/pkg/front_end/testcases/general/external_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/external_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 external void externalMethod();
 
 class Class {
diff --git a/pkg/front_end/testcases/general/external_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/external_method.dart.textual_outline_modelled.expect
index b902ad8..be73ec2 100644
--- a/pkg/front_end/testcases/general/external_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/external_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   external void externalMethod();
 }
diff --git a/pkg/front_end/testcases/general/external_method.dart.strong.expect b/pkg/front_end/testcases/general/external_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external_method.dart.strong.expect
rename to pkg/front_end/testcases/general/external_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/external_method.dart.outline.expect b/pkg/front_end/testcases/general/external_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external_method.dart.outline.expect
rename to pkg/front_end/testcases/general/external_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/external_method.dart.strong.transformed.expect b/pkg/front_end/testcases/general/external_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/external_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/external_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/fallthrough.dart b/pkg/front_end/testcases/general/fallthrough.dart
index f0963fc..44d38e8 100644
--- a/pkg/front_end/testcases/general/fallthrough.dart
+++ b/pkg/front_end/testcases/general/fallthrough.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 void main(List<String> args) {
   var x = args.length;
   switch (x) {
diff --git a/pkg/front_end/testcases/general/fallthrough.dart.textual_outline.expect b/pkg/front_end/testcases/general/fallthrough.dart.textual_outline.expect
index 64fdb31..b8e7e01 100644
--- a/pkg/front_end/testcases/general/fallthrough.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/fallthrough.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 void main(List<String> args) {}
diff --git a/pkg/front_end/testcases/general/fallthrough.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/fallthrough.dart.textual_outline_modelled.expect
index 64fdb31..b8e7e01 100644
--- a/pkg/front_end/testcases/general/fallthrough.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/fallthrough.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 void main(List<String> args) {}
diff --git a/pkg/front_end/testcases/general/fallthrough.dart.strong.expect b/pkg/front_end/testcases/general/fallthrough.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/fallthrough.dart.strong.expect
rename to pkg/front_end/testcases/general/fallthrough.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/fallthrough.dart.outline.expect b/pkg/front_end/testcases/general/fallthrough.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/fallthrough.dart.outline.expect
rename to pkg/front_end/testcases/general/fallthrough.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/fallthrough.dart.strong.transformed.expect b/pkg/front_end/testcases/general/fallthrough.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/fallthrough.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/fallthrough.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/fibonacci.dart b/pkg/front_end/testcases/general/fibonacci.dart
index e1ab1d5..8f48278 100644
--- a/pkg/front_end/testcases/general/fibonacci.dart
+++ b/pkg/front_end/testcases/general/fibonacci.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 int fibonacci(int n) {
   if (n < 2) return n;
   return fibonacci(n - 1) + fibonacci(n - 2);
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.textual_outline.expect b/pkg/front_end/testcases/general/fibonacci.dart.textual_outline.expect
index 178655b..5084461 100644
--- a/pkg/front_end/testcases/general/fibonacci.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/fibonacci.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 int fibonacci(int n) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/fibonacci.dart.textual_outline_modelled.expect
index 178655b..5084461 100644
--- a/pkg/front_end/testcases/general/fibonacci.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/fibonacci.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 int fibonacci(int n) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.strong.expect b/pkg/front_end/testcases/general/fibonacci.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/fibonacci.dart.strong.expect
rename to pkg/front_end/testcases/general/fibonacci.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.outline.expect b/pkg/front_end/testcases/general/fibonacci.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/fibonacci.dart.outline.expect
rename to pkg/front_end/testcases/general/fibonacci.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/fibonacci.dart.strong.transformed.expect b/pkg/front_end/testcases/general/fibonacci.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/fibonacci.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/fibonacci.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/field_initializer_capture_this.dart b/pkg/front_end/testcases/general/field_initializer_capture_this.dart
index 80fe36c..67f0935 100644
--- a/pkg/front_end/testcases/general/field_initializer_capture_this.dart
+++ b/pkg/front_end/testcases/general/field_initializer_capture_this.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Class {
   var f = () => x; // error
   var x;
diff --git a/pkg/front_end/testcases/general/field_initializer_capture_this.dart.textual_outline.expect b/pkg/front_end/testcases/general/field_initializer_capture_this.dart.textual_outline.expect
index a0d1d0e..4767f78 100644
--- a/pkg/front_end/testcases/general/field_initializer_capture_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/field_initializer_capture_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   var f = () => x;
   var x;
diff --git a/pkg/front_end/testcases/general/field_initializer_capture_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/field_initializer_capture_this.dart.textual_outline_modelled.expect
index a0d1d0e..4767f78 100644
--- a/pkg/front_end/testcases/general/field_initializer_capture_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/field_initializer_capture_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   var f = () => x;
   var x;
diff --git a/pkg/front_end/testcases/general/field_initializer_capture_this.dart.strong.expect b/pkg/front_end/testcases/general/field_initializer_capture_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/field_initializer_capture_this.dart.strong.expect
rename to pkg/front_end/testcases/general/field_initializer_capture_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/field_initializer_capture_this.dart.outline.expect b/pkg/front_end/testcases/general/field_initializer_capture_this.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/field_initializer_capture_this.dart.outline.expect
rename to pkg/front_end/testcases/general/field_initializer_capture_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/field_initializer_capture_this.dart.strong.transformed.expect b/pkg/front_end/testcases/general/field_initializer_capture_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/field_initializer_capture_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/field_initializer_capture_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/final_field_setter.dart b/pkg/front_end/testcases/general/final_field_setter.dart
index 9dcaad1..67bf016 100644
--- a/pkg/front_end/testcases/general/final_field_setter.dart
+++ b/pkg/front_end/testcases/general/final_field_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 final int field = 42;
 void set field(int value) {}
 
diff --git a/pkg/front_end/testcases/general/final_field_setter.dart.textual_outline.expect b/pkg/front_end/testcases/general/final_field_setter.dart.textual_outline.expect
index 08e9a6b..52f2149 100644
--- a/pkg/front_end/testcases/general/final_field_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/final_field_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 final int field = 42;
 void set field(int value) {}
 
diff --git a/pkg/front_end/testcases/general/final_field_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/final_field_setter.dart.textual_outline_modelled.expect
index 41e7dd1..cb8e1ee 100644
--- a/pkg/front_end/testcases/general/final_field_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/final_field_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   final int field = 42;
   void set field(int value) {}
diff --git a/pkg/front_end/testcases/general/final_field_setter.dart.strong.expect b/pkg/front_end/testcases/general/final_field_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/final_field_setter.dart.strong.expect
rename to pkg/front_end/testcases/general/final_field_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/final_field_setter.dart.outline.expect b/pkg/front_end/testcases/general/final_field_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/final_field_setter.dart.outline.expect
rename to pkg/front_end/testcases/general/final_field_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/final_field_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/general/final_field_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/final_field_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/final_field_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart b/pkg/front_end/testcases/general/flutter_issue64155.dart
index 6274977..4fddf45 100644
--- a/pkg/front_end/testcases/general/flutter_issue64155.dart
+++ b/pkg/front_end/testcases/general/flutter_issue64155.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 mixin TestMixin<R, T> {
   Future<T> test(Future<R> fetch) async {
     final response = await fetch;
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart.textual_outline.expect b/pkg/front_end/testcases/general/flutter_issue64155.dart.textual_outline.expect
index 0688f3b..546e30c 100644
--- a/pkg/front_end/testcases/general/flutter_issue64155.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/flutter_issue64155.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 mixin TestMixin<R, T> {
   Future<T> test(Future<R> fetch) async {}
 }
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/flutter_issue64155.dart.textual_outline_modelled.expect
index 1440e80..5564636 100644
--- a/pkg/front_end/testcases/general/flutter_issue64155.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/flutter_issue64155.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 with TestMixin<Response<String>, String> {
   _test() {}
 }
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart.strong.expect b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/flutter_issue64155.dart.strong.expect
rename to pkg/front_end/testcases/general/flutter_issue64155.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart.outline.expect b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/flutter_issue64155.dart.outline.expect
rename to pkg/front_end/testcases/general/flutter_issue64155.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/flutter_issue64155.dart.strong.transformed.expect b/pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/flutter_issue64155.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/flutter_issue64155.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main.dart b/pkg/front_end/testcases/general/flutter_issue68092/main.dart
index 4ff4f3b..0469a0a 100644
--- a/pkg/front_end/testcases/general/flutter_issue68092/main.dart
+++ b/pkg/front_end/testcases/general/flutter_issue68092/main.dart
@@ -1,3 +1,9 @@
+// Copyright (c) 2020, 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=2.9
+
 import 'main_lib.dart';
 
 void main() {
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.textual_outline.expect
index 3e55fb8..581b23e 100644
--- a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib.dart';
 
 void main() {}
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.textual_outline_modelled.expect
index 3e55fb8..581b23e 100644
--- a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib.dart';
 
 void main() {}
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.strong.expect b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/flutter_issue68092/main.dart.strong.expect
rename to pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.outline.expect b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/flutter_issue68092/main.dart.outline.expect
rename to pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/flutter_issue68092/main.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/flutter_issue68092/main.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/flutter_issue68092/main_lib.dart b/pkg/front_end/testcases/general/flutter_issue68092/main_lib.dart
index e43e181..42e401a 100644
--- a/pkg/front_end/testcases/general/flutter_issue68092/main_lib.dart
+++ b/pkg/front_end/testcases/general/flutter_issue68092/main_lib.dart
@@ -1,3 +1,9 @@
+// Copyright (c) 2020, 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=2.9
+
 class DynamicDispatchRegistry<T extends Function> {
   T register(T function) => null;
 }
diff --git a/pkg/front_end/testcases/general/folder.options b/pkg/front_end/testcases/general/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/general/folder.options
+++ b/pkg/front_end/testcases/general/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart b/pkg/front_end/testcases/general/for_in_scope.dart
index 86fb4cf..7a453a7 100644
--- a/pkg/front_end/testcases/general/for_in_scope.dart
+++ b/pkg/front_end/testcases/general/for_in_scope.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main(List<String> arguments) {
   for (String arguments in arguments) {
     print(arguments);
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart.textual_outline.expect b/pkg/front_end/testcases/general/for_in_scope.dart.textual_outline.expect
index 24765f4..a3d2c6a 100644
--- a/pkg/front_end/testcases/general/for_in_scope.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/for_in_scope.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main(List<String> arguments) {}
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/for_in_scope.dart.textual_outline_modelled.expect
index 24765f4..a3d2c6a 100644
--- a/pkg/front_end/testcases/general/for_in_scope.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/for_in_scope.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main(List<String> arguments) {}
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart.strong.expect b/pkg/front_end/testcases/general/for_in_scope.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/for_in_scope.dart.strong.expect
rename to pkg/front_end/testcases/general/for_in_scope.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart.outline.expect b/pkg/front_end/testcases/general/for_in_scope.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/for_in_scope.dart.outline.expect
rename to pkg/front_end/testcases/general/for_in_scope.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/for_in_scope.dart.strong.transformed.expect b/pkg/front_end/testcases/general/for_in_scope.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/for_in_scope.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/for_in_scope.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart b/pkg/front_end/testcases/general/for_in_without_declaration.dart
index 127f33b..4810092 100644
--- a/pkg/front_end/testcases/general/for_in_without_declaration.dart
+++ b/pkg/front_end/testcases/general/for_in_without_declaration.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 bool topLevelField;
 var untypedTopLevelField;
 
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.hierarchy.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.hierarchy.expect
deleted file mode 100644
index c2dd5c8..0000000
--- a/pkg/front_end/testcases/general/for_in_without_declaration.dart.hierarchy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Super:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Super.superInstanceField
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Super.untypedSuperInstanceField
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Super.superInstanceField
-    Super.untypedSuperInstanceField
-
-C:
-  superclasses:
-    Object
-      -> Super
-  interfaces:
-  classMembers:
-    Object.toString
-    Super.superInstanceField
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.untypedInstanceField
-    Object._instanceOf
-    C.staticField
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.untypedStaticField
-    C.instanceField
-    Object._simpleInstanceOfFalse
-    Super.untypedSuperInstanceField
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Super.superInstanceField
-    C.untypedInstanceField
-    C.staticField
-    C.untypedStaticField
-    C.instanceField
-    Super.untypedSuperInstanceField
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.textual_outline.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.textual_outline.expect
index 1b8a2ec..a983431 100644
--- a/pkg/front_end/testcases/general/for_in_without_declaration.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/for_in_without_declaration.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bool topLevelField;
 var untypedTopLevelField;
 
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.textual_outline_modelled.expect
index 82cde47..8a3599a 100644
--- a/pkg/front_end/testcases/general/for_in_without_declaration.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/for_in_without_declaration.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bool topLevelField;
 
 class C extends Super {
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.strong.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/for_in_without_declaration.dart.strong.expect
rename to pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.outline.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/for_in_without_declaration.dart.outline.expect
rename to pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/for_in_without_declaration.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/for_in_without_declaration.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart
index 0245c54..3f83073 100644
--- a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart
+++ b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 //------------------------------------------------------------------------------
 
 class A {
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.hierarchy.expect b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.hierarchy.expect
deleted file mode 100644
index d5d1da9..0000000
--- a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.hierarchy.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    C.A.+%B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    D.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> D
-  interfaces:
-  classMembers:
-    Object.toString
-    E.D.+%E.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.textual_outline.expect b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.textual_outline.expect
index c81b41e..9b2316f 100644
--- a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic operator +(covariant int a) => null;
 }
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.textual_outline_modelled.expect
index e1eb7ad..a93a92a 100644
--- a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class C implements A, B {}
 
 class A {
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.strong.expect b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.strong.expect
rename to pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.outline.expect b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.outline.expect
rename to pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.strong.transformed.expect b/pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/function_in_field.dart b/pkg/front_end/testcases/general/function_in_field.dart
index e159579..8234ef2 100644
--- a/pkg/front_end/testcases/general/function_in_field.dart
+++ b/pkg/front_end/testcases/general/function_in_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 var x = () {
   var y = 42;
   return y;
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.textual_outline.expect b/pkg/front_end/testcases/general/function_in_field.dart.textual_outline.expect
index 48b83ef..3c1e191 100644
--- a/pkg/front_end/testcases/general/function_in_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/function_in_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 var x = () {
   var y = 42;
   return y;
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/function_in_field.dart.textual_outline_modelled.expect
index dde78ba..729f8ce 100644
--- a/pkg/front_end/testcases/general/function_in_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/function_in_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 var x = () {
   var y = 42;
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.strong.expect b/pkg/front_end/testcases/general/function_in_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_in_field.dart.strong.expect
rename to pkg/front_end/testcases/general/function_in_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.outline.expect b/pkg/front_end/testcases/general/function_in_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_in_field.dart.outline.expect
rename to pkg/front_end/testcases/general/function_in_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/function_in_field.dart.strong.transformed.expect b/pkg/front_end/testcases/general/function_in_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_in_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/function_in_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/function_type_assignments.dart b/pkg/front_end/testcases/general/function_type_assignments.dart
index f6249ea..366b37a 100644
--- a/pkg/front_end/testcases/general/function_type_assignments.dart
+++ b/pkg/front_end/testcases/general/function_type_assignments.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 T identity<T>(T t) => t;
 T identityObject<T extends Object>(T t) => t;
 T identityList<T extends List<T>>(T t) => t;
diff --git a/pkg/front_end/testcases/general/function_type_assignments.dart.textual_outline.expect b/pkg/front_end/testcases/general/function_type_assignments.dart.textual_outline.expect
index 4e7d345..d549dfc 100644
--- a/pkg/front_end/testcases/general/function_type_assignments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/function_type_assignments.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 T identity<T>(T t) => t;
 T identityObject<T extends Object>(T t) => t;
 T identityList<T extends List<T>>(T t) => t;
diff --git a/pkg/front_end/testcases/general/function_type_assignments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/function_type_assignments.dart.textual_outline_modelled.expect
index 260816e..98ee311 100644
--- a/pkg/front_end/testcases/general/function_type_assignments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/function_type_assignments.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 String x = identity;
 String y = identityObject;
 String z = identityList;
diff --git a/pkg/front_end/testcases/general/function_type_assignments.dart.strong.expect b/pkg/front_end/testcases/general/function_type_assignments.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_assignments.dart.strong.expect
rename to pkg/front_end/testcases/general/function_type_assignments.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/function_type_assignments.dart.outline.expect b/pkg/front_end/testcases/general/function_type_assignments.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_assignments.dart.outline.expect
rename to pkg/front_end/testcases/general/function_type_assignments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/function_type_assignments.dart.strong.transformed.expect b/pkg/front_end/testcases/general/function_type_assignments.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_assignments.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/function_type_assignments.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/function_type_default_value.dart b/pkg/front_end/testcases/general/function_type_default_value.dart
index 30536ed..9b99d51 100644
--- a/pkg/front_end/testcases/general/function_type_default_value.dart
+++ b/pkg/front_end/testcases/general/function_type_default_value.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 void Function({obj: Object}) x;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/function_type_default_value.dart.textual_outline.expect b/pkg/front_end/testcases/general/function_type_default_value.dart.textual_outline.expect
index 56280e1..58d7573 100644
--- a/pkg/front_end/testcases/general/function_type_default_value.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/function_type_default_value.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 void Function({obj: Object}) x;
 main() {}
diff --git a/pkg/front_end/testcases/general/function_type_default_value.dart.strong.expect b/pkg/front_end/testcases/general/function_type_default_value.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_default_value.dart.strong.expect
rename to pkg/front_end/testcases/general/function_type_default_value.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/function_type_default_value.dart.outline.expect b/pkg/front_end/testcases/general/function_type_default_value.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_default_value.dart.outline.expect
rename to pkg/front_end/testcases/general/function_type_default_value.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/function_type_default_value.dart.strong.transformed.expect b/pkg/front_end/testcases/general/function_type_default_value.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_default_value.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/function_type_default_value.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart b/pkg/front_end/testcases/general/function_type_is_check.dart
index 706ac9e..57ec0ca 100644
--- a/pkg/front_end/testcases/general/function_type_is_check.dart
+++ b/pkg/front_end/testcases/general/function_type_is_check.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 import "package:expect/expect.dart" show Expect;
 
 test(f) {
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.hierarchy.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.hierarchy.expect
deleted file mode 100644
index 4f5c506..0000000
--- a/pkg/front_end/testcases/general/function_type_is_check.dart.hierarchy.expect
+++ /dev/null
@@ -1,369 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.textual_outline.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.textual_outline.expect
index 0f294ea..f102516 100644
--- a/pkg/front_end/testcases/general/function_type_is_check.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/function_type_is_check.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart" show Expect;
 
 test(f) {}
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.textual_outline_modelled.expect
index 22e03b0..123cad0 100644
--- a/pkg/front_end/testcases/general/function_type_is_check.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/function_type_is_check.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart" show Expect;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.strong.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_is_check.dart.strong.expect
rename to pkg/front_end/testcases/general/function_type_is_check.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.outline.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_is_check.dart.outline.expect
rename to pkg/front_end/testcases/general/function_type_is_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.strong.transformed.expect b/pkg/front_end/testcases/general/function_type_is_check.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_is_check.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/function_type_is_check.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/function_type_recovery.dart b/pkg/front_end/testcases/general/function_type_recovery.dart
index a748327..38637d5 100644
--- a/pkg/front_end/testcases/general/function_type_recovery.dart
+++ b/pkg/front_end/testcases/general/function_type_recovery.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 // Tests that an inline function type inside a `Function` type isn't a
 // parser error.
 
diff --git a/pkg/front_end/testcases/general/function_type_recovery.dart.textual_outline.expect b/pkg/front_end/testcases/general/function_type_recovery.dart.textual_outline.expect
index 2efaae2..9e05a8d 100644
--- a/pkg/front_end/testcases/general/function_type_recovery.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/function_type_recovery.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 typedef F = int Function(int f(String x));
 main() {}
diff --git a/pkg/front_end/testcases/general/function_type_recovery.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/function_type_recovery.dart.textual_outline_modelled.expect
index a2bb0c0..cc18173 100644
--- a/pkg/front_end/testcases/general/function_type_recovery.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/function_type_recovery.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 typedef F = int Function(int f(String x));
diff --git a/pkg/front_end/testcases/general/function_type_recovery.dart.strong.expect b/pkg/front_end/testcases/general/function_type_recovery.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_recovery.dart.strong.expect
rename to pkg/front_end/testcases/general/function_type_recovery.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/function_type_recovery.dart.outline.expect b/pkg/front_end/testcases/general/function_type_recovery.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_recovery.dart.outline.expect
rename to pkg/front_end/testcases/general/function_type_recovery.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/function_type_recovery.dart.strong.transformed.expect b/pkg/front_end/testcases/general/function_type_recovery.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/function_type_recovery.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/function_type_recovery.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/functions.dart b/pkg/front_end/testcases/general/functions.dart
index c6d90d6..5b3f621 100644
--- a/pkg/front_end/testcases/general/functions.dart
+++ b/pkg/front_end/testcases/general/functions.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   void local(void f({a})) {
     f(a: "Hello, World");
diff --git a/pkg/front_end/testcases/general/functions.dart.outline.expect b/pkg/front_end/testcases/general/functions.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/functions.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/functions.dart.textual_outline.expect b/pkg/front_end/testcases/general/functions.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/functions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/functions.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/functions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/functions.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/functions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/functions.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/functions.dart.strong.expect b/pkg/front_end/testcases/general/functions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/functions.dart.strong.expect
rename to pkg/front_end/testcases/general/functions.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/functions.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/functions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/functions.dart.strong.transformed.expect b/pkg/front_end/testcases/general/functions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/functions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/functions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/future_or_test.dart b/pkg/front_end/testcases/general/future_or_test.dart
index 375589d..3d23e6d 100644
--- a/pkg/front_end/testcases/general/future_or_test.dart
+++ b/pkg/front_end/testcases/general/future_or_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // The test checks that an expression with static type Future<dynamic> is
 // accepted as a return expression of a method with an async body and the
 // declared return type Future<int>.
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/future_or_test.dart.hierarchy.expect
deleted file mode 100644
index 5279442..0000000
--- a/pkg/front_end/testcases/general/future_or_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.bar
-    B.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.a
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.baz
-  classSetters:
-    C.b
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/future_or_test.dart.textual_outline.expect
index e798df9..2ccc4be 100644
--- a/pkg/front_end/testcases/general/future_or_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/future_or_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class A {
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/future_or_test.dart.textual_outline_modelled.expect
index e798df9..2ccc4be 100644
--- a/pkg/front_end/testcases/general/future_or_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/future_or_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class A {
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.strong.expect b/pkg/front_end/testcases/general/future_or_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/future_or_test.dart.strong.expect
rename to pkg/front_end/testcases/general/future_or_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.outline.expect b/pkg/front_end/testcases/general/future_or_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/future_or_test.dart.outline.expect
rename to pkg/front_end/testcases/general/future_or_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/future_or_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/future_or_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/future_return.dart b/pkg/front_end/testcases/general/future_return.dart
index aae7105..142d441 100644
--- a/pkg/front_end/testcases/general/future_return.dart
+++ b/pkg/front_end/testcases/general/future_return.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'dart:async';
 
 class Class {}
diff --git a/pkg/front_end/testcases/general/future_return.dart.textual_outline.expect b/pkg/front_end/testcases/general/future_return.dart.textual_outline.expect
index 75767f5..fa953ed 100644
--- a/pkg/front_end/testcases/general/future_return.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/future_return.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class Class {}
diff --git a/pkg/front_end/testcases/general/future_return.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/future_return.dart.textual_outline_modelled.expect
index 0e7261f..b89de64 100644
--- a/pkg/front_end/testcases/general/future_return.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/future_return.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 Class returnClass() async => new Class();
diff --git a/pkg/front_end/testcases/general/future_return.dart.strong.expect b/pkg/front_end/testcases/general/future_return.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/future_return.dart.strong.expect
rename to pkg/front_end/testcases/general/future_return.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/future_return.dart.outline.expect b/pkg/front_end/testcases/general/future_return.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/future_return.dart.outline.expect
rename to pkg/front_end/testcases/general/future_return.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/future_return.dart.strong.transformed.expect b/pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/future_return.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/future_return.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/generic_function_type_in_message.dart b/pkg/front_end/testcases/general/generic_function_type_in_message.dart
index e4eaf36..95d6bd6 100644
--- a/pkg/front_end/testcases/general/generic_function_type_in_message.dart
+++ b/pkg/front_end/testcases/general/generic_function_type_in_message.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 num add<A extends num, B extends num>(A a, B b) => a + b;
 
 test() {
diff --git a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.textual_outline.expect b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.textual_outline.expect
index 8711ddc..894e08c 100644
--- a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 num add<A extends num, B extends num>(A a, B b) => a + b;
 test() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.textual_outline_modelled.expect
index 3eb959f..744249d 100644
--- a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 num add<A extends num, B extends num>(A a, B b) => a + b;
 test() {}
diff --git a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.strong.expect b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/generic_function_type_in_message.dart.strong.expect
rename to pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.outline.expect b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/generic_function_type_in_message.dart.outline.expect
rename to pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/generic_function_type_in_message.dart.strong.transformed.expect b/pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/generic_function_type_in_message.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/generic_function_type_in_message.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/generic_function_typedef.dart b/pkg/front_end/testcases/general/generic_function_typedef.dart
index 4cdd14e..88babaf 100644
--- a/pkg/front_end/testcases/general/generic_function_typedef.dart
+++ b/pkg/front_end/testcases/general/generic_function_typedef.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 typedef E1<T> = void Function();
 typedef E2<T extends num> = void Function();
 typedef E3<T, S> = void Function();
diff --git a/pkg/front_end/testcases/general/generic_function_typedef.dart.textual_outline.expect b/pkg/front_end/testcases/general/generic_function_typedef.dart.textual_outline.expect
index fd63028..bb1448f 100644
--- a/pkg/front_end/testcases/general/generic_function_typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/generic_function_typedef.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef E1<T> = void Function();
 typedef E2<T extends num> = void Function();
 typedef E3<T, S> = void Function();
diff --git a/pkg/front_end/testcases/general/generic_function_typedef.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/generic_function_typedef.dart.textual_outline_modelled.expect
index 40fbff9..562018e 100644
--- a/pkg/front_end/testcases/general/generic_function_typedef.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/generic_function_typedef.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 typedef E1<T> = void Function();
 typedef E2<T extends num> = void Function();
diff --git a/pkg/front_end/testcases/general/generic_function_typedef.dart.strong.expect b/pkg/front_end/testcases/general/generic_function_typedef.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/generic_function_typedef.dart.strong.expect
rename to pkg/front_end/testcases/general/generic_function_typedef.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/generic_function_typedef.dart.outline.expect b/pkg/front_end/testcases/general/generic_function_typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/generic_function_typedef.dart.outline.expect
rename to pkg/front_end/testcases/general/generic_function_typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/generic_function_typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/general/generic_function_typedef.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/generic_function_typedef.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/generic_function_typedef.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/getter_call.dart b/pkg/front_end/testcases/general/getter_call.dart
index e7aa041..f9ddb1b 100644
--- a/pkg/front_end/testcases/general/getter_call.dart
+++ b/pkg/front_end/testcases/general/getter_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 bool enableRead = true;
 
 int read(int value) => enableRead ? value : -1;
diff --git a/pkg/front_end/testcases/general/getter_call.dart.textual_outline.expect b/pkg/front_end/testcases/general/getter_call.dart.textual_outline.expect
index d9d43c9..52eeaa7 100644
--- a/pkg/front_end/testcases/general/getter_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/getter_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bool enableRead = true;
 int read(int value) => enableRead ? value : -1;
 int method1() => 0;
diff --git a/pkg/front_end/testcases/general/getter_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/getter_call.dart.textual_outline_modelled.expect
index fafec6e..7b9b8af 100644
--- a/pkg/front_end/testcases/general/getter_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/getter_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bool enableRead = true;
 callField(Class c) {}
 callGetter(Class c) {}
diff --git a/pkg/front_end/testcases/general/getter_call.dart.strong.expect b/pkg/front_end/testcases/general/getter_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/getter_call.dart.strong.expect
rename to pkg/front_end/testcases/general/getter_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/getter_call.dart.outline.expect b/pkg/front_end/testcases/general/getter_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/getter_call.dart.outline.expect
rename to pkg/front_end/testcases/general/getter_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/getter_call.dart.strong.transformed.expect b/pkg/front_end/testcases/general/getter_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/getter_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/getter_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/getter_vs_setter_type.dart b/pkg/front_end/testcases/general/getter_vs_setter_type.dart
index 4be746d..42b228d 100644
--- a/pkg/front_end/testcases/general/getter_vs_setter_type.dart
+++ b/pkg/front_end/testcases/general/getter_vs_setter_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class A {
   int get property1; // ok
   void set property1(int i);
diff --git a/pkg/front_end/testcases/general/getter_vs_setter_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/getter_vs_setter_type.dart.textual_outline.expect
index 4c98331..c599279 100644
--- a/pkg/front_end/testcases/general/getter_vs_setter_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/getter_vs_setter_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   int get property1;
   void set property1(int i);
diff --git a/pkg/front_end/testcases/general/getter_vs_setter_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/getter_vs_setter_type.dart.textual_outline_modelled.expect
index 0d0827c..83143ac 100644
--- a/pkg/front_end/testcases/general/getter_vs_setter_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/getter_vs_setter_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   String get property3;
   covariant String property6;
diff --git a/pkg/front_end/testcases/general/getter_vs_setter_type.dart.strong.expect b/pkg/front_end/testcases/general/getter_vs_setter_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/getter_vs_setter_type.dart.strong.expect
rename to pkg/front_end/testcases/general/getter_vs_setter_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/getter_vs_setter_type.dart.outline.expect b/pkg/front_end/testcases/general/getter_vs_setter_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/getter_vs_setter_type.dart.outline.expect
rename to pkg/front_end/testcases/general/getter_vs_setter_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart
index ef30a9b..1d6250a 100644
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart
+++ b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart
@@ -2,6 +2,8 @@
 // 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=2.9
+
 @Foo
 part 'having_part_with_part_and_annotation_lib1.dart';
 
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.outline.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.outline.expect
deleted file mode 100644
index ffb8048..0000000
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.outline.expect
+++ /dev/null
@@ -1,22 +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;
-
-part having_part_with_part_and_annotation_lib1.dart;
-static const field core::int* Foo = 42;
-static const field core::int* Bar = 43 /* 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
-  ;
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.strong.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.strong.expect
deleted file mode 100644
index 9e407ec..0000000
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.strong.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.strong.transformed.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.strong.transformed.expect
deleted file mode 100644
index 9e407ec..0000000
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.strong.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_part_and_annotation.dart.textual_outline.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.textual_outline.expect
index b2d893c..b4e21de 100644
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 @Foo
 part 'having_part_with_part_and_annotation_lib1.dart';
 
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.textual_outline_modelled.expect
index 4ce86ce..2f0c5fc 100644
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 @Foo
 part 'having_part_with_part_and_annotation_lib1.dart';
 
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.weak.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.weak.expect
new file mode 100644
index 0000000..5744ee3
--- /dev/null
+++ b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.weak.expect
@@ -0,0 +1,25 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib1.dart:10: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.weak.outline.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.weak.outline.expect
new file mode 100644
index 0000000..e2f8b6b
--- /dev/null
+++ b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.weak.outline.expect
@@ -0,0 +1,22 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib1.dart:10: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;
+
+part having_part_with_part_and_annotation_lib1.dart;
+static const field core::int* Foo = 42;
+static const field core::int* Bar = 43 /* 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
+  ;
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.weak.transformed.expect b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.weak.transformed.expect
new file mode 100644
index 0000000..5744ee3
--- /dev/null
+++ b/pkg/front_end/testcases/general/having_part_with_part_and_annotation.dart.weak.transformed.expect
@@ -0,0 +1,25 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib1.dart:10: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_lib1.dart b/pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib1.dart
index b2bb2d8..c7d4d5d 100644
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib1.dart
+++ b/pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib1.dart
@@ -1,3 +1,9 @@
+// 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=2.9
+
 part of 'having_part_with_part_and_annotation.dart';
 
 @Bar
diff --git a/pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib2.dart b/pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib2.dart
index 5614f61..e92c214 100644
--- a/pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib2.dart
+++ b/pkg/front_end/testcases/general/having_part_with_part_and_annotation_lib2.dart
@@ -1,3 +1,9 @@
+// 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=2.9
+
 part of 'having_part_with_part_and_annotation_lib1.dart';
 
 void fromLib2() {}
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart
index 4db6727..a0ea7f5 100644
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart
+++ b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 @Foo
 part 'having_part_with_parts_and_annotation_lib1.dart';
 
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.outline.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.outline.expect
deleted file mode 100644
index ffe69bc..0000000
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.outline.expect
+++ /dev/null
@@ -1,29 +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;
-
-part having_part_with_parts_and_annotation_lib1.dart;
-static const field core::int* Foo = 42;
-static const field core::int* Bar = 43 /* from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
-static const field core::int* Baz = 44 /* 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
-  ;
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.strong.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.strong.expect
deleted file mode 100644
index fb32300..0000000
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.strong.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.strong.transformed.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.strong.transformed.expect
deleted file mode 100644
index fb32300..0000000
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.strong.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/having_part_with_parts_and_annotation.dart.textual_outline.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.textual_outline.expect
index 24ca63b..0395dc8 100644
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 @Foo
 part 'having_part_with_parts_and_annotation_lib1.dart';
 
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.textual_outline_modelled.expect
index 754ba3f..54885d0 100644
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 @Foo
 part 'having_part_with_parts_and_annotation_lib1.dart';
 
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.weak.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.weak.expect
new file mode 100644
index 0000000..9054021
--- /dev/null
+++ b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.weak.expect
@@ -0,0 +1,40 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart:6:6: Error: The language version override has to be the same in the library and its part(s).
+// part 'having_part_with_parts_and_annotation_lib1.dart';
+//      ^
+// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart:4:1: Context: This is language version annotation in the library.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// 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 /*isNonNullableByDefault, from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
+static const field core::int* Baz = #C3 /*isNonNullableByDefault, from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
+static method fromMain() → void {}
+static method main() → dynamic {}
+static method /*isNonNullableByDefault, 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.weak.outline.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.weak.outline.expect
new file mode 100644
index 0000000..7d7ae36
--- /dev/null
+++ b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.weak.outline.expect
@@ -0,0 +1,36 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart:6:6: Error: The language version override has to be the same in the library and its part(s).
+// part 'having_part_with_parts_and_annotation_lib1.dart';
+//      ^
+// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart:4:1: Context: This is language version annotation in the library.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// 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;
+
+part having_part_with_parts_and_annotation_lib1.dart;
+static const field core::int* Foo = 42;
+static const field core::int* Bar = 43 /*isNonNullableByDefault, from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
+static const field core::int* Baz = 44 /*isNonNullableByDefault, from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
+static method fromMain() → void
+  ;
+static method main() → dynamic
+  ;
+static method /*isNonNullableByDefault, from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */ fromLib1() → void
+  ;
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.weak.transformed.expect b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.weak.transformed.expect
new file mode 100644
index 0000000..9054021
--- /dev/null
+++ b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart.weak.transformed.expect
@@ -0,0 +1,40 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart:6:6: Error: The language version override has to be the same in the library and its part(s).
+// part 'having_part_with_parts_and_annotation_lib1.dart';
+//      ^
+// pkg/front_end/testcases/general/having_part_with_parts_and_annotation.dart:4:1: Context: This is language version annotation in the library.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+// 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 /*isNonNullableByDefault, from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
+static const field core::int* Baz = #C3 /*isNonNullableByDefault, from org-dartlang-testcase:///having_part_with_parts_and_annotation_lib1.dart */;
+static method fromMain() → void {}
+static method main() → dynamic {}
+static method /*isNonNullableByDefault, 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_lib1.dart b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib1.dart
index 61dbfa8..b80296e 100644
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib1.dart
+++ b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib1.dart
@@ -1,5 +1,5 @@
 part of 'having_part_with_parts_and_annotation.dart';
-
+// @dart=2.9
 @Bar
 part 'having_part_with_parts_and_annotation_lib2.dart';
 @Baz
diff --git a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib2.dart b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib2.dart
index f5c6150..cc6767a 100644
--- a/pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib2.dart
+++ b/pkg/front_end/testcases/general/having_part_with_parts_and_annotation_lib2.dart
@@ -1,3 +1,4 @@
 part of 'having_part_with_parts_and_annotation_lib1.dart';
 
+// @dart=2.9
 void fromLib2() {}
diff --git a/pkg/front_end/testcases/general/hello.dart b/pkg/front_end/testcases/general/hello.dart
index bcb7f2e..47d3fa4 100644
--- a/pkg/front_end/testcases/general/hello.dart
+++ b/pkg/front_end/testcases/general/hello.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   print("Hello, World!");
 }
diff --git a/pkg/front_end/testcases/general/hello.dart.outline.expect b/pkg/front_end/testcases/general/hello.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/hello.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/hello.dart.textual_outline.expect b/pkg/front_end/testcases/general/hello.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/hello.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/hello.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/hello.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/hello.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/hello.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/hello.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/hello.dart.strong.expect b/pkg/front_end/testcases/general/hello.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/hello.dart.strong.expect
rename to pkg/front_end/testcases/general/hello.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/hello.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/hello.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/hello.dart.strong.transformed.expect b/pkg/front_end/testcases/general/hello.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/hello.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/hello.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/hierarchy.dart b/pkg/front_end/testcases/general/hierarchy.dart
index 8c4f658..241e463 100644
--- a/pkg/front_end/testcases/general/hierarchy.dart
+++ b/pkg/front_end/testcases/general/hierarchy.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class A1 {
   void extendedClassMember() {}
   void extendedInterfaceMember();
diff --git a/pkg/front_end/testcases/general/hierarchy.dart.textual_outline.expect b/pkg/front_end/testcases/general/hierarchy.dart.textual_outline.expect
index 15a7cc5..7e60bdc 100644
--- a/pkg/front_end/testcases/general/hierarchy.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/hierarchy.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A1 {
   void extendedClassMember() {}
   void extendedInterfaceMember();
diff --git a/pkg/front_end/testcases/general/hierarchy.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/hierarchy.dart.textual_outline_modelled.expect
index 916bcc2..0a7db26 100644
--- a/pkg/front_end/testcases/general/hierarchy.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/hierarchy.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A1 {
   void extendedClassMember() {}
   void extendedInterfaceMember();
diff --git a/pkg/front_end/testcases/general/hierarchy.dart.strong.expect b/pkg/front_end/testcases/general/hierarchy.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/hierarchy.dart.strong.expect
rename to pkg/front_end/testcases/general/hierarchy.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/hierarchy.dart.outline.expect b/pkg/front_end/testcases/general/hierarchy.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/hierarchy.dart.outline.expect
rename to pkg/front_end/testcases/general/hierarchy.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/hierarchy.dart.strong.transformed.expect b/pkg/front_end/testcases/general/hierarchy.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/hierarchy.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/hierarchy.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart b/pkg/front_end/testcases/general/if_null_in_cascade.dart
index edf5993..28ade66 100644
--- a/pkg/front_end/testcases/general/if_null_in_cascade.dart
+++ b/pkg/front_end/testcases/general/if_null_in_cascade.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {
   method() {}
 }
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart.textual_outline.expect b/pkg/front_end/testcases/general/if_null_in_cascade.dart.textual_outline.expect
index c83fa07..a758356 100644
--- a/pkg/front_end/testcases/general/if_null_in_cascade.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/if_null_in_cascade.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   method() {}
 }
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/if_null_in_cascade.dart.textual_outline_modelled.expect
index c83fa07..a758356 100644
--- a/pkg/front_end/testcases/general/if_null_in_cascade.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/if_null_in_cascade.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   method() {}
 }
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart.strong.expect b/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/if_null_in_cascade.dart.strong.expect
rename to pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart.outline.expect b/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/if_null_in_cascade.dart.outline.expect
rename to pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/if_null_in_cascade.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/if_null_in_cascade.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/if_null_in_list_literal.dart b/pkg/front_end/testcases/general/if_null_in_list_literal.dart
index 5127c27..2e5832b 100644
--- a/pkg/front_end/testcases/general/if_null_in_list_literal.dart
+++ b/pkg/front_end/testcases/general/if_null_in_list_literal.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 main() {
   Object a, b;
   return [a ?? b];
diff --git a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.outline.expect b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.textual_outline.expect b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.strong.expect b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/if_null_in_list_literal.dart.strong.expect
rename to pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/if_null_in_list_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/if_null_in_list_literal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/if_null_in_list_literal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart b/pkg/front_end/testcases/general/if_null_in_set_literal.dart
index f1d0b2a..3fd7cbe 100644
--- a/pkg/front_end/testcases/general/if_null_in_set_literal.dart
+++ b/pkg/front_end/testcases/general/if_null_in_set_literal.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 main() {
   Object a, b;
   return {a ?? b};
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.outline.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.textual_outline.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.expect
rename to pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/if_null_in_set_literal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/if_null_in_set_literal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/ignore_function.dart b/pkg/front_end/testcases/general/ignore_function.dart
index 83c33eb..347a8e2 100644
--- a/pkg/front_end/testcases/general/ignore_function.dart
+++ b/pkg/front_end/testcases/general/ignore_function.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import "dart:core" as core;
 
 class A implements core.Function {
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.hierarchy.expect b/pkg/front_end/testcases/general/ignore_function.dart.hierarchy.expect
deleted file mode 100644
index 329fb74..0000000
--- a/pkg/front_end/testcases/general/ignore_function.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    A.==
-  classSetters:
-
-Function:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Function.==
-  classSetters:
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Function
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    B.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    B.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.textual_outline.expect b/pkg/front_end/testcases/general/ignore_function.dart.textual_outline.expect
index 81dde83..74f997b 100644
--- a/pkg/front_end/testcases/general/ignore_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/ignore_function.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "dart:core" as core;
 
 class A implements core.Function {
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/ignore_function.dart.textual_outline_modelled.expect
index 81dde83..74f997b 100644
--- a/pkg/front_end/testcases/general/ignore_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/ignore_function.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "dart:core" as core;
 
 class A implements core.Function {
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.strong.expect b/pkg/front_end/testcases/general/ignore_function.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/ignore_function.dart.strong.expect
rename to pkg/front_end/testcases/general/ignore_function.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.outline.expect b/pkg/front_end/testcases/general/ignore_function.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/ignore_function.dart.outline.expect
rename to pkg/front_end/testcases/general/ignore_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general/ignore_function.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/ignore_function.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/ignore_function.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart b/pkg/front_end/testcases/general/illegal_named_function_expression.dart
index ac09db3..2571785 100644
--- a/pkg/front_end/testcases/general/illegal_named_function_expression.dart
+++ b/pkg/front_end/testcases/general/illegal_named_function_expression.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   var x = void f<T>(T t) {};
   print(x.runtimeType);
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.outline.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.textual_outline.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.strong.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/illegal_named_function_expression.dart.strong.expect
rename to pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression.dart.strong.transformed.expect b/pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/illegal_named_function_expression.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/illegal_named_function_expression.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart
index 2b3df38..1b0e211 100644
--- a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart
+++ b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   void f() {}
   print(void f() {});
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.outline.expect b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.textual_outline.expect b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.strong.expect b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.strong.expect
rename to pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.strong.transformed.expect b/pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/illegal_named_function_expression_scope.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart
index f5a8e03..87a1c6c 100644
--- a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart
+++ b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 const constTopLevelField = 42;
 
 class C {
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.hierarchy.expect b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.hierarchy.expect
deleted file mode 100644
index 62f92d8..0000000
--- a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.constField
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.textual_outline.expect b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.textual_outline.expect
index 31deaf6..0d643b9 100644
--- a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const constTopLevelField = 42;
 
 class C {
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.textual_outline_modelled.expect
index 7a87544..fb623f8 100644
--- a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   const C(x);
   static const constField = 87;
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.strong.expect b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.strong.expect
rename to pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.outline.expect b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.outline.expect
rename to pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/implicit_constructor_02.dart b/pkg/front_end/testcases/general/implicit_constructor_02.dart
index 818c138..6e6421f 100644
--- a/pkg/front_end/testcases/general/implicit_constructor_02.dart
+++ b/pkg/front_end/testcases/general/implicit_constructor_02.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // Derived from co19/Language/Mixins/Mixin_Application/implicit_constructor_t02
 
 class A {
diff --git a/pkg/front_end/testcases/general/implicit_constructor_02.dart.textual_outline.expect b/pkg/front_end/testcases/general/implicit_constructor_02.dart.textual_outline.expect
index 9b741d7..2b9d581 100644
--- a/pkg/front_end/testcases/general/implicit_constructor_02.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/implicit_constructor_02.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   bool v1;
   num v2;
diff --git a/pkg/front_end/testcases/general/implicit_constructor_02.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/implicit_constructor_02.dart.textual_outline_modelled.expect
index fca520a..73848df 100644
--- a/pkg/front_end/testcases/general/implicit_constructor_02.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/implicit_constructor_02.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(bool this.v1, num this.v2);
   bool v1;
diff --git a/pkg/front_end/testcases/general/implicit_constructor_02.dart.strong.expect b/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_constructor_02.dart.strong.expect
rename to pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/implicit_constructor_02.dart.outline.expect b/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_constructor_02.dart.outline.expect
rename to pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/implicit_constructor_02.dart.strong.transformed.expect b/pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_constructor_02.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/implicit_constructor_02.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/implicit_covariance.dart b/pkg/front_end/testcases/general/implicit_covariance.dart
index 90b9dfc..09d9876 100644
--- a/pkg/front_end/testcases/general/implicit_covariance.dart
+++ b/pkg/front_end/testcases/general/implicit_covariance.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class A<T> {
   foo(T x);
 }
diff --git a/pkg/front_end/testcases/general/implicit_covariance.dart.textual_outline.expect b/pkg/front_end/testcases/general/implicit_covariance.dart.textual_outline.expect
index 764181a..bf4edd7 100644
--- a/pkg/front_end/testcases/general/implicit_covariance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/implicit_covariance.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A<T> {
   foo(T x);
 }
diff --git a/pkg/front_end/testcases/general/implicit_covariance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/implicit_covariance.dart.textual_outline_modelled.expect
index 764181a..bf4edd7 100644
--- a/pkg/front_end/testcases/general/implicit_covariance.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/implicit_covariance.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A<T> {
   foo(T x);
 }
diff --git a/pkg/front_end/testcases/general/implicit_covariance.dart.strong.expect b/pkg/front_end/testcases/general/implicit_covariance.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_covariance.dart.strong.expect
rename to pkg/front_end/testcases/general/implicit_covariance.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/implicit_covariance.dart.outline.expect b/pkg/front_end/testcases/general/implicit_covariance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_covariance.dart.outline.expect
rename to pkg/front_end/testcases/general/implicit_covariance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/implicit_covariance.dart.strong.transformed.expect b/pkg/front_end/testcases/general/implicit_covariance.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_covariance.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/implicit_covariance.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/implicit_new.dart b/pkg/front_end/testcases/general/implicit_new.dart
index d10629f..f39dba1 100644
--- a/pkg/front_end/testcases/general/implicit_new.dart
+++ b/pkg/front_end/testcases/general/implicit_new.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import "implicit_new.dart" as prefix;
 
 class Foo {
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.hierarchy.expect b/pkg/front_end/testcases/general/implicit_new.dart.hierarchy.expect
deleted file mode 100644
index 9d1c34f..0000000
--- a/pkg/front_end/testcases/general/implicit_new.dart.hierarchy.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Bar.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-IndexTester:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    IndexTester.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    IndexTester.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.textual_outline.expect b/pkg/front_end/testcases/general/implicit_new.dart.textual_outline.expect
index c3f5004..5b045ab 100644
--- a/pkg/front_end/testcases/general/implicit_new.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/implicit_new.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "implicit_new.dart" as prefix;
 
 class Foo {
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/implicit_new.dart.textual_outline_modelled.expect
index 72ae030..f68c2a5 100644
--- a/pkg/front_end/testcases/general/implicit_new.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/implicit_new.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "implicit_new.dart" as prefix;
 
 class Bar {
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.strong.expect b/pkg/front_end/testcases/general/implicit_new.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_new.dart.strong.expect
rename to pkg/front_end/testcases/general/implicit_new.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.outline.expect b/pkg/front_end/testcases/general/implicit_new.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_new.dart.outline.expect
rename to pkg/front_end/testcases/general/implicit_new.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.strong.transformed.expect b/pkg/front_end/testcases/general/implicit_new.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_new.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/implicit_new.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart b/pkg/front_end/testcases/general/implicit_scope_test.dart
index 49d0dd9..3da69fc 100644
--- a/pkg/front_end/testcases/general/implicit_scope_test.dart
+++ b/pkg/front_end/testcases/general/implicit_scope_test.dart
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 // Test that if, while etc create an implicit scope if the body
 // is not a compound statement.
-
+// @dart=2.9
 import "package:expect/expect.dart";
 
 class ImplicitScopeTest {
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.hierarchy.expect
deleted file mode 100644
index e04e5f9..0000000
--- a/pkg/front_end/testcases/general/implicit_scope_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,388 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ImplicitScopeTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    ImplicitScopeTest.alwaysTrue
-    Object._instanceOf
-    ImplicitScopeTest.testMain
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.textual_outline.expect
index ea2f363..3ac254a 100644
--- a/pkg/front_end/testcases/general/implicit_scope_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/implicit_scope_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class ImplicitScopeTest {
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.textual_outline_modelled.expect
index ea2f363..3ac254a 100644
--- a/pkg/front_end/testcases/general/implicit_scope_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/implicit_scope_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class ImplicitScopeTest {
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.strong.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_scope_test.dart.strong.expect
rename to pkg/front_end/testcases/general/implicit_scope_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.outline.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_scope_test.dart.outline.expect
rename to pkg/front_end/testcases/general/implicit_scope_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/implicit_scope_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_scope_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/implicit_scope_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/implicit_this.dart b/pkg/front_end/testcases/general/implicit_this.dart
index ed2a435..8acf692 100644
--- a/pkg/front_end/testcases/general/implicit_this.dart
+++ b/pkg/front_end/testcases/general/implicit_this.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   m() {
     print("Called m");
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.hierarchy.expect b/pkg/front_end/testcases/general/implicit_this.dart.hierarchy.expect
deleted file mode 100644
index a5e82af..0000000
--- a/pkg/front_end/testcases/general/implicit_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.testC
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    D.testD
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.testC
-  classSetters:
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.textual_outline.expect b/pkg/front_end/testcases/general/implicit_this.dart.textual_outline.expect
index 663566a..a3fe55a 100644
--- a/pkg/front_end/testcases/general/implicit_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/implicit_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   m() {}
   testC() {}
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/implicit_this.dart.textual_outline_modelled.expect
index 663566a..a3fe55a 100644
--- a/pkg/front_end/testcases/general/implicit_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/implicit_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   m() {}
   testC() {}
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.strong.expect b/pkg/front_end/testcases/general/implicit_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_this.dart.strong.expect
rename to pkg/front_end/testcases/general/implicit_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.outline.expect b/pkg/front_end/testcases/general/implicit_this.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_this.dart.outline.expect
rename to pkg/front_end/testcases/general/implicit_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.strong.transformed.expect b/pkg/front_end/testcases/general/implicit_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/implicit_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/implicit_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_getters.dart b/pkg/front_end/testcases/general/import_conflicting_getters.dart
index cc3bc26..3d6400b 100644
--- a/pkg/front_end/testcases/general/import_conflicting_getters.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_getters.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'import_conflicting_getters_lib1.dart';
 import 'import_conflicting_getters_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_getters.dart.textual_outline.expect b/pkg/front_end/testcases/general/import_conflicting_getters.dart.textual_outline.expect
index 4e8aa56..a48d255 100644
--- a/pkg/front_end/testcases/general/import_conflicting_getters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/import_conflicting_getters.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_conflicting_getters_lib1.dart';
 import 'import_conflicting_getters_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_getters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/import_conflicting_getters.dart.textual_outline_modelled.expect
index 2c010bc..7294c5c 100644
--- a/pkg/front_end/testcases/general/import_conflicting_getters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/import_conflicting_getters.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_conflicting_getters_lib1.dart';
 import 'import_conflicting_getters_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_getters.dart.strong.expect b/pkg/front_end/testcases/general/import_conflicting_getters.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_getters.dart.strong.expect
rename to pkg/front_end/testcases/general/import_conflicting_getters.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_getters.dart.outline.expect b/pkg/front_end/testcases/general/import_conflicting_getters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_getters.dart.outline.expect
rename to pkg/front_end/testcases/general/import_conflicting_getters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_getters.dart.strong.transformed.expect b/pkg/front_end/testcases/general/import_conflicting_getters.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_getters.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/import_conflicting_getters.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_getters_lib1.dart b/pkg/front_end/testcases/general/import_conflicting_getters_lib1.dart
index 1891fee..9dc57c0 100644
--- a/pkg/front_end/testcases/general/import_conflicting_getters_lib1.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_getters_lib1.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 int get foo => 42;
diff --git a/pkg/front_end/testcases/general/import_conflicting_getters_lib2.dart b/pkg/front_end/testcases/general/import_conflicting_getters_lib2.dart
index 906c788..c8a21ba 100644
--- a/pkg/front_end/testcases/general/import_conflicting_getters_lib2.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_getters_lib2.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 int get foo => 87;
diff --git a/pkg/front_end/testcases/general/import_conflicting_setters.dart b/pkg/front_end/testcases/general/import_conflicting_setters.dart
index e9e730c..4fb3d63 100644
--- a/pkg/front_end/testcases/general/import_conflicting_setters.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_setters.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'import_conflicting_setters_lib1.dart';
 import 'import_conflicting_setters_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_setters.dart.textual_outline.expect b/pkg/front_end/testcases/general/import_conflicting_setters.dart.textual_outline.expect
index 9f1f251..de6e574 100644
--- a/pkg/front_end/testcases/general/import_conflicting_setters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/import_conflicting_setters.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_conflicting_setters_lib1.dart';
 import 'import_conflicting_setters_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_setters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/import_conflicting_setters.dart.textual_outline_modelled.expect
index 4bc9bf2..9c670c0 100644
--- a/pkg/front_end/testcases/general/import_conflicting_setters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/import_conflicting_setters.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_conflicting_setters_lib1.dart';
 import 'import_conflicting_setters_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_setters.dart.strong.expect b/pkg/front_end/testcases/general/import_conflicting_setters.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_setters.dart.strong.expect
rename to pkg/front_end/testcases/general/import_conflicting_setters.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_setters.dart.outline.expect b/pkg/front_end/testcases/general/import_conflicting_setters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_setters.dart.outline.expect
rename to pkg/front_end/testcases/general/import_conflicting_setters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_setters.dart.strong.transformed.expect b/pkg/front_end/testcases/general/import_conflicting_setters.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_setters.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/import_conflicting_setters.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_setters_lib1.dart b/pkg/front_end/testcases/general/import_conflicting_setters_lib1.dart
index ddcf836..b292152 100644
--- a/pkg/front_end/testcases/general/import_conflicting_setters_lib1.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_setters_lib1.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 void set foo(int value) {}
diff --git a/pkg/front_end/testcases/general/import_conflicting_setters_lib2.dart b/pkg/front_end/testcases/general/import_conflicting_setters_lib2.dart
index ddcf836..b292152 100644
--- a/pkg/front_end/testcases/general/import_conflicting_setters_lib2.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_setters_lib2.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 void set foo(int value) {}
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member.dart b/pkg/front_end/testcases/general/import_conflicting_type_member.dart
index 9173fee..7d9525b 100644
--- a/pkg/front_end/testcases/general/import_conflicting_type_member.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_type_member.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'import_conflicting_type_member_lib1.dart';
 import 'import_conflicting_type_member_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member.dart.textual_outline.expect b/pkg/front_end/testcases/general/import_conflicting_type_member.dart.textual_outline.expect
index 5f91bbc..1b63cbc 100644
--- a/pkg/front_end/testcases/general/import_conflicting_type_member.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/import_conflicting_type_member.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_conflicting_type_member_lib1.dart';
 import 'import_conflicting_type_member_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/import_conflicting_type_member.dart.textual_outline_modelled.expect
index 4574f84..2b4d5e8 100644
--- a/pkg/front_end/testcases/general/import_conflicting_type_member.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/import_conflicting_type_member.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_conflicting_type_member_lib1.dart';
 import 'import_conflicting_type_member_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member.dart.strong.expect b/pkg/front_end/testcases/general/import_conflicting_type_member.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_type_member.dart.strong.expect
rename to pkg/front_end/testcases/general/import_conflicting_type_member.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member.dart.outline.expect b/pkg/front_end/testcases/general/import_conflicting_type_member.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_type_member.dart.outline.expect
rename to pkg/front_end/testcases/general/import_conflicting_type_member.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member.dart.strong.transformed.expect b/pkg/front_end/testcases/general/import_conflicting_type_member.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_type_member.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/import_conflicting_type_member.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member_lib1.dart b/pkg/front_end/testcases/general/import_conflicting_type_member_lib1.dart
index cbb7d07..fdcef7f 100644
--- a/pkg/front_end/testcases/general/import_conflicting_type_member_lib1.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_type_member_lib1.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 class Foo {}
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member_lib2.dart b/pkg/front_end/testcases/general/import_conflicting_type_member_lib2.dart
index ccaec3c..1a4623e 100644
--- a/pkg/front_end/testcases/general/import_conflicting_type_member_lib2.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_type_member_lib2.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 Foo() {}
diff --git a/pkg/front_end/testcases/general/import_conflicting_types.dart b/pkg/front_end/testcases/general/import_conflicting_types.dart
index 1f34f02..8a8869d 100644
--- a/pkg/front_end/testcases/general/import_conflicting_types.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_types.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'import_conflicting_types_lib1.dart';
 import 'import_conflicting_types_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_types.dart.textual_outline.expect b/pkg/front_end/testcases/general/import_conflicting_types.dart.textual_outline.expect
index 1d6b54a..612856d 100644
--- a/pkg/front_end/testcases/general/import_conflicting_types.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/import_conflicting_types.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_conflicting_types_lib1.dart';
 import 'import_conflicting_types_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_types.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/import_conflicting_types.dart.textual_outline_modelled.expect
index 8b0c6e4..662cbba 100644
--- a/pkg/front_end/testcases/general/import_conflicting_types.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/import_conflicting_types.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'import_conflicting_types_lib1.dart';
 import 'import_conflicting_types_lib2.dart';
 
diff --git a/pkg/front_end/testcases/general/import_conflicting_types.dart.strong.expect b/pkg/front_end/testcases/general/import_conflicting_types.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_types.dart.strong.expect
rename to pkg/front_end/testcases/general/import_conflicting_types.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_types.dart.outline.expect b/pkg/front_end/testcases/general/import_conflicting_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_types.dart.outline.expect
rename to pkg/front_end/testcases/general/import_conflicting_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_types.dart.strong.transformed.expect b/pkg/front_end/testcases/general/import_conflicting_types.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/import_conflicting_types.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/import_conflicting_types.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/import_conflicting_types_lib1.dart b/pkg/front_end/testcases/general/import_conflicting_types_lib1.dart
index cbb7d07..fdcef7f 100644
--- a/pkg/front_end/testcases/general/import_conflicting_types_lib1.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_types_lib1.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 class Foo {}
diff --git a/pkg/front_end/testcases/general/import_conflicting_types_lib2.dart b/pkg/front_end/testcases/general/import_conflicting_types_lib2.dart
index cbb7d07..fdcef7f 100644
--- a/pkg/front_end/testcases/general/import_conflicting_types_lib2.dart
+++ b/pkg/front_end/testcases/general/import_conflicting_types_lib2.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 class Foo {}
diff --git a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart b/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart
index e174922..2be1450 100644
--- a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart
+++ b/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class C {
   C.a(this);
   C.b(this.);
diff --git a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.hierarchy.expect b/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.textual_outline.expect b/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.textual_outline.expect
index 5811235..00f5ffc 100644
--- a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C.a(this.);
   C.b(this.);
diff --git a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.strong.expect b/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.strong.expect
rename to pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.outline.expect b/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.outline.expect
rename to pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/incomplete_field_formal_parameter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/infer_equals.dart b/pkg/front_end/testcases/general/infer_equals.dart
index 5ef9b93..12aa6e7 100644
--- a/pkg/front_end/testcases/general/infer_equals.dart
+++ b/pkg/front_end/testcases/general/infer_equals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.6
 
 class Class {
diff --git a/pkg/front_end/testcases/general/infer_equals.dart.textual_outline.expect b/pkg/front_end/testcases/general/infer_equals.dart.textual_outline.expect
index f3b19e7..ad1ebf1 100644
--- a/pkg/front_end/testcases/general/infer_equals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/infer_equals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 // @dart = 2.6
 class Class {
   var field;
diff --git a/pkg/front_end/testcases/general/infer_equals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/infer_equals.dart.textual_outline_modelled.expect
index 00f7d50..7cc0fedd 100644
--- a/pkg/front_end/testcases/general/infer_equals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/infer_equals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 // @dart = 2.6
 class Class {
   operator ==(o) {}
diff --git a/pkg/front_end/testcases/general/infer_equals.dart.strong.expect b/pkg/front_end/testcases/general/infer_equals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_equals.dart.strong.expect
rename to pkg/front_end/testcases/general/infer_equals.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/infer_equals.dart.outline.expect b/pkg/front_end/testcases/general/infer_equals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_equals.dart.outline.expect
rename to pkg/front_end/testcases/general/infer_equals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/infer_equals.dart.strong.transformed.expect b/pkg/front_end/testcases/general/infer_equals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_equals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/infer_equals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/infer_field_from_multiple.dart b/pkg/front_end/testcases/general/infer_field_from_multiple.dart
index d3ce0ae..dd2a974 100644
--- a/pkg/front_end/testcases/general/infer_field_from_multiple.dart
+++ b/pkg/front_end/testcases/general/infer_field_from_multiple.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A<T> {
   var field1 = 0;
   var field2 = 0;
diff --git a/pkg/front_end/testcases/general/infer_field_from_multiple.dart.textual_outline.expect b/pkg/front_end/testcases/general/infer_field_from_multiple.dart.textual_outline.expect
index 9131faf..ce8b7b7 100644
--- a/pkg/front_end/testcases/general/infer_field_from_multiple.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/infer_field_from_multiple.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   var field1 = 0;
   var field2 = 0;
diff --git a/pkg/front_end/testcases/general/infer_field_from_multiple.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/infer_field_from_multiple.dart.textual_outline_modelled.expect
index 9e2619e..8a374a2 100644
--- a/pkg/front_end/testcases/general/infer_field_from_multiple.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/infer_field_from_multiple.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   T field10;
   T field11;
diff --git a/pkg/front_end/testcases/general/infer_field_from_multiple.dart.strong.expect b/pkg/front_end/testcases/general/infer_field_from_multiple.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_field_from_multiple.dart.strong.expect
rename to pkg/front_end/testcases/general/infer_field_from_multiple.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/infer_field_from_multiple.dart.outline.expect b/pkg/front_end/testcases/general/infer_field_from_multiple.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_field_from_multiple.dart.outline.expect
rename to pkg/front_end/testcases/general/infer_field_from_multiple.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/infer_field_type.dart b/pkg/front_end/testcases/general/infer_field_type.dart
index dcea245..0a8bda7 100644
--- a/pkg/front_end/testcases/general/infer_field_type.dart
+++ b/pkg/front_end/testcases/general/infer_field_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class C extends B {
   var field;
 }
diff --git a/pkg/front_end/testcases/general/infer_field_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/infer_field_type.dart.textual_outline.expect
index 42aad86..8861596 100644
--- a/pkg/front_end/testcases/general/infer_field_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/infer_field_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C extends B {
   var field;
 }
diff --git a/pkg/front_end/testcases/general/infer_field_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/infer_field_type.dart.textual_outline_modelled.expect
index 69cf59c..4255787 100644
--- a/pkg/front_end/testcases/general/infer_field_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/infer_field_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var field = 0;
 }
diff --git a/pkg/front_end/testcases/general/infer_field_type.dart.strong.expect b/pkg/front_end/testcases/general/infer_field_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_field_type.dart.strong.expect
rename to pkg/front_end/testcases/general/infer_field_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/infer_field_type.dart.outline.expect b/pkg/front_end/testcases/general/infer_field_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_field_type.dart.outline.expect
rename to pkg/front_end/testcases/general/infer_field_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/infer_field_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general/infer_field_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_field_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/infer_field_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart
index d10fb48..cb84d8e 100644
--- a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart
+++ b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class Base {}
 
 abstract class MixinA<T> {
diff --git a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.textual_outline.expect
index b5af5e7..e83d7c9 100644
--- a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Base {}
 
 abstract class MixinA<T> {
diff --git a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.textual_outline_modelled.expect
index e13a164..bf1ed7b 100644
--- a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Base {}
 
 abstract class Class extends Base with MixinA {
diff --git a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.strong.expect b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.strong.expect
rename to pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.outline.expect b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.outline.expect
rename to pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/infer_fixed_generic_return_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart
index 981a32f..4b4e481 100644
--- a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart
+++ b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 typedef F<T> = T Function(T, T);
 
 test1() {
diff --git a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.textual_outline.expect b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.textual_outline.expect
index 7f419b2..2f1d713 100644
--- a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef F<T> = T Function(T, T);
 test1() {}
 test2() {}
diff --git a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.textual_outline_modelled.expect
index 4a807d3..a7bcd85 100644
--- a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 test1() {}
 test2() {}
diff --git a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.strong.expect b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.strong.expect
rename to pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.outline.expect b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.outline.expect
rename to pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.strong.transformed.expect b/pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/infer_generic_type_parameter_mismatch.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart
index 180da08..74cb869 100644
--- a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart
+++ b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Class {
   var map = {
     'foo': (String a) {
diff --git a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.textual_outline.expect b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.textual_outline.expect
index e1d5d9a..80f7146 100644
--- a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   var map = {
     'foo': (String a) {
diff --git a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.textual_outline_modelled.expect
index e1d5d9a..80f7146 100644
--- a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   var map = {
     'foo': (String a) {
diff --git a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.strong.expect b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.strong.expect
rename to pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.outline.expect b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.outline.expect
rename to pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.strong.transformed.expect b/pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/infer_map_literal_with_closure.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/inherit_function.dart b/pkg/front_end/testcases/general/inherit_function.dart
index c670d37..304fef7 100644
--- a/pkg/front_end/testcases/general/inherit_function.dart
+++ b/pkg/front_end/testcases/general/inherit_function.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A implements Function {}
 
 class B extends Function {}
diff --git a/pkg/front_end/testcases/general/inherit_function.dart.textual_outline.expect b/pkg/front_end/testcases/general/inherit_function.dart.textual_outline.expect
index a94f799..a8cacf7 100644
--- a/pkg/front_end/testcases/general/inherit_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/inherit_function.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A implements Function {}
 
 class B extends Function {}
diff --git a/pkg/front_end/testcases/general/inherit_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/inherit_function.dart.textual_outline_modelled.expect
index a94f799..a8cacf7 100644
--- a/pkg/front_end/testcases/general/inherit_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/inherit_function.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A implements Function {}
 
 class B extends Function {}
diff --git a/pkg/front_end/testcases/general/inherit_function.dart.strong.expect b/pkg/front_end/testcases/general/inherit_function.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/inherit_function.dart.strong.expect
rename to pkg/front_end/testcases/general/inherit_function.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/inherit_function.dart.outline.expect b/pkg/front_end/testcases/general/inherit_function.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/inherit_function.dart.outline.expect
rename to pkg/front_end/testcases/general/inherit_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/inherit_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general/inherit_function.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/inherit_function.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/inherit_function.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/initialzation_errors.dart b/pkg/front_end/testcases/general/initialzation_errors.dart
index 0b399c2..bce2468 100644
--- a/pkg/front_end/testcases/general/initialzation_errors.dart
+++ b/pkg/front_end/testcases/general/initialzation_errors.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   int x;
   A()
diff --git a/pkg/front_end/testcases/general/initialzation_errors.dart.textual_outline.expect b/pkg/front_end/testcases/general/initialzation_errors.dart.textual_outline.expect
index f1eb7f2..c2ae57e 100644
--- a/pkg/front_end/testcases/general/initialzation_errors.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/initialzation_errors.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int x;
   A()
diff --git a/pkg/front_end/testcases/general/initialzation_errors.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/initialzation_errors.dart.textual_outline_modelled.expect
index f09d803..6db4109 100644
--- a/pkg/front_end/testcases/general/initialzation_errors.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/initialzation_errors.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A()
       : this.x = 41,
diff --git a/pkg/front_end/testcases/general/initialzation_errors.dart.strong.expect b/pkg/front_end/testcases/general/initialzation_errors.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/initialzation_errors.dart.strong.expect
rename to pkg/front_end/testcases/general/initialzation_errors.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/initialzation_errors.dart.outline.expect b/pkg/front_end/testcases/general/initialzation_errors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/initialzation_errors.dart.outline.expect
rename to pkg/front_end/testcases/general/initialzation_errors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/initialzation_errors.dart.strong.transformed.expect b/pkg/front_end/testcases/general/initialzation_errors.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/initialzation_errors.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/initialzation_errors.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/instance_setter_conflict.dart b/pkg/front_end/testcases/general/instance_setter_conflict.dart
index c570aaf..6f8c3b7 100644
--- a/pkg/front_end/testcases/general/instance_setter_conflict.dart
+++ b/pkg/front_end/testcases/general/instance_setter_conflict.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   int v;
 }
diff --git a/pkg/front_end/testcases/general/instance_setter_conflict.dart.textual_outline.expect b/pkg/front_end/testcases/general/instance_setter_conflict.dart.textual_outline.expect
index 90576ff..fc33054 100644
--- a/pkg/front_end/testcases/general/instance_setter_conflict.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/instance_setter_conflict.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int v;
 }
diff --git a/pkg/front_end/testcases/general/instance_setter_conflict.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/instance_setter_conflict.dart.textual_outline_modelled.expect
index e921e15..c636e4b 100644
--- a/pkg/front_end/testcases/general/instance_setter_conflict.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/instance_setter_conflict.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int v;
 }
diff --git a/pkg/front_end/testcases/general/instance_setter_conflict.dart.strong.expect b/pkg/front_end/testcases/general/instance_setter_conflict.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/instance_setter_conflict.dart.strong.expect
rename to pkg/front_end/testcases/general/instance_setter_conflict.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/instance_setter_conflict.dart.outline.expect b/pkg/front_end/testcases/general/instance_setter_conflict.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/instance_setter_conflict.dart.outline.expect
rename to pkg/front_end/testcases/general/instance_setter_conflict.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/instance_setter_conflict.dart.strong.transformed.expect b/pkg/front_end/testcases/general/instance_setter_conflict.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/instance_setter_conflict.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/instance_setter_conflict.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/interface_conflict.dart b/pkg/front_end/testcases/general/interface_conflict.dart
index d7ea60a..293f540 100644
--- a/pkg/front_end/testcases/general/interface_conflict.dart
+++ b/pkg/front_end/testcases/general/interface_conflict.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   int get n => 1;
 }
diff --git a/pkg/front_end/testcases/general/interface_conflict.dart.textual_outline.expect b/pkg/front_end/testcases/general/interface_conflict.dart.textual_outline.expect
index 669b460..0bbb31c 100644
--- a/pkg/front_end/testcases/general/interface_conflict.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/interface_conflict.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int get n => 1;
 }
diff --git a/pkg/front_end/testcases/general/interface_conflict.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/interface_conflict.dart.textual_outline_modelled.expect
index d216e6b..692b067 100644
--- a/pkg/front_end/testcases/general/interface_conflict.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/interface_conflict.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class C implements A, B {}
 
 abstract class D implements C {}
diff --git a/pkg/front_end/testcases/general/interface_conflict.dart.strong.expect b/pkg/front_end/testcases/general/interface_conflict.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_conflict.dart.strong.expect
rename to pkg/front_end/testcases/general/interface_conflict.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/interface_conflict.dart.outline.expect b/pkg/front_end/testcases/general/interface_conflict.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_conflict.dart.outline.expect
rename to pkg/front_end/testcases/general/interface_conflict.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/interface_conflict.dart.strong.transformed.expect b/pkg/front_end/testcases/general/interface_conflict.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_conflict.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/interface_conflict.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart
index 0b50e14..bade1db 100644
--- a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart
+++ b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 library test;
 
 typedef void F<T>(T t);
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.hierarchy.expect b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.hierarchy.expect
deleted file mode 100644
index c84fdc2..0000000
--- a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.hierarchy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.textual_outline.expect b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.textual_outline.expect
index fc2a60f..fbefbcd 100644
--- a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T t);
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.textual_outline_modelled.expect
index 1269acd..2f50692 100644
--- a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<T> extends B<F<T>> implements I<F<T>> {}
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.strong.expect b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_contravariant_from_class.dart.strong.expect
rename to pkg/front_end/testcases/general/interface_contravariant_from_class.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.outline.expect b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_contravariant_from_class.dart.outline.expect
rename to pkg/front_end/testcases/general/interface_contravariant_from_class.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.strong.transformed.expect b/pkg/front_end/testcases/general/interface_contravariant_from_class.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_contravariant_from_class.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/interface_contravariant_from_class.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart
index a06fc2d..6dab5b4 100644
--- a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart
+++ b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 library test;
 
 typedef void F<T>(T t);
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.hierarchy.expect b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.hierarchy.expect
deleted file mode 100644
index c84fdc2..0000000
--- a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.hierarchy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.textual_outline.expect b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.textual_outline.expect
index aec0365..1ca533d 100644
--- a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T t);
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.textual_outline_modelled.expect
index 033ea81..50b8be8 100644
--- a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<T> extends B<F<T>> implements I<F<T>> {}
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.strong.expect b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.strong.expect
rename to pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.outline.expect b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.outline.expect
rename to pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.strong.transformed.expect b/pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/interface_covariantImpl_from_class.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart
index 010f354..683cfe7 100644
--- a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart
+++ b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 library test;
 
 typedef void F<T>(T t);
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.hierarchy.expect b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.hierarchy.expect
deleted file mode 100644
index c43a8c7..0000000
--- a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.hierarchy.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.textual_outline.expect b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.textual_outline.expect
index 203e8cd..e744f1a 100644
--- a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T t);
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.textual_outline_modelled.expect
index 4615ebb..6b99ccf 100644
--- a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A<T> {
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.strong.expect b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.strong.expect
rename to pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.outline.expect b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.outline.expect
rename to pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.strong.transformed.expect b/pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/interface_covariantInterface_from_class.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart b/pkg/front_end/testcases/general/invalid_assignment.dart
index 0c76ccc..99e06a4 100644
--- a/pkg/front_end/testcases/general/invalid_assignment.dart
+++ b/pkg/front_end/testcases/general/invalid_assignment.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {
   String operator +(int i) => '';
 }
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.hierarchy.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.hierarchy.expect
deleted file mode 100644
index ff2fa4d..0000000
--- a/pkg/front_end/testcases/general/invalid_assignment.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.textual_outline.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.textual_outline.expect
index 60f20bb..43c04b7 100644
--- a/pkg/front_end/testcases/general/invalid_assignment.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/invalid_assignment.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   String operator +(int i) => '';
 }
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.textual_outline_modelled.expect
index a50d569..65777c9 100644
--- a/pkg/front_end/testcases/general/invalid_assignment.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/invalid_assignment.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   String operator +(int i) => '';
 }
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.strong.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_assignment.dart.strong.expect
rename to pkg/front_end/testcases/general/invalid_assignment.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.outline.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_assignment.dart.outline.expect
rename to pkg/front_end/testcases/general/invalid_assignment.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.strong.transformed.expect b/pkg/front_end/testcases/general/invalid_assignment.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_assignment.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/invalid_assignment.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart b/pkg/front_end/testcases/general/invalid_cast.dart
index 105b26b..1aff128 100644
--- a/pkg/front_end/testcases/general/invalid_cast.dart
+++ b/pkg/front_end/testcases/general/invalid_cast.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class C {
   C();
   factory C.fact() => null;
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart.hierarchy.expect b/pkg/front_end/testcases/general/invalid_cast.dart.hierarchy.expect
deleted file mode 100644
index 1e37782..0000000
--- a/pkg/front_end/testcases/general/invalid_cast.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.staticFunction
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart.textual_outline.expect b/pkg/front_end/testcases/general/invalid_cast.dart.textual_outline.expect
index 225b633..743e9d9 100644
--- a/pkg/front_end/testcases/general/invalid_cast.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/invalid_cast.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C();
   factory C.fact() => null;
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/invalid_cast.dart.textual_outline_modelled.expect
index 45d7ffc..9300e3f2 100644
--- a/pkg/front_end/testcases/general/invalid_cast.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/invalid_cast.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bad() {}
 
 class C {
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart.strong.expect b/pkg/front_end/testcases/general/invalid_cast.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_cast.dart.strong.expect
rename to pkg/front_end/testcases/general/invalid_cast.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart.outline.expect b/pkg/front_end/testcases/general/invalid_cast.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_cast.dart.outline.expect
rename to pkg/front_end/testcases/general/invalid_cast.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/invalid_cast.dart.strong.transformed.expect b/pkg/front_end/testcases/general/invalid_cast.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_cast.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/invalid_cast.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/invalid_operator.dart b/pkg/front_end/testcases/general/invalid_operator.dart
index 609f1b0..9a45ff1 100644
--- a/pkg/front_end/testcases/general/invalid_operator.dart
+++ b/pkg/front_end/testcases/general/invalid_operator.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Operators1 {
   operator ==() => true;
   operator <() => true;
diff --git a/pkg/front_end/testcases/general/invalid_operator.dart.textual_outline.expect b/pkg/front_end/testcases/general/invalid_operator.dart.textual_outline.expect
index 2956df2..6ad61eb 100644
--- a/pkg/front_end/testcases/general/invalid_operator.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/invalid_operator.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Operators1 {
   operator ==() => true;
   operator <() => true;
diff --git a/pkg/front_end/testcases/general/invalid_operator.dart.strong.expect b/pkg/front_end/testcases/general/invalid_operator.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_operator.dart.strong.expect
rename to pkg/front_end/testcases/general/invalid_operator.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/invalid_operator.dart.outline.expect b/pkg/front_end/testcases/general/invalid_operator.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_operator.dart.outline.expect
rename to pkg/front_end/testcases/general/invalid_operator.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/invalid_operator2.dart b/pkg/front_end/testcases/general/invalid_operator2.dart
index 8c6f693..3b629d5 100644
--- a/pkg/front_end/testcases/general/invalid_operator2.dart
+++ b/pkg/front_end/testcases/general/invalid_operator2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Operators7 {
   operator <<T>(a) => true;
 }
diff --git a/pkg/front_end/testcases/general/invalid_operator2.dart.textual_outline.expect b/pkg/front_end/testcases/general/invalid_operator2.dart.textual_outline.expect
index bc10ea0..fc030ef 100644
--- a/pkg/front_end/testcases/general/invalid_operator2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/invalid_operator2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Operators7 {
   operator <<(){}
   Toperator>(a) => true;
diff --git a/pkg/front_end/testcases/general/invalid_operator2.dart.strong.expect b/pkg/front_end/testcases/general/invalid_operator2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_operator2.dart.strong.expect
rename to pkg/front_end/testcases/general/invalid_operator2.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/invalid_operator2.dart.outline.expect b/pkg/front_end/testcases/general/invalid_operator2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_operator2.dart.outline.expect
rename to pkg/front_end/testcases/general/invalid_operator2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/invalid_operator2.dart.strong.transformed.expect b/pkg/front_end/testcases/general/invalid_operator2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_operator2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/invalid_operator2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/invalid_operator_override.dart b/pkg/front_end/testcases/general/invalid_operator_override.dart
index 9767d57..b96cf5b 100644
--- a/pkg/front_end/testcases/general/invalid_operator_override.dart
+++ b/pkg/front_end/testcases/general/invalid_operator_override.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   A operator +(A a) => a;
   B operator -() => new B();
diff --git a/pkg/front_end/testcases/general/invalid_operator_override.dart.textual_outline.expect b/pkg/front_end/testcases/general/invalid_operator_override.dart.textual_outline.expect
index f4a5167..fe67f0b 100644
--- a/pkg/front_end/testcases/general/invalid_operator_override.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/invalid_operator_override.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A operator +(A a) => a;
   B operator -() => new B();
diff --git a/pkg/front_end/testcases/general/invalid_operator_override.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/invalid_operator_override.dart.textual_outline_modelled.expect
index f4a5167..fe67f0b 100644
--- a/pkg/front_end/testcases/general/invalid_operator_override.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/invalid_operator_override.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A operator +(A a) => a;
   B operator -() => new B();
diff --git a/pkg/front_end/testcases/general/invalid_operator_override.dart.strong.expect b/pkg/front_end/testcases/general/invalid_operator_override.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_operator_override.dart.strong.expect
rename to pkg/front_end/testcases/general/invalid_operator_override.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/invalid_operator_override.dart.outline.expect b/pkg/front_end/testcases/general/invalid_operator_override.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_operator_override.dart.outline.expect
rename to pkg/front_end/testcases/general/invalid_operator_override.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/invalid_setter_return_type.dart b/pkg/front_end/testcases/general/invalid_setter_return_type.dart
index 7bf0d86..4d813d2 100644
--- a/pkg/front_end/testcases/general/invalid_setter_return_type.dart
+++ b/pkg/front_end/testcases/general/invalid_setter_return_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 int set setter1(_) {} // error
 dynamic set setter2(_) {} // error
 void set setter3(_) {} // ok
diff --git a/pkg/front_end/testcases/general/invalid_setter_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/invalid_setter_return_type.dart.textual_outline.expect
index 5009b26..a43e4f8 100644
--- a/pkg/front_end/testcases/general/invalid_setter_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/invalid_setter_return_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 int set setter1(_) {}
 dynamic set setter2(_) {}
 void set setter3(_) {}
diff --git a/pkg/front_end/testcases/general/invalid_setter_return_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/invalid_setter_return_type.dart.textual_outline_modelled.expect
index 721e925..da95c96 100644
--- a/pkg/front_end/testcases/general/invalid_setter_return_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/invalid_setter_return_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class1 {
   int operator []=(a, b) {}
   int set setter1(_) {}
diff --git a/pkg/front_end/testcases/general/invalid_setter_return_type.dart.strong.expect b/pkg/front_end/testcases/general/invalid_setter_return_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_setter_return_type.dart.strong.expect
rename to pkg/front_end/testcases/general/invalid_setter_return_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/invalid_setter_return_type.dart.outline.expect b/pkg/front_end/testcases/general/invalid_setter_return_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_setter_return_type.dart.outline.expect
rename to pkg/front_end/testcases/general/invalid_setter_return_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/invalid_setter_return_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general/invalid_setter_return_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_setter_return_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/invalid_setter_return_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/invalid_type.dart b/pkg/front_end/testcases/general/invalid_type.dart
index f155286..49b3b24 100644
--- a/pkg/front_end/testcases/general/invalid_type.dart
+++ b/pkg/front_end/testcases/general/invalid_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class C {
   static foo() {
     this.bar();
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.hierarchy.expect b/pkg/front_end/testcases/general/invalid_type.dart.hierarchy.expect
deleted file mode 100644
index 3805794..0000000
--- a/pkg/front_end/testcases/general/invalid_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/invalid_type.dart.textual_outline.expect
index 6cef1e5..7660aef 100644
--- a/pkg/front_end/testcases/general/invalid_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/invalid_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   static foo() {}
 }
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/invalid_type.dart.textual_outline_modelled.expect
index a02ed16..fdf8e91 100644
--- a/pkg/front_end/testcases/general/invalid_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/invalid_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   static foo() {}
 }
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.strong.expect b/pkg/front_end/testcases/general/invalid_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_type.dart.strong.expect
rename to pkg/front_end/testcases/general/invalid_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.outline.expect b/pkg/front_end/testcases/general/invalid_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_type.dart.outline.expect
rename to pkg/front_end/testcases/general/invalid_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general/invalid_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invalid_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/invalid_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/invocations.dart b/pkg/front_end/testcases/general/invocations.dart
index 3166901..dcba30d 100644
--- a/pkg/front_end/testcases/general/invocations.dart
+++ b/pkg/front_end/testcases/general/invocations.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   print("Hello, World!");
   z("Hello, World!");
diff --git a/pkg/front_end/testcases/general/invocations.dart.outline.expect b/pkg/front_end/testcases/general/invocations.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/invocations.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/invocations.dart.textual_outline.expect b/pkg/front_end/testcases/general/invocations.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/invocations.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/invocations.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/invocations.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/invocations.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/invocations.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/invocations.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/invocations.dart.strong.expect b/pkg/front_end/testcases/general/invocations.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invocations.dart.strong.expect
rename to pkg/front_end/testcases/general/invocations.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/invocations.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/invocations.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/invocations.dart.strong.transformed.expect b/pkg/front_end/testcases/general/invocations.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/invocations.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/invocations.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue129167943.dart b/pkg/front_end/testcases/general/issue129167943.dart
index c7560ea..5b7a3cd 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart
+++ b/pkg/front_end/testcases/general/issue129167943.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 abstract class A {}
 
 abstract class B {
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.hierarchy.expect b/pkg/front_end/testcases/general/issue129167943.dart.hierarchy.expect
deleted file mode 100644
index a8b24514..0000000
--- a/pkg/front_end/testcases/general/issue129167943.dart.hierarchy.expect
+++ /dev/null
@@ -1,778 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D2.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D2.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D3.C.foo%B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D4:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D4.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D4.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D5:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D5.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D5.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.foo
-
-G:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: E
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    G.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    G.foo
-
-H1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H1.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H1.foo
-
-H2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H2.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H2.foo
-
-H3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H3.E.foo=%G.foo=
-
-H4:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H4.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H4.foo
-
-H5:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H5.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H5.foo
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue129167943.dart.textual_outline.expect
index 2d33b0a..88e4708 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue129167943.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {}
 
 abstract class B {
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue129167943.dart.textual_outline_modelled.expect
index 3d5bb93..c1dd876 100644
--- a/pkg/front_end/testcases/general/issue129167943.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue129167943.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {}
 
 abstract class B {
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.strong.expect b/pkg/front_end/testcases/general/issue129167943.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue129167943.dart.strong.expect
rename to pkg/front_end/testcases/general/issue129167943.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.outline.expect b/pkg/front_end/testcases/general/issue129167943.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue129167943.dart.outline.expect
rename to pkg/front_end/testcases/general/issue129167943.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue129167943.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue129167943.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue129167943.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue31767.dart b/pkg/front_end/testcases/general/issue31767.dart
index 045dced..4a9997b 100644
--- a/pkg/front_end/testcases/general/issue31767.dart
+++ b/pkg/front_end/testcases/general/issue31767.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.9
 
 import 'issue31767_lib.dart';
diff --git a/pkg/front_end/testcases/general/issue31767.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue31767.dart.textual_outline.expect
index c0f1050..56c60d9 100644
--- a/pkg/front_end/testcases/general/issue31767.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue31767.dart.textual_outline.expect
@@ -1,4 +1,5 @@
 // @dart = 2.9
+// @dart = 2.9
 import 'issue31767_lib.dart';
 
 StringBuffer sb;
diff --git a/pkg/front_end/testcases/general/issue31767.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue31767.dart.textual_outline_modelled.expect
index e349691..05a7c2e 100644
--- a/pkg/front_end/testcases/general/issue31767.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue31767.dart.textual_outline_modelled.expect
@@ -1,4 +1,5 @@
 // @dart = 2.9
+// @dart = 2.9
 import 'issue31767_lib.dart';
 
 StringBuffer sb;
diff --git a/pkg/front_end/testcases/general/issue31767.dart.strong.expect b/pkg/front_end/testcases/general/issue31767.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue31767.dart.strong.expect
rename to pkg/front_end/testcases/general/issue31767.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue31767.dart.outline.expect b/pkg/front_end/testcases/general/issue31767.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue31767.dart.outline.expect
rename to pkg/front_end/testcases/general/issue31767.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue31767.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue31767.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue31767.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue31767.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue31767_lib.dart b/pkg/front_end/testcases/general/issue31767_lib.dart
index 61406fd..2041300 100644
--- a/pkg/front_end/testcases/general/issue31767_lib.dart
+++ b/pkg/front_end/testcases/general/issue31767_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.9
 
 import 'issue31767.dart';
diff --git a/pkg/front_end/testcases/general/issue34515.dart b/pkg/front_end/testcases/general/issue34515.dart
index 829ce3b..eeebfc8 100644
--- a/pkg/front_end/testcases/general/issue34515.dart
+++ b/pkg/front_end/testcases/general/issue34515.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import "issue34515_lib1.dart";
 import "issue34515_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/issue34515.dart.hierarchy.expect b/pkg/front_end/testcases/general/issue34515.dart.hierarchy.expect
deleted file mode 100644
index 32f2c5e..0000000
--- a/pkg/front_end/testcases/general/issue34515.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ImportedClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ImportedClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/issue34515.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue34515.dart.textual_outline.expect
index 0d74c15..76ca224 100644
--- a/pkg/front_end/testcases/general/issue34515.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue34515.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue34515_lib1.dart";
 import "issue34515_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/issue34515.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue34515.dart.textual_outline_modelled.expect
index 608fcf1..51b0be9 100644
--- a/pkg/front_end/testcases/general/issue34515.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue34515.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue34515_lib1.dart";
 import "issue34515_lib2.dart";
 
diff --git a/pkg/front_end/testcases/general/issue34515.dart.strong.expect b/pkg/front_end/testcases/general/issue34515.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34515.dart.strong.expect
rename to pkg/front_end/testcases/general/issue34515.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue34515.dart.outline.expect b/pkg/front_end/testcases/general/issue34515.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34515.dart.outline.expect
rename to pkg/front_end/testcases/general/issue34515.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue34515.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue34515.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34515.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue34515.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue34515_lib1.dart b/pkg/front_end/testcases/general/issue34515_lib1.dart
index 00f9340..1777ac3 100644
--- a/pkg/front_end/testcases/general/issue34515_lib1.dart
+++ b/pkg/front_end/testcases/general/issue34515_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class ImportedClass {
   ImportedClass(int a);
 }
diff --git a/pkg/front_end/testcases/general/issue34515_lib2.dart b/pkg/front_end/testcases/general/issue34515_lib2.dart
index 2ec64bb..7382d3c 100644
--- a/pkg/front_end/testcases/general/issue34515_lib2.dart
+++ b/pkg/front_end/testcases/general/issue34515_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class ImportedClass {
   ImportedClass(String a);
 }
diff --git a/pkg/front_end/testcases/general/issue34714.dart b/pkg/front_end/testcases/general/issue34714.dart
index 918ed93..df43261 100644
--- a/pkg/front_end/testcases/general/issue34714.dart
+++ b/pkg/front_end/testcases/general/issue34714.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A<T> {
   factory A() = B; // Should infer B<T>.
 }
diff --git a/pkg/front_end/testcases/general/issue34714.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue34714.dart.textual_outline.expect
index 82ac1d1..29124ba 100644
--- a/pkg/front_end/testcases/general/issue34714.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue34714.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   factory A() = B;
 }
diff --git a/pkg/front_end/testcases/general/issue34714.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue34714.dart.textual_outline_modelled.expect
index 82ac1d1..29124ba 100644
--- a/pkg/front_end/testcases/general/issue34714.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue34714.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   factory A() = B;
 }
diff --git a/pkg/front_end/testcases/general/issue34714.dart.strong.expect b/pkg/front_end/testcases/general/issue34714.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34714.dart.strong.expect
rename to pkg/front_end/testcases/general/issue34714.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue34714.dart.outline.expect b/pkg/front_end/testcases/general/issue34714.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34714.dart.outline.expect
rename to pkg/front_end/testcases/general/issue34714.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue34714.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue34714.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34714.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue34714.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue34899.dart b/pkg/front_end/testcases/general/issue34899.dart
index ae5b751..6923798 100644
--- a/pkg/front_end/testcases/general/issue34899.dart
+++ b/pkg/front_end/testcases/general/issue34899.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class Foo<T> {
   final Future<dynamic> Function() quux;
   T t;
diff --git a/pkg/front_end/testcases/general/issue34899.dart.hierarchy.expect b/pkg/front_end/testcases/general/issue34899.dart.hierarchy.expect
deleted file mode 100644
index 988b29a..0000000
--- a/pkg/front_end/testcases/general/issue34899.dart.hierarchy.expect
+++ /dev/null
@@ -1,96 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.call
-    Object._instanceOf
-    Foo.quux
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.t
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Bar.garply
-    Object.toString
-    Object.runtimeType
-    Bar.quuz
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Bar.corge
-    Object._simpleInstanceOfTrue
-    Object.==
-    Bar.qux
-  classSetters:
-    Bar.qux
-
-Baz:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Grault:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/issue34899.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue34899.dart.textual_outline.expect
index 18c8795..f989a75 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<T> {
   final Future<dynamic> Function() quux;
   T t;
diff --git a/pkg/front_end/testcases/general/issue34899.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue34899.dart.textual_outline_modelled.expect
index 1b2af4b..1f0bcd0 100644
--- a/pkg/front_end/testcases/general/issue34899.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue34899.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bar {
   Foo<Baz> qux;
   Future<void> quuz() =>
diff --git a/pkg/front_end/testcases/general/issue34899.dart.strong.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34899.dart.strong.expect
rename to pkg/front_end/testcases/general/issue34899.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue34899.dart.outline.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34899.dart.outline.expect
rename to pkg/front_end/testcases/general/issue34899.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue34899.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue34899.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue34899.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue35875.dart b/pkg/front_end/testcases/general/issue35875.dart
index 53cd8a0..cdcd28f 100644
--- a/pkg/front_end/testcases/general/issue35875.dart
+++ b/pkg/front_end/testcases/general/issue35875.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {
   int a;
   A(int a) {
diff --git a/pkg/front_end/testcases/general/issue35875.dart.hierarchy.expect b/pkg/front_end/testcases/general/issue35875.dart.hierarchy.expect
deleted file mode 100644
index eef7d41..0000000
--- a/pkg/front_end/testcases/general/issue35875.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
diff --git a/pkg/front_end/testcases/general/issue35875.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue35875.dart.textual_outline.expect
index 5552256..a1997db 100644
--- a/pkg/front_end/testcases/general/issue35875.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue35875.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int a;
   A(int a) {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue35875.dart.textual_outline_modelled.expect
index a56bd0f..0de1b77 100644
--- a/pkg/front_end/testcases/general/issue35875.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue35875.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(int a) {}
   int a;
diff --git a/pkg/front_end/testcases/general/issue35875.dart.strong.expect b/pkg/front_end/testcases/general/issue35875.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue35875.dart.strong.expect
rename to pkg/front_end/testcases/general/issue35875.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue35875.dart.outline.expect b/pkg/front_end/testcases/general/issue35875.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue35875.dart.outline.expect
rename to pkg/front_end/testcases/general/issue35875.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue35875.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue35875.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue35875.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue35875.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue37027.dart b/pkg/front_end/testcases/general/issue37027.dart
index 385e2a4..1da79e2 100644
--- a/pkg/front_end/testcases/general/issue37027.dart
+++ b/pkg/front_end/testcases/general/issue37027.dart
@@ -5,5 +5,5 @@
   final Set<int> s;
   C(List<int> ell) : s = {for (var e in ell) if (e.isOdd) 2 * e};
 }
-
+// @dart=2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.hierarchy.expect b/pkg/front_end/testcases/general/issue37027.dart.hierarchy.expect
deleted file mode 100644
index d7772a1..0000000
--- a/pkg/front_end/testcases/general/issue37027.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.s
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/issue37027.dart.strong.expect b/pkg/front_end/testcases/general/issue37027.dart.strong.expect
deleted file mode 100644
index d66702b..0000000
--- a/pkg/front_end/testcases/general/issue37027.dart.strong.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-class C extends core::Object {
-  final field core::Set<core::int*>* s;
-  constructor •(core::List<core::int*>* ell) → self::C*
-    : self::C::s = block {
-      final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
-      for (core::int* e in ell)
-        if(e.{core::int::isOdd})
-          #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
-    } =>#t1, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue37027.dart.strong.transformed.expect
deleted file mode 100644
index fa88301..0000000
--- a/pkg/front_end/testcases/general/issue37027.dart.strong.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-class C extends core::Object {
-  final field core::Set<core::int*>* s;
-  constructor •(core::List<core::int*>* ell) → self::C*
-    : self::C::s = block {
-      final core::Set<core::int*>* #t1 = new col::_CompactLinkedHashSet::•<core::int*>();
-      {
-        core::Iterator<core::int*>* :sync-for-iterator = ell.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          core::int* e = :sync-for-iterator.{core::Iterator::current};
-          if(e.{core::int::isOdd})
-            #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
-        }
-      }
-    } =>#t1, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.weak.expect b/pkg/front_end/testcases/general/issue37027.dart.weak.expect
new file mode 100644
index 0000000..d4abbbf
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue37027.dart.weak.expect
@@ -0,0 +1,17 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+class C extends core::Object {
+  final field core::Set<core::int> s;
+  constructor •(core::List<core::int> ell) → self::C
+    : self::C::s = block {
+      final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
+      for (core::int e in ell)
+        if(e.{core::int::isOdd})
+          #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
+    } =>#t1, super core::Object::•()
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue37027.dart.weak.outline.expect
new file mode 100644
index 0000000..c7ce0be
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue37027.dart.weak.outline.expect
@@ -0,0 +1,11 @@
+library /*isNonNullableByDefault*/;
+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
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect
new file mode 100644
index 0000000..8d726b5
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue37027.dart.weak.transformed.expect
@@ -0,0 +1,22 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+class C extends core::Object {
+  final field core::Set<core::int> s;
+  constructor •(core::List<core::int> ell) → self::C
+    : self::C::s = block {
+      final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
+      {
+        core::Iterator<core::int> :sync-for-iterator = ell.{core::Iterable::iterator};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
+          core::int e = :sync-for-iterator.{core::Iterator::current};
+          if(e.{core::int::isOdd})
+            #t1.{core::Set::add}{Invariant}(2.{core::num::*}(e));
+        }
+      }
+    } =>#t1, super core::Object::•()
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37381.dart b/pkg/front_end/testcases/general/issue37381.dart
index 9424045..aabaf7f 100644
--- a/pkg/front_end/testcases/general/issue37381.dart
+++ b/pkg/front_end/testcases/general/issue37381.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // This test checks that the bug reported at http://dartbug.com/37381 is fixed.
 
 class A<X> {
diff --git a/pkg/front_end/testcases/general/issue37381.dart.hierarchy.expect b/pkg/front_end/testcases/general/issue37381.dart.hierarchy.expect
deleted file mode 100644
index 8f0eb34..0000000
--- a/pkg/front_end/testcases/general/issue37381.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/issue37381.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue37381.dart.textual_outline.expect
index 0e78f9c..8b08987 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {
   R f<R>(R Function<X>(A<X>) f) => f<X>(this);
 }
diff --git a/pkg/front_end/testcases/general/issue37381.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue37381.dart.textual_outline_modelled.expect
index 0e78f9c..8b08987 100644
--- a/pkg/front_end/testcases/general/issue37381.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue37381.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {
   R f<R>(R Function<X>(A<X>) f) => f<X>(this);
 }
diff --git a/pkg/front_end/testcases/general/issue37381.dart.strong.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue37381.dart.strong.expect
rename to pkg/front_end/testcases/general/issue37381.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue37381.dart.outline.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue37381.dart.outline.expect
rename to pkg/front_end/testcases/general/issue37381.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue37381.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue37381.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue37381.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue37776.dart b/pkg/front_end/testcases/general/issue37776.dart
index 49b4f52..600c1f5 100644
--- a/pkg/front_end/testcases/general/issue37776.dart
+++ b/pkg/front_end/testcases/general/issue37776.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // This test checks that the bug reported at http://dartbug.com/37776 is fixed.
 
 class X {
diff --git a/pkg/front_end/testcases/general/issue37776.dart.hierarchy.expect b/pkg/front_end/testcases/general/issue37776.dart.hierarchy.expect
deleted file mode 100644
index 8e2b7bf..0000000
--- a/pkg/front_end/testcases/general/issue37776.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/issue37776.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue37776.dart.textual_outline.expect
index fe9bbfe..48496d9 100644
--- a/pkg/front_end/testcases/general/issue37776.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue37776.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class X {
   const X.foo();
 }
diff --git a/pkg/front_end/testcases/general/issue37776.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue37776.dart.textual_outline_modelled.expect
index fe9bbfe..48496d9 100644
--- a/pkg/front_end/testcases/general/issue37776.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue37776.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class X {
   const X.foo();
 }
diff --git a/pkg/front_end/testcases/general/issue37776.dart.strong.expect b/pkg/front_end/testcases/general/issue37776.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue37776.dart.strong.expect
rename to pkg/front_end/testcases/general/issue37776.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue37776.dart.outline.expect b/pkg/front_end/testcases/general/issue37776.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue37776.dart.outline.expect
rename to pkg/front_end/testcases/general/issue37776.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue37776.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue37776.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue37776.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue37776.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue38812.dart b/pkg/front_end/testcases/general/issue38812.dart
index 9d26308..eba2ba6 100644
--- a/pkg/front_end/testcases/general/issue38812.dart
+++ b/pkg/front_end/testcases/general/issue38812.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 typedef G<X> = void Function();
 
 class A<X extends G<A<Y, X>>, Y extends G<A<X, Y>>> {}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38812.dart.textual_outline.expect
index f69b6fc..5b18a25 100644
--- a/pkg/front_end/testcases/general/issue38812.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38812.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef G<X> = void Function();
 
 class A<X extends G<A<Y, X>>, Y extends G<A<X, Y>>> {}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38812.dart.textual_outline_modelled.expect
index f0058f6..ef0531c 100644
--- a/pkg/front_end/testcases/general/issue38812.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38812.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends G<A<Y, X>>, Y extends G<A<X, Y>>> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.strong.expect b/pkg/front_end/testcases/general/issue38812.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38812.dart.strong.expect
rename to pkg/front_end/testcases/general/issue38812.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue38812.dart.outline.expect b/pkg/front_end/testcases/general/issue38812.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38812.dart.outline.expect
rename to pkg/front_end/testcases/general/issue38812.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue38812.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue38812.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38812.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue38812.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue38938.dart b/pkg/front_end/testcases/general/issue38938.dart
index 3ce4f66..ff65f62 100644
--- a/pkg/front_end/testcases/general/issue38938.dart
+++ b/pkg/front_end/testcases/general/issue38938.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {
   int v;
   int v;
diff --git a/pkg/front_end/testcases/general/issue38938.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38938.dart.textual_outline.expect
index 82bf141..4358745 100644
--- a/pkg/front_end/testcases/general/issue38938.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38938.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int v;
   int v;
diff --git a/pkg/front_end/testcases/general/issue38938.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38938.dart.textual_outline_modelled.expect
index fc11ff3..a1d2ccd 100644
--- a/pkg/front_end/testcases/general/issue38938.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38938.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(this.v);
   A.second();
diff --git a/pkg/front_end/testcases/general/issue38938.dart.strong.expect b/pkg/front_end/testcases/general/issue38938.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38938.dart.strong.expect
rename to pkg/front_end/testcases/general/issue38938.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue38938.dart.outline.expect b/pkg/front_end/testcases/general/issue38938.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38938.dart.outline.expect
rename to pkg/front_end/testcases/general/issue38938.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue38938.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue38938.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38938.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue38938.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue38943.dart b/pkg/front_end/testcases/general/issue38943.dart
index 1d86b19..2db3c96 100644
--- a/pkg/front_end/testcases/general/issue38943.dart
+++ b/pkg/front_end/testcases/general/issue38943.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class D<X extends void Function()> {
   factory D.foo() => new D._();
   D._() {}
diff --git a/pkg/front_end/testcases/general/issue38943.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38943.dart.textual_outline.expect
index f78c92f..c666e23 100644
--- a/pkg/front_end/testcases/general/issue38943.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38943.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class D<X extends void Function()> {
   factory D.foo() => new D._();
   D._() {}
diff --git a/pkg/front_end/testcases/general/issue38943.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38943.dart.textual_outline_modelled.expect
index 256c973..3767f32 100644
--- a/pkg/front_end/testcases/general/issue38943.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38943.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class D<X extends void Function()> {
   D._() {}
   factory D.foo() => new D._();
diff --git a/pkg/front_end/testcases/general/issue38943.dart.strong.expect b/pkg/front_end/testcases/general/issue38943.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38943.dart.strong.expect
rename to pkg/front_end/testcases/general/issue38943.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue38943.dart.outline.expect b/pkg/front_end/testcases/general/issue38943.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38943.dart.outline.expect
rename to pkg/front_end/testcases/general/issue38943.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue38943.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue38943.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38943.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue38943.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue38944.dart b/pkg/front_end/testcases/general/issue38944.dart
index a0b7f42..c467d0d 100644
--- a/pkg/front_end/testcases/general/issue38944.dart
+++ b/pkg/front_end/testcases/general/issue38944.dart
@@ -1,6 +1,6 @@
 // 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=2.9
 class A<Q> {}
 class B<X> extends Object with A<void Function<Y extends X>()> {}
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/issue38944.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38944.dart.textual_outline.expect
index 279bc70..47092ea 100644
--- a/pkg/front_end/testcases/general/issue38944.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38944.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<Q> {}
 
 class B<X> extends Object with A<void Function<Y extends X>()> {}
diff --git a/pkg/front_end/testcases/general/issue38944.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38944.dart.textual_outline_modelled.expect
index 279bc70..47092ea 100644
--- a/pkg/front_end/testcases/general/issue38944.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38944.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<Q> {}
 
 class B<X> extends Object with A<void Function<Y extends X>()> {}
diff --git a/pkg/front_end/testcases/general/issue38944.dart.strong.expect b/pkg/front_end/testcases/general/issue38944.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38944.dart.strong.expect
rename to pkg/front_end/testcases/general/issue38944.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue38944.dart.outline.expect b/pkg/front_end/testcases/general/issue38944.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38944.dart.outline.expect
rename to pkg/front_end/testcases/general/issue38944.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue38944.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue38944.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38944.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue38944.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue38961.dart b/pkg/front_end/testcases/general/issue38961.dart
index b98ae94..00864c2 100644
--- a/pkg/front_end/testcases/general/issue38961.dart
+++ b/pkg/front_end/testcases/general/issue38961.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class C {
   dynamic x = this;
   var x = this;
diff --git a/pkg/front_end/testcases/general/issue38961.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue38961.dart.textual_outline.expect
index f38f3d3..f67e4a5 100644
--- a/pkg/front_end/testcases/general/issue38961.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue38961.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   dynamic x = this;
   var x = this;
diff --git a/pkg/front_end/testcases/general/issue38961.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue38961.dart.textual_outline_modelled.expect
index f38f3d3..f67e4a5 100644
--- a/pkg/front_end/testcases/general/issue38961.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue38961.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   dynamic x = this;
   var x = this;
diff --git a/pkg/front_end/testcases/general/issue38961.dart.strong.expect b/pkg/front_end/testcases/general/issue38961.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38961.dart.strong.expect
rename to pkg/front_end/testcases/general/issue38961.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue38961.dart.outline.expect b/pkg/front_end/testcases/general/issue38961.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38961.dart.outline.expect
rename to pkg/front_end/testcases/general/issue38961.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue38961.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue38961.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue38961.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue38961.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue39344.dart b/pkg/front_end/testcases/general/issue39344.dart
index e8fe329..a86b905 100644
--- a/pkg/front_end/testcases/general/issue39344.dart
+++ b/pkg/front_end/testcases/general/issue39344.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/issue39344.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue39344.dart.textual_outline.expect
index 4b6675e..27aa1fa 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/issue39344.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue39344.dart.textual_outline_modelled.expect
index fc29cea..bc21bce 100644
--- a/pkg/front_end/testcases/general/issue39344.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue39344.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 List<B> xs;
 List<List<B>> xss;
 
diff --git a/pkg/front_end/testcases/general/issue39344.dart.strong.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39344.dart.strong.expect
rename to pkg/front_end/testcases/general/issue39344.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue39344.dart.outline.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39344.dart.outline.expect
rename to pkg/front_end/testcases/general/issue39344.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue39344.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39344.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue39344.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue39421.dart b/pkg/front_end/testcases/general/issue39421.dart
index e83ee28..e91ce36 100644
--- a/pkg/front_end/testcases/general/issue39421.dart
+++ b/pkg/front_end/testcases/general/issue39421.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // This is a regression test for http://dartbug.com/39421.
 
 class A {}
diff --git a/pkg/front_end/testcases/general/issue39421.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue39421.dart.textual_outline.expect
index 8ac9791..57219b5 100644
--- a/pkg/front_end/testcases/general/issue39421.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue39421.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class A {}
diff --git a/pkg/front_end/testcases/general/issue39421.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue39421.dart.textual_outline_modelled.expect
index 8ac9791..57219b5 100644
--- a/pkg/front_end/testcases/general/issue39421.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue39421.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class A {}
diff --git a/pkg/front_end/testcases/general/issue39421.dart.strong.expect b/pkg/front_end/testcases/general/issue39421.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39421.dart.strong.expect
rename to pkg/front_end/testcases/general/issue39421.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue39421.dart.outline.expect b/pkg/front_end/testcases/general/issue39421.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39421.dart.outline.expect
rename to pkg/front_end/testcases/general/issue39421.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue39421.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue39421.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39421.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue39421.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue39817.dart b/pkg/front_end/testcases/general/issue39817.dart
index f325939..aba9ee1 100644
--- a/pkg/front_end/testcases/general/issue39817.dart
+++ b/pkg/front_end/testcases/general/issue39817.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // This is a regression test for http://dartbug.com/39817.
 
 foo() {
diff --git a/pkg/front_end/testcases/general/issue39817.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue39817.dart.textual_outline.expect
index d530fa8..822c313 100644
--- a/pkg/front_end/testcases/general/issue39817.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue39817.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 foo() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/issue39817.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue39817.dart.textual_outline_modelled.expect
index d530fa8..822c313 100644
--- a/pkg/front_end/testcases/general/issue39817.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue39817.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 foo() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/issue39817.dart.strong.expect b/pkg/front_end/testcases/general/issue39817.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39817.dart.strong.expect
rename to pkg/front_end/testcases/general/issue39817.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue39817.dart.outline.expect b/pkg/front_end/testcases/general/issue39817.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39817.dart.outline.expect
rename to pkg/front_end/testcases/general/issue39817.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue39817.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue39817.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue39817.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue39817.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue40242.dart b/pkg/front_end/testcases/general/issue40242.dart
index afd8f73..1e4a836 100644
--- a/pkg/front_end/testcases/general/issue40242.dart
+++ b/pkg/front_end/testcases/general/issue40242.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class C {}
 
 extension E on C {
diff --git a/pkg/front_end/testcases/general/issue40242.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40242.dart.textual_outline.expect
index 4b76f91..b5194c1 100644
--- a/pkg/front_end/testcases/general/issue40242.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40242.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {}
 
 extension E on C {
diff --git a/pkg/front_end/testcases/general/issue40242.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40242.dart.textual_outline_modelled.expect
index 91844c5..519f8af 100644
--- a/pkg/front_end/testcases/general/issue40242.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40242.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {}
 
 errors() {}
diff --git a/pkg/front_end/testcases/general/issue40242.dart.strong.expect b/pkg/front_end/testcases/general/issue40242.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40242.dart.strong.expect
rename to pkg/front_end/testcases/general/issue40242.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue40242.dart.outline.expect b/pkg/front_end/testcases/general/issue40242.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40242.dart.outline.expect
rename to pkg/front_end/testcases/general/issue40242.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue40242.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue40242.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40242.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue40242.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue40428.dart b/pkg/front_end/testcases/general/issue40428.dart
index f24cb23..1fc3e08 100644
--- a/pkg/front_end/testcases/general/issue40428.dart
+++ b/pkg/front_end/testcases/general/issue40428.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class SuperClass1 {
   final String value;
 
diff --git a/pkg/front_end/testcases/general/issue40428.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40428.dart.textual_outline.expect
index 4508570..8fdd117 100644
--- a/pkg/front_end/testcases/general/issue40428.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40428.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class SuperClass1 {
   final String value;
   SuperClass1(this.value);
diff --git a/pkg/front_end/testcases/general/issue40428.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40428.dart.textual_outline_modelled.expect
index b9d7f4f..b87094b 100644
--- a/pkg/front_end/testcases/general/issue40428.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40428.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class SuperClass1 {
   SuperClass1(this.value);
   final String value;
diff --git a/pkg/front_end/testcases/general/issue40428.dart.strong.expect b/pkg/front_end/testcases/general/issue40428.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40428.dart.strong.expect
rename to pkg/front_end/testcases/general/issue40428.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue40428.dart.outline.expect b/pkg/front_end/testcases/general/issue40428.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40428.dart.outline.expect
rename to pkg/front_end/testcases/general/issue40428.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue40428.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue40428.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40428.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue40428.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue40662.dart b/pkg/front_end/testcases/general/issue40662.dart
index 8123df8..611fc81 100644
--- a/pkg/front_end/testcases/general/issue40662.dart
+++ b/pkg/front_end/testcases/general/issue40662.dart
@@ -3,7 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 //
 // Regression test for https://github.com/dart-lang/sdk/issues/40662.
-
+// @dart=2.9
 bar(int a, List<int> b) {
   expect(-1, a);
   expect(-1, (b[0] - 2));
diff --git a/pkg/front_end/testcases/general/issue40662.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40662.dart.textual_outline.expect
index 422ab5e..c6e121c 100644
--- a/pkg/front_end/testcases/general/issue40662.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40662.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bar(int a, List<int> b) {}
 foo(int x) async => bar(x - 1, x != null ? [x + 1, x + 2, await null] : null);
 void main() async => await foo(0);
diff --git a/pkg/front_end/testcases/general/issue40662.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40662.dart.textual_outline_modelled.expect
index 19a1c91..f3df2a3 100644
--- a/pkg/front_end/testcases/general/issue40662.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40662.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bar(int a, List<int> b) {}
 expect(expected, actual) {}
 foo(int x) async => bar(x - 1, x != null ? [x + 1, x + 2, await null] : null);
diff --git a/pkg/front_end/testcases/general/issue40662.dart.strong.expect b/pkg/front_end/testcases/general/issue40662.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40662.dart.strong.expect
rename to pkg/front_end/testcases/general/issue40662.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue40662.dart.outline.expect b/pkg/front_end/testcases/general/issue40662.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40662.dart.outline.expect
rename to pkg/front_end/testcases/general/issue40662.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue40662.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40662.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue40662.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue40744.dart b/pkg/front_end/testcases/general/issue40744.dart
index 3d0dbc4..009149f 100644
--- a/pkg/front_end/testcases/general/issue40744.dart
+++ b/pkg/front_end/testcases/general/issue40744.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 const generatorConfigDefaultJson = <String, dynamic>{'a': 1};
 
 void helper(Map<String, dynamic> input) {
diff --git a/pkg/front_end/testcases/general/issue40744.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40744.dart.textual_outline.expect
index dd27ae6..fbd3bb3 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const generatorConfigDefaultJson = <String, dynamic>{'a': 1};
 void helper(Map<String, dynamic> input) {}
 void main() {}
diff --git a/pkg/front_end/testcases/general/issue40744.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40744.dart.textual_outline_modelled.expect
index dd27ae6..fbd3bb3 100644
--- a/pkg/front_end/testcases/general/issue40744.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40744.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const generatorConfigDefaultJson = <String, dynamic>{'a': 1};
 void helper(Map<String, dynamic> input) {}
 void main() {}
diff --git a/pkg/front_end/testcases/general/issue40744.dart.strong.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40744.dart.strong.expect
rename to pkg/front_end/testcases/general/issue40744.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue40744.dart.outline.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40744.dart.outline.expect
rename to pkg/front_end/testcases/general/issue40744.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue40744.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40744.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue40744.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue40982.dart b/pkg/front_end/testcases/general/issue40982.dart
index ed06fc3..814de11 100644
--- a/pkg/front_end/testcases/general/issue40982.dart
+++ b/pkg/front_end/testcases/general/issue40982.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   const A();
 }
diff --git a/pkg/front_end/testcases/general/issue40982.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue40982.dart.textual_outline.expect
index d0c04bf..0e31b42a 100644
--- a/pkg/front_end/testcases/general/issue40982.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue40982.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A();
 }
diff --git a/pkg/front_end/testcases/general/issue40982.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue40982.dart.textual_outline_modelled.expect
index eeaccee..155c775 100644
--- a/pkg/front_end/testcases/general/issue40982.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue40982.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A();
 }
diff --git a/pkg/front_end/testcases/general/issue40982.dart.strong.expect b/pkg/front_end/testcases/general/issue40982.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40982.dart.strong.expect
rename to pkg/front_end/testcases/general/issue40982.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue40982.dart.outline.expect b/pkg/front_end/testcases/general/issue40982.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40982.dart.outline.expect
rename to pkg/front_end/testcases/general/issue40982.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue40982.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue40982.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue40982.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue40982.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue41070.dart b/pkg/front_end/testcases/general/issue41070.dart
index 3129cb6..0ce6f26 100644
--- a/pkg/front_end/testcases/general/issue41070.dart
+++ b/pkg/front_end/testcases/general/issue41070.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class Mixin {}
 
 class Base {
diff --git a/pkg/front_end/testcases/general/issue41070.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41070.dart.textual_outline.expect
index 6b9ed3f..bf2cc1b 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Mixin {}
 
 class Base {
diff --git a/pkg/front_end/testcases/general/issue41070.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41070.dart.textual_outline_modelled.expect
index 6d28195..228bca5 100644
--- a/pkg/front_end/testcases/general/issue41070.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41070.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Mixin {}
 
 class Application = Base with Mixin;
diff --git a/pkg/front_end/testcases/general/issue41070.dart.strong.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41070.dart.strong.expect
rename to pkg/front_end/testcases/general/issue41070.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue41070.dart.outline.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41070.dart.outline.expect
rename to pkg/front_end/testcases/general/issue41070.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue41070.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41070.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue41070.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue41210a.dart b/pkg/front_end/testcases/general/issue41210a.dart
index 78cfc3c..0b478b1 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart
+++ b/pkg/front_end/testcases/general/issue41210a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class Interface {
   String method(num i);
 }
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue41210a.dart.strong.transformed.expect
deleted file mode 100644
index 85cb978..0000000
--- a/pkg/front_end/testcases/general/issue41210a.dart.strong.transformed.expect
+++ /dev/null
@@ -1,180 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue41210a.dart:21:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
-// class C with A, B {} // error
-//       ^
-// pkg/front_end/testcases/general/issue41210a.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
-//   String method(num i);
-//          ^
-// pkg/front_end/testcases/general/issue41210a.dart:21:7: Context: This is the overridden method ('method').
-// class C with A, B {} // error
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class Interface extends core::Object {
-  synthetic constructor •() → self::Interface*
-    : super core::Object::•()
-    ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class Interface2 extends core::Object {
-  synthetic constructor •() → self::Interface2*
-    : super core::Object::•()
-    ;
-  abstract method method(covariant core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class A extends core::Object implements self::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
-    return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class B extends core::Object implements self::Interface {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class _C&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A*
-    : super core::Object::•()
-    ;
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
-    return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class _C&Object&A&B extends self::_C&Object&A implements self::B /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B*
-    : super self::_C&Object&A::•()
-    ;
-  abstract member-signature method method(core::num* i, {core::String* s = #C1}) → core::String*; -> self::_C&Object&A::method
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C*
-    : super self::_C&Object&A&B::•()
-    ;
-  abstract member-signature method method(core::num* i, {core::String* s = #C1}) → core::String*; -> self::_C&Object&A::method
-}
-abstract class D extends core::Object implements self::Interface, self::Interface2 {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  abstract forwarding-stub method method(covariant core::num* i) → core::String*;
-}
-abstract class _E&Object&A extends core::Object implements self::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
-    : super core::Object::•()
-    ;
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
-    return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class _E&Object&A&D extends self::_E&Object&A implements self::D /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
-    : super self::_E&Object&A::•()
-    ;
-  forwarding-stub method method(covariant core::num* i, {core::String* s = #C1}) → core::String*
-    return super.{self::A::method}(i, s: s);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
-    : super self::_E&Object&A&D::•()
-    ;
-}
-static method main() → dynamic {
-  core::print(new self::C::•().{self::C::method}(0));
-}
-
-constants  {
-  #C1 = "hello"
-}
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210a.dart.textual_outline.expect
index 599fc0f..64edca2 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Interface {
   String method(num i);
 }
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210a.dart.textual_outline_modelled.expect
index d6c9646..9c3d871 100644
--- a/pkg/front_end/testcases/general/issue41210a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class B implements Interface {
   String method(num i);
 }
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.strong.expect b/pkg/front_end/testcases/general/issue41210a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41210a.dart.strong.expect
rename to pkg/front_end/testcases/general/issue41210a.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue41210a.dart.outline.expect b/pkg/front_end/testcases/general/issue41210a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41210a.dart.outline.expect
rename to pkg/front_end/testcases/general/issue41210a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart b/pkg/front_end/testcases/general/issue41210b/issue41210.dart
index 08bd4e4..78d8a27 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {} // error
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.strong.transformed.expect
deleted file mode 100644
index d4b65d7..0000000
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.strong.transformed.expect
+++ /dev/null
@@ -1,188 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue41210b/issue41210.dart:7:7: Error: Applying the mixin 'B' to 'Object with A' introduces an erroneous override of 'method'.
-// class C with A, B {} // error
-//       ^
-// pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart:18:10: Context: The method 'B.method' has fewer named arguments than those of overridden method 'Object with A.method'.
-//   String method(num i);
-//          ^
-// pkg/front_end/testcases/general/issue41210b/issue41210.dart:7:7: Context: This is the overridden method ('method').
-// class C with A, B {} // error
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-import "issue41210_lib.dart" as iss;
-
-import "org-dartlang-testcase:///issue41210_lib.dart";
-
-abstract class _C&Object&A extends core::Object implements iss::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A*
-    : super core::Object::•()
-    ;
-  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num* i, {core::String* s = #C1}) → core::String*
-    return s;
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator /* from org-dartlang-testcase:///issue41210_lib.dart */ ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ toString() → core::String*; -> core::Object::toString
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class _C&Object&A&B extends self::_C&Object&A implements iss::B /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B*
-    : super self::_C&Object&A::•()
-    ;
-  abstract member-signature method method(core::num* i, {core::String* s = #C1}) → core::String*; -> self::_C&Object&A::method
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator /* from org-dartlang-testcase:///issue41210_lib.dart */ ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ toString() → core::String*; -> core::Object::toString
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C*
-    : super self::_C&Object&A&B::•()
-    ;
-  abstract member-signature method method(core::num* i, {core::String* s = #C1}) → core::String*; -> self::_C&Object&A::method
-}
-abstract class _E&Object&A extends core::Object implements iss::A /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A*
-    : super core::Object::•()
-    ;
-  method /* from org-dartlang-testcase:///issue41210_lib.dart */ method(core::num* i, {core::String* s = #C1}) → core::String*
-    return s;
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator /* from org-dartlang-testcase:///issue41210_lib.dart */ ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ toString() → core::String*; -> core::Object::toString
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class _E&Object&A&D extends self::_E&Object&A implements iss::D /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_E&Object&A&D*
-    : super self::_E&Object&A::•()
-    ;
-  abstract forwarding-stub method method(covariant core::num* i, {core::String* s = #C1}) → core::String*;
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator /* from org-dartlang-testcase:///issue41210_lib.dart */ ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ toString() → core::String*; -> core::Object::toString
-  abstract member-signature method /* from org-dartlang-testcase:///issue41210_lib.dart */ noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get /* from org-dartlang-testcase:///issue41210_lib.dart */ runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class E extends self::_E&Object&A&D {
-  synthetic constructor •() → self::E*
-    : super self::_E&Object&A&D::•()
-    ;
-  abstract member-signature method method(covariant core::num* i, {core::String* s = #C1}) → core::String*; -> self::_E&Object&A&D::method
-}
-static method main() → dynamic {
-  core::print(new self::C::•().{self::C::method}(0));
-}
-
-library;
-import self as iss;
-import "dart:core" as core;
-
-abstract class Interface extends core::Object {
-  synthetic constructor •() → iss::Interface*
-    : super core::Object::•()
-    ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class Interface2 extends core::Object {
-  synthetic constructor •() → iss::Interface2*
-    : super core::Object::•()
-    ;
-  abstract method method(covariant core::int* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class A extends core::Object implements iss::Interface /*isMixinDeclaration*/  {
-  method method(core::num* i, {core::String* s = #C1}) → core::String*
-    return s;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class B extends core::Object implements iss::Interface {
-  synthetic constructor •() → iss::B*
-    : super core::Object::•()
-    ;
-  abstract method method(core::num* i) → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class D extends core::Object implements iss::Interface, iss::Interface2 {
-  synthetic constructor •() → iss::D*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-  abstract forwarding-stub method method(covariant core::num* i) → core::String*;
-}
-
-constants  {
-  #C1 = "hello"
-}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline.expect
index 8c473d0..f023db9 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline_modelled.expect
index 8c473d0..f023db9 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.strong.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41210b/issue41210.dart.strong.expect
rename to pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.dart.outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41210b/issue41210.dart.outline.expect
rename to pkg/front_end/testcases/general/issue41210b/issue41210.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart
index 08bd4e4..78d8a27 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {} // error
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline.expect
index 8c473d0..f023db9 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline_modelled.expect
index 8c473d0..f023db9 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue41210_lib.dart';
 
 class C with A, B {}
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.strong.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.strong.expect
rename to pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.outline.expect b/pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.outline.expect
rename to pkg/front_end/testcases/general/issue41210b/issue41210.no_link.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart b/pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart
index a209b30..8601726 100644
--- a/pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart
+++ b/pkg/front_end/testcases/general/issue41210b/issue41210_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class Interface {
   String method(num i);
 }
diff --git a/pkg/front_end/testcases/general/issue42610.dart b/pkg/front_end/testcases/general/issue42610.dart
index df912e3..0eb9586 100644
--- a/pkg/front_end/testcases/general/issue42610.dart
+++ b/pkg/front_end/testcases/general/issue42610.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 void test() {
   #final;
   final x;
diff --git a/pkg/front_end/testcases/general/issue42610.dart.outline.expect b/pkg/front_end/testcases/general/issue42610.dart.outline.expect
deleted file mode 100644
index a440da0..0000000
--- a/pkg/front_end/testcases/general/issue42610.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general/issue42610.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue42610.dart.textual_outline.expect
index 41786bb..c5aabb4 100644
--- a/pkg/front_end/testcases/general/issue42610.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue42610.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 void test() {}
 void main() {}
diff --git a/pkg/front_end/testcases/general/issue42610.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue42610.dart.textual_outline_modelled.expect
index 0e0980f..d4e1593 100644
--- a/pkg/front_end/testcases/general/issue42610.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue42610.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 void main() {}
 void test() {}
diff --git a/pkg/front_end/testcases/general/issue42610.dart.strong.expect b/pkg/front_end/testcases/general/issue42610.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42610.dart.strong.expect
rename to pkg/front_end/testcases/general/issue42610.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug32414a.dart.outline.expect b/pkg/front_end/testcases/general/issue42610.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug32414a.dart.outline.expect
copy to pkg/front_end/testcases/general/issue42610.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue42610.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue42610.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42610.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue42610.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue42615.dart b/pkg/front_end/testcases/general/issue42615.dart
index b18b51f..9aeea55 100644
--- a/pkg/front_end/testcases/general/issue42615.dart
+++ b/pkg/front_end/testcases/general/issue42615.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'dart:async';
 
 class Class<T> {
diff --git a/pkg/front_end/testcases/general/issue42615.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue42615.dart.textual_outline.expect
index d430822..f9b84ed 100644
--- a/pkg/front_end/testcases/general/issue42615.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue42615.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class Class<T> {
diff --git a/pkg/front_end/testcases/general/issue42615.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue42615.dart.textual_outline_modelled.expect
index d430822..f9b84ed 100644
--- a/pkg/front_end/testcases/general/issue42615.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue42615.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class Class<T> {
diff --git a/pkg/front_end/testcases/general/issue42615.dart.strong.expect b/pkg/front_end/testcases/general/issue42615.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42615.dart.strong.expect
rename to pkg/front_end/testcases/general/issue42615.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue42615.dart.outline.expect b/pkg/front_end/testcases/general/issue42615.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42615.dart.outline.expect
rename to pkg/front_end/testcases/general/issue42615.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue42615.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42615.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue42615.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue42694.dart b/pkg/front_end/testcases/general/issue42694.dart
index 95e5875..fa6f914 100644
--- a/pkg/front_end/testcases/general/issue42694.dart
+++ b/pkg/front_end/testcases/general/issue42694.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class A {
   void set setter(int value);
 }
diff --git a/pkg/front_end/testcases/general/issue42694.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue42694.dart.textual_outline.expect
index 6d5d6ad..44d643c 100644
--- a/pkg/front_end/testcases/general/issue42694.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue42694.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   void set setter(int value);
 }
diff --git a/pkg/front_end/testcases/general/issue42694.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue42694.dart.textual_outline_modelled.expect
index 6d5d6ad..44d643c 100644
--- a/pkg/front_end/testcases/general/issue42694.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue42694.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   void set setter(int value);
 }
diff --git a/pkg/front_end/testcases/general/issue42694.dart.strong.expect b/pkg/front_end/testcases/general/issue42694.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42694.dart.strong.expect
rename to pkg/front_end/testcases/general/issue42694.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue42694.dart.outline.expect b/pkg/front_end/testcases/general/issue42694.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42694.dart.outline.expect
rename to pkg/front_end/testcases/general/issue42694.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue42694.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue42694.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42694.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue42694.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue42997.dart b/pkg/front_end/testcases/general/issue42997.dart
index 1b1ee96..7da576e 100644
--- a/pkg/front_end/testcases/general/issue42997.dart
+++ b/pkg/front_end/testcases/general/issue42997.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // Regression test for issue 42997
 
 main() {}
diff --git a/pkg/front_end/testcases/general/issue42997.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue42997.dart.textual_outline.expect
index 22509e9..fd6313c 100644
--- a/pkg/front_end/testcases/general/issue42997.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue42997.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 PropertyState();
 class PropertyState<I, O> {
diff --git a/pkg/front_end/testcases/general/issue42997.dart.strong.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42997.dart.strong.expect
rename to pkg/front_end/testcases/general/issue42997.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue42997.dart.outline.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42997.dart.outline.expect
rename to pkg/front_end/testcases/general/issue42997.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue42997.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue42997.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue42997.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue43290.dart b/pkg/front_end/testcases/general/issue43290.dart
index 14acc31..d3ad455 100644
--- a/pkg/front_end/testcases/general/issue43290.dart
+++ b/pkg/front_end/testcases/general/issue43290.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Class {
   final int length;
 
diff --git a/pkg/front_end/testcases/general/issue43290.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue43290.dart.textual_outline.expect
index d62986c..7d3329f 100644
--- a/pkg/front_end/testcases/general/issue43290.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue43290.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   final int length;
   const Class({this.length});
diff --git a/pkg/front_end/testcases/general/issue43290.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue43290.dart.textual_outline_modelled.expect
index 90d9993..8de10005 100644
--- a/pkg/front_end/testcases/general/issue43290.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue43290.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {
   const Class({this.length});
   final int length;
diff --git a/pkg/front_end/testcases/general/issue43290.dart.strong.expect b/pkg/front_end/testcases/general/issue43290.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43290.dart.strong.expect
rename to pkg/front_end/testcases/general/issue43290.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue43290.dart.outline.expect b/pkg/front_end/testcases/general/issue43290.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43290.dart.outline.expect
rename to pkg/front_end/testcases/general/issue43290.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue43290.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue43290.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43290.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue43290.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue43363.dart b/pkg/front_end/testcases/general/issue43363.dart
index 86d91ec..e85b599 100644
--- a/pkg/front_end/testcases/general/issue43363.dart
+++ b/pkg/front_end/testcases/general/issue43363.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class E {
   final int x;
   final int y;
diff --git a/pkg/front_end/testcases/general/issue43363.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue43363.dart.textual_outline.expect
index f2bf39e..abcc490 100644
--- a/pkg/front_end/testcases/general/issue43363.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue43363.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class E {
   final int x;
   final int y;
diff --git a/pkg/front_end/testcases/general/issue43363.dart.strong.expect b/pkg/front_end/testcases/general/issue43363.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43363.dart.strong.expect
rename to pkg/front_end/testcases/general/issue43363.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue43363.dart.outline.expect b/pkg/front_end/testcases/general/issue43363.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43363.dart.outline.expect
rename to pkg/front_end/testcases/general/issue43363.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue43363.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue43363.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43363.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue43363.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue43721.dart b/pkg/front_end/testcases/general/issue43721.dart
index 2e034fd..7459970 100644
--- a/pkg/front_end/testcases/general/issue43721.dart
+++ b/pkg/front_end/testcases/general/issue43721.dart
@@ -1,3 +1,9 @@
+// Copyright (c) 2020, 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=2.9
+
 import 'dart:async';
 
 ok<T extends FutureOr<num>>(T t) {}
diff --git a/pkg/front_end/testcases/general/issue43721.dart.strong.expect b/pkg/front_end/testcases/general/issue43721.dart.strong.expect
deleted file mode 100644
index 4874055..0000000
--- a/pkg/front_end/testcases/general/issue43721.dart.strong.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue43721.dart:12:3: Error: Inferred type argument 'FutureOr<num>' doesn't conform to the bound 'FutureOr<int>' of the type variable 'T' on 'error'.
-// Try specifying type arguments explicitly so that they conform to the bounds.
-//   error(z); // Error.
-//   ^
-// pkg/front_end/testcases/general/issue43721.dart:4:7: Context: This is the type variable whose bound isn't conformed to.
-// error<T extends FutureOr<int>>(T t) {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method ok<T extends FutureOr<core::num*>* = FutureOr<core::num*>*>(self::ok::T* t) → dynamic {}
-static method error<T extends FutureOr<core::int*>* = FutureOr<core::int*>*>(self::error::T* t) → dynamic {}
-static method bar(core::bool* condition) → dynamic {
-  FutureOr<core::int*>* x = null;
-  core::num* n = 1;
-  FutureOr<core::num*>* z = condition ?{FutureOr<core::num*>*} x : n;
-  self::ok<FutureOr<core::num*>*>(z);
-  self::error<FutureOr<core::num*>*>(z);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue43721.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue43721.dart.strong.transformed.expect
deleted file mode 100644
index 4874055..0000000
--- a/pkg/front_end/testcases/general/issue43721.dart.strong.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/issue43721.dart:12:3: Error: Inferred type argument 'FutureOr<num>' doesn't conform to the bound 'FutureOr<int>' of the type variable 'T' on 'error'.
-// Try specifying type arguments explicitly so that they conform to the bounds.
-//   error(z); // Error.
-//   ^
-// pkg/front_end/testcases/general/issue43721.dart:4:7: Context: This is the type variable whose bound isn't conformed to.
-// error<T extends FutureOr<int>>(T t) {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method ok<T extends FutureOr<core::num*>* = FutureOr<core::num*>*>(self::ok::T* t) → dynamic {}
-static method error<T extends FutureOr<core::int*>* = FutureOr<core::int*>*>(self::error::T* t) → dynamic {}
-static method bar(core::bool* condition) → dynamic {
-  FutureOr<core::int*>* x = null;
-  core::num* n = 1;
-  FutureOr<core::num*>* z = condition ?{FutureOr<core::num*>*} x : n;
-  self::ok<FutureOr<core::num*>*>(z);
-  self::error<FutureOr<core::num*>*>(z);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue43721.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue43721.dart.textual_outline.expect
index 8cb94b0..c6ba128 100644
--- a/pkg/front_end/testcases/general/issue43721.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue43721.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 ok<T extends FutureOr<num>>(T t) {}
diff --git a/pkg/front_end/testcases/general/issue43721.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue43721.dart.textual_outline_modelled.expect
index f3e0e4c..7dbe771 100644
--- a/pkg/front_end/testcases/general/issue43721.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue43721.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 bar(bool condition) {}
diff --git a/pkg/front_end/testcases/general/issue43721.dart.weak.expect b/pkg/front_end/testcases/general/issue43721.dart.weak.expect
new file mode 100644
index 0000000..c204fd6
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue43721.dart.weak.expect
@@ -0,0 +1,27 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/issue43721.dart:18:3: Error: Inferred type argument 'FutureOr<num>' doesn't conform to the bound 'FutureOr<int>' of the type variable 'T' on 'error'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   error(z); // Error.
+//   ^
+// pkg/front_end/testcases/general/issue43721.dart:10:7: Context: This is the type variable whose bound isn't conformed to.
+// error<T extends FutureOr<int>>(T t) {}
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+import "dart:async";
+
+static method ok<T extends FutureOr<core::num*>* = FutureOr<core::num*>*>(self::ok::T* t) → dynamic {}
+static method error<T extends FutureOr<core::int*>* = FutureOr<core::int*>*>(self::error::T* t) → dynamic {}
+static method bar(core::bool* condition) → dynamic {
+  FutureOr<core::int*>* x = null;
+  core::num* n = 1;
+  FutureOr<core::num*>* z = condition ?{FutureOr<core::num*>*} x : n;
+  self::ok<FutureOr<core::num*>*>(z);
+  self::error<FutureOr<core::num*>*>(z);
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue43721.dart.outline.expect b/pkg/front_end/testcases/general/issue43721.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43721.dart.outline.expect
rename to pkg/front_end/testcases/general/issue43721.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue43721.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue43721.dart.weak.transformed.expect
new file mode 100644
index 0000000..c204fd6
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue43721.dart.weak.transformed.expect
@@ -0,0 +1,27 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/issue43721.dart:18:3: Error: Inferred type argument 'FutureOr<num>' doesn't conform to the bound 'FutureOr<int>' of the type variable 'T' on 'error'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   error(z); // Error.
+//   ^
+// pkg/front_end/testcases/general/issue43721.dart:10:7: Context: This is the type variable whose bound isn't conformed to.
+// error<T extends FutureOr<int>>(T t) {}
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+import "dart:async";
+
+static method ok<T extends FutureOr<core::num*>* = FutureOr<core::num*>*>(self::ok::T* t) → dynamic {}
+static method error<T extends FutureOr<core::int*>* = FutureOr<core::int*>*>(self::error::T* t) → dynamic {}
+static method bar(core::bool* condition) → dynamic {
+  FutureOr<core::int*>* x = null;
+  core::num* n = 1;
+  FutureOr<core::num*>* z = condition ?{FutureOr<core::num*>*} x : n;
+  self::ok<FutureOr<core::num*>*>(z);
+  self::error<FutureOr<core::num*>*>(z);
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue43975.dart b/pkg/front_end/testcases/general/issue43975.dart
index 929affa..8511b80 100644
--- a/pkg/front_end/testcases/general/issue43975.dart
+++ b/pkg/front_end/testcases/general/issue43975.dart
@@ -1,6 +1,6 @@
 // Copyright (c) 2021, 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=2.9
 typedef F = void Function<X extends F>() Function();
 void main() {}
diff --git a/pkg/front_end/testcases/general/issue43975.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue43975.dart.textual_outline.expect
index ccb87d9..7bf4086 100644
--- a/pkg/front_end/testcases/general/issue43975.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue43975.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 typedef F = void Function<X extends F>() Function();
 void main() {}
diff --git a/pkg/front_end/testcases/general/issue43975.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue43975.dart.textual_outline_modelled.expect
index ccb87d9..7bf4086 100644
--- a/pkg/front_end/testcases/general/issue43975.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue43975.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 typedef F = void Function<X extends F>() Function();
 void main() {}
diff --git a/pkg/front_end/testcases/general/issue43975.dart.strong.expect b/pkg/front_end/testcases/general/issue43975.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43975.dart.strong.expect
rename to pkg/front_end/testcases/general/issue43975.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue43975.dart.outline.expect b/pkg/front_end/testcases/general/issue43975.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43975.dart.outline.expect
rename to pkg/front_end/testcases/general/issue43975.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue43975.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue43975.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue43975.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue43975.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue44347.dart b/pkg/front_end/testcases/general/issue44347.dart
index 0389b03..2d9a01e 100644
--- a/pkg/front_end/testcases/general/issue44347.dart
+++ b/pkg/front_end/testcases/general/issue44347.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 test() {
   Set<int>.();
 }
diff --git a/pkg/front_end/testcases/general/issue44347.dart.outline.expect b/pkg/front_end/testcases/general/issue44347.dart.outline.expect
deleted file mode 100644
index a29647d..0000000
--- a/pkg/front_end/testcases/general/issue44347.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/issue44347.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue44347.dart.textual_outline.expect
index ec6b9e0..001308b 100644
--- a/pkg/front_end/testcases/general/issue44347.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue44347.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 test() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/issue44347.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue44347.dart.textual_outline_modelled.expect
index f67dbb0..38df08d 100644
--- a/pkg/front_end/testcases/general/issue44347.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue44347.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 test() {}
diff --git a/pkg/front_end/testcases/general/issue44347.dart.strong.expect b/pkg/front_end/testcases/general/issue44347.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue44347.dart.strong.expect
rename to pkg/front_end/testcases/general/issue44347.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug21938.dart.outline.expect b/pkg/front_end/testcases/general/issue44347.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug21938.dart.outline.expect
copy to pkg/front_end/testcases/general/issue44347.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue44347.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue44347.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue44347.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue44347.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue44476.dart b/pkg/front_end/testcases/general/issue44476.dart
index d8459e2..809de5b 100644
--- a/pkg/front_end/testcases/general/issue44476.dart
+++ b/pkg/front_end/testcases/general/issue44476.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A<X extends int> {}
 
 foo(A<num> x) {
diff --git a/pkg/front_end/testcases/general/issue44476.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue44476.dart.textual_outline.expect
index c3257fc..1681940 100644
--- a/pkg/front_end/testcases/general/issue44476.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue44476.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends int> {}
 
 foo(A<num> x) {}
diff --git a/pkg/front_end/testcases/general/issue44476.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue44476.dart.textual_outline_modelled.expect
index c3257fc..1681940 100644
--- a/pkg/front_end/testcases/general/issue44476.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue44476.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends int> {}
 
 foo(A<num> x) {}
diff --git a/pkg/front_end/testcases/general/issue44476.dart.strong.expect b/pkg/front_end/testcases/general/issue44476.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue44476.dart.strong.expect
rename to pkg/front_end/testcases/general/issue44476.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue44476.dart.outline.expect b/pkg/front_end/testcases/general/issue44476.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue44476.dart.outline.expect
rename to pkg/front_end/testcases/general/issue44476.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue44476.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue44476.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue44476.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue44476.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/issue44654.dart b/pkg/front_end/testcases/general/issue44654.dart
index 83abcab..ad48c45 100644
--- a/pkg/front_end/testcases/general/issue44654.dart
+++ b/pkg/front_end/testcases/general/issue44654.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2021, 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=2.9
 // @dart = 2.9
 
 void test2() {
diff --git a/pkg/front_end/testcases/general/issue44654.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue44654.dart.textual_outline.expect
index a95637c..d7c0d32 100644
--- a/pkg/front_end/testcases/general/issue44654.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/issue44654.dart.textual_outline.expect
@@ -1,4 +1,5 @@
 // @dart = 2.9
+// @dart = 2.9
 void test2() {}
 void main() {}
 void checkFirstLineHasPosition(StackTrace stackTrace) {}
diff --git a/pkg/front_end/testcases/general/issue44654.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue44654.dart.textual_outline_modelled.expect
index 95b5598..3d04f91 100644
--- a/pkg/front_end/testcases/general/issue44654.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/issue44654.dart.textual_outline_modelled.expect
@@ -1,4 +1,5 @@
 // @dart = 2.9
+// @dart = 2.9
 void checkFirstLineHasPosition(StackTrace stackTrace) {}
 void main() {}
 void test2() {}
diff --git a/pkg/front_end/testcases/general/issue44654.dart.strong.expect b/pkg/front_end/testcases/general/issue44654.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue44654.dart.strong.expect
rename to pkg/front_end/testcases/general/issue44654.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/issue44654.dart.outline.expect b/pkg/front_end/testcases/general/issue44654.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue44654.dart.outline.expect
rename to pkg/front_end/testcases/general/issue44654.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/issue44654.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue44654.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue44654.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/issue44654.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/literals.dart b/pkg/front_end/testcases/general/literals.dart
index 561b82c..0d637cc 100644
--- a/pkg/front_end/testcases/general/literals.dart
+++ b/pkg/front_end/testcases/general/literals.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 testString() {
   print("a");
 }
diff --git a/pkg/front_end/testcases/general/literals.dart.textual_outline.expect b/pkg/front_end/testcases/general/literals.dart.textual_outline.expect
index 8732e5c8..23ee3bf 100644
--- a/pkg/front_end/testcases/general/literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 testString() {}
 testInt() {}
 testBool() {}
diff --git a/pkg/front_end/testcases/general/literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/literals.dart.textual_outline_modelled.expect
index e45ac05..1125de1 100644
--- a/pkg/front_end/testcases/general/literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 testBool() {}
 testDouble() {}
diff --git a/pkg/front_end/testcases/general/literals.dart.strong.expect b/pkg/front_end/testcases/general/literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/literals.dart.strong.expect
rename to pkg/front_end/testcases/general/literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/literals.dart.outline.expect b/pkg/front_end/testcases/general/literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/literals.dart.outline.expect
rename to pkg/front_end/testcases/general/literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/literals.dart.strong.transformed.expect b/pkg/front_end/testcases/general/literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart b/pkg/front_end/testcases/general/local_generic_function.dart
index a251f14..05ec927 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart
+++ b/pkg/front_end/testcases/general/local_generic_function.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   T f<T>(List<T> l) => l[0];
   var x = f([0]);
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.outline.expect b/pkg/front_end/testcases/general/local_generic_function.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/local_generic_function.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline.expect b/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/local_generic_function.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.strong.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/local_generic_function.dart.strong.expect
rename to pkg/front_end/testcases/general/local_generic_function.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/local_generic_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/local_generic_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/local_generic_function.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/local_generic_function.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart
index 6a3864c..23b431a 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // Test for potentially slow compilation of long typedef dependency chains.
 
 typedef Foo01<X, Y, Z> = void Function(Null);
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline.expect
index 22729bf..716cfd0 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef Foo01<X, Y, Z> = void Function(Null);
 typedef Foo02<X, Y, Z> = void Function(Foo01<X, Y, Z>);
 typedef Foo03<X, Y, Z> = void Function(Foo02<X, Y, Z>);
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline_modelled.expect
index 20e1848..ab48f3f 100644
--- a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 typedef Foo01<X, Y, Z> = void Function(Null);
 typedef Foo02<X, Y, Z> = void Function(Foo01<X, Y, Z>);
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.strong.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/long_chain_of_typedefs.dart.strong.expect
rename to pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.outline.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/long_chain_of_typedefs.dart.outline.expect
rename to pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.strong.transformed.expect b/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/long_chain_of_typedefs.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/long_chain_of_typedefs.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/magic_const.dart b/pkg/front_end/testcases/general/magic_const.dart
index 276245e..a409685 100644
--- a/pkg/front_end/testcases/general/magic_const.dart
+++ b/pkg/front_end/testcases/general/magic_const.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /// Test that we produce a compile-time error when magic constness would
 /// otherwise apply.
 // TODO(ahe): Update this test when we implement magic constness correctly.
diff --git a/pkg/front_end/testcases/general/magic_const.dart.hierarchy.expect b/pkg/front_end/testcases/general/magic_const.dart.hierarchy.expect
deleted file mode 100644
index 0a8f0ef..0000000
--- a/pkg/front_end/testcases/general/magic_const.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Constant:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-NotConstant:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/magic_const.dart.textual_outline.expect b/pkg/front_end/testcases/general/magic_const.dart.textual_outline.expect
index 63982d2..039d732 100644
--- a/pkg/front_end/testcases/general/magic_const.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/magic_const.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Constant {
   const Constant();
 }
diff --git a/pkg/front_end/testcases/general/magic_const.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/magic_const.dart.textual_outline_modelled.expect
index 98f38df..cb84be0 100644
--- a/pkg/front_end/testcases/general/magic_const.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/magic_const.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Constant {
   const Constant();
 }
diff --git a/pkg/front_end/testcases/general/magic_const.dart.strong.expect b/pkg/front_end/testcases/general/magic_const.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/magic_const.dart.strong.expect
rename to pkg/front_end/testcases/general/magic_const.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/magic_const.dart.outline.expect b/pkg/front_end/testcases/general/magic_const.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/magic_const.dart.outline.expect
rename to pkg/front_end/testcases/general/magic_const.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/magic_const.dart.strong.transformed.expect b/pkg/front_end/testcases/general/magic_const.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/magic_const.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/magic_const.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/main_declaration.dart b/pkg/front_end/testcases/general/main_declaration.dart
index e4df1b0..8ec5e43 100644
--- a/pkg/front_end/testcases/general/main_declaration.dart
+++ b/pkg/front_end/testcases/general/main_declaration.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'main_declaration_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/main_declaration.dart.textual_outline.expect b/pkg/front_end/testcases/general/main_declaration.dart.textual_outline.expect
index 5ab8783..85b4e8e 100644
--- a/pkg/front_end/testcases/general/main_declaration.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/main_declaration.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_declaration_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/main_declaration.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/main_declaration.dart.textual_outline_modelled.expect
index 5ab8783..85b4e8e 100644
--- a/pkg/front_end/testcases/general/main_declaration.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/main_declaration.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_declaration_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/main_declaration.dart.strong.expect b/pkg/front_end/testcases/general/main_declaration.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/main_declaration.dart.strong.expect
rename to pkg/front_end/testcases/general/main_declaration.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/main_declaration.dart.outline.expect b/pkg/front_end/testcases/general/main_declaration.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/main_declaration.dart.outline.expect
rename to pkg/front_end/testcases/general/main_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/main_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/general/main_declaration.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/main_declaration.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/main_declaration.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/main_declaration_lib.dart b/pkg/front_end/testcases/general/main_declaration_lib.dart
index f0d8fb7..cb3971a 100644
--- a/pkg/front_end/testcases/general/main_declaration_lib.dart
+++ b/pkg/front_end/testcases/general/main_declaration_lib.dart
@@ -1,6 +1,6 @@
 // Copyright (c) 2020, 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=2.9
 // This would be an invalid main declaration in a null safe library.
 main(String args) {}
diff --git a/pkg/front_end/testcases/general/many_errors.dart b/pkg/front_end/testcases/general/many_errors.dart
index b689662..27ac04a 100644
--- a/pkg/front_end/testcases/general/many_errors.dart
+++ b/pkg/front_end/testcases/general/many_errors.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {
   final x = null;
 
diff --git a/pkg/front_end/testcases/general/many_errors.dart.hierarchy.expect b/pkg/front_end/testcases/general/many_errors.dart.hierarchy.expect
deleted file mode 100644
index ef14d0e..0000000
--- a/pkg/front_end/testcases/general/many_errors.dart.hierarchy.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.b
-
-AbstractClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/many_errors.dart.textual_outline.expect b/pkg/front_end/testcases/general/many_errors.dart.textual_outline.expect
index cce4ba2..e839414 100644
--- a/pkg/front_end/testcases/general/many_errors.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/many_errors.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   final x = null;
   const A.named1() sync* {}
diff --git a/pkg/front_end/testcases/general/many_errors.dart.strong.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/many_errors.dart.strong.expect
rename to pkg/front_end/testcases/general/many_errors.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/many_errors.dart.outline.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/many_errors.dart.outline.expect
rename to pkg/front_end/testcases/general/many_errors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/many_errors.dart.strong.transformed.expect b/pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/many_errors.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/many_errors.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/map.dart b/pkg/front_end/testcases/general/map.dart
index b2e55ab..1ced1ab 100644
--- a/pkg/front_end/testcases/general/map.dart
+++ b/pkg/front_end/testcases/general/map.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   print(new Map());
 }
diff --git a/pkg/front_end/testcases/general/map.dart.outline.expect b/pkg/front_end/testcases/general/map.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/map.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/map.dart.textual_outline.expect b/pkg/front_end/testcases/general/map.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/map.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/map.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/map.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/map.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/map.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/map.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/map.dart.strong.expect b/pkg/front_end/testcases/general/map.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/map.dart.strong.expect
rename to pkg/front_end/testcases/general/map.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/map.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/cascade.dart.outline.expect
rename to pkg/front_end/testcases/general/map.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/map.dart.strong.transformed.expect b/pkg/front_end/testcases/general/map.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/map.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/map.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart b/pkg/front_end/testcases/general/metadata_enum.dart
index e31a3ce..d8f5441 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart
+++ b/pkg/front_end/testcases/general/metadata_enum.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 const a = null;
 
 @a
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.hierarchy.expect b/pkg/front_end/testcases/general/metadata_enum.dart.hierarchy.expect
deleted file mode 100644
index 07b5939..0000000
--- a/pkg/front_end/testcases/general/metadata_enum.dart.hierarchy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    E.toString
-    E.E1
-    E.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    E.E2
-    Object._instanceOf
-    E._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    E.E3
-    Object.hashCode
-    E.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline.expect b/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline.expect
index ab7b226..4e0154a 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const a = null;
 @a
 enum E { E1, E2, E3 }
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline_modelled.expect
index ab7b226..4e0154a 100644
--- a/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/metadata_enum.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const a = null;
 @a
 enum E { E1, E2, E3 }
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.strong.expect b/pkg/front_end/testcases/general/metadata_enum.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/metadata_enum.dart.strong.expect
rename to pkg/front_end/testcases/general/metadata_enum.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.outline.expect b/pkg/front_end/testcases/general/metadata_enum.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/metadata_enum.dart.outline.expect
rename to pkg/front_end/testcases/general/metadata_enum.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/metadata_enum.dart.strong.transformed.expect b/pkg/front_end/testcases/general/metadata_enum.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/metadata_enum.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/metadata_enum.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart
index 1861f85..bd1fa26 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 const a = null;
 
 @a
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.hierarchy.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.hierarchy.expect
deleted file mode 100644
index 08e508c..0000000
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> D
-  interfaces: E
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline.expect
index 525a405..aed1297 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const a = null;
 @a
 class C = D with E;
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline_modelled.expect
index 8c1c5b9..10a58d2 100644
--- a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 @a
 class C = D with E;
 
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.strong.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/metadata_named_mixin_application.dart.strong.expect
rename to pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.outline.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/metadata_named_mixin_application.dart.outline.expect
rename to pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.strong.transformed.expect b/pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/metadata_named_mixin_application.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/metadata_named_mixin_application.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/micro.dart b/pkg/front_end/testcases/general/micro.dart
index cfcb2fc..483abd29 100644
--- a/pkg/front_end/testcases/general/micro.dart
+++ b/pkg/front_end/testcases/general/micro.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 staticMethod() {
   return "sdfg";
 }
diff --git a/pkg/front_end/testcases/general/micro.dart.hierarchy.expect b/pkg/front_end/testcases/general/micro.dart.hierarchy.expect
deleted file mode 100644
index f582dc5..0000000
--- a/pkg/front_end/testcases/general/micro.dart.hierarchy.expect
+++ /dev/null
@@ -1,164 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Foo.instanceMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ExternalValue:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Bar.externalInstanceMethod
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Box:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Box.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Box.field
-
-FinalBox:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    FinalBox.finalField
-  classSetters:
-
-SubFinalBox:
-  superclasses:
-    Object
-      -> FinalBox
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    FinalBox.finalField
-  classSetters:
-
-DynamicReceiver1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    DynamicReceiver1.dynamicallyCalled
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-DynamicReceiver2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    DynamicReceiver2.dynamicallyCalled
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/micro.dart.textual_outline.expect b/pkg/front_end/testcases/general/micro.dart.textual_outline.expect
index 1c27a80..229392f 100644
--- a/pkg/front_end/testcases/general/micro.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/micro.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 staticMethod() {}
 
 class Foo {
diff --git a/pkg/front_end/testcases/general/micro.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/micro.dart.textual_outline_modelled.expect
index 0ec1840..87285db 100644
--- a/pkg/front_end/testcases/general/micro.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/micro.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Bar {
   ExternalValue externalInstanceMethod();
 }
diff --git a/pkg/front_end/testcases/general/micro.dart.strong.expect b/pkg/front_end/testcases/general/micro.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/micro.dart.strong.expect
rename to pkg/front_end/testcases/general/micro.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/micro.dart.outline.expect b/pkg/front_end/testcases/general/micro.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/micro.dart.outline.expect
rename to pkg/front_end/testcases/general/micro.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/micro.dart.strong.transformed.expect b/pkg/front_end/testcases/general/micro.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/micro.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/micro.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/minimum_int.dart b/pkg/front_end/testcases/general/minimum_int.dart
index 4b5a61c..fdba274 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart
+++ b/pkg/front_end/testcases/general/minimum_int.dart
@@ -1 +1,2 @@
+// @dart=2.9
 main() => print(-9223372036854775808);
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.outline.expect b/pkg/front_end/testcases/general/minimum_int.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/minimum_int.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.strong.transformed.expect b/pkg/front_end/testcases/general/minimum_int.dart.strong.transformed.expect
deleted file mode 100644
index 493f69a..0000000
--- a/pkg/front_end/testcases/general/minimum_int.dart.strong.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  return core::print(-9223372036854775808.{core::int::unary-}());
-
-
-Extra constant evaluation status:
-Evaluated: MethodInvocation @ org-dartlang-testcase:///minimum_int.dart:1:17 -> IntConstant(-9223372036854775808)
-Extra constant evaluation: evaluated: 2, effectively constant: 1
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.textual_outline.expect b/pkg/front_end/testcases/general/minimum_int.dart.textual_outline.expect
index 4b5a61c..30ce5d2 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() => print(-9223372036854775808);
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/minimum_int.dart.textual_outline_modelled.expect
index 4b5a61c..30ce5d2 100644
--- a/pkg/front_end/testcases/general/minimum_int.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/minimum_int.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() => print(-9223372036854775808);
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.strong.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/minimum_int.dart.strong.expect
rename to pkg/front_end/testcases/general/minimum_int.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/minimum_int.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect b/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect
new file mode 100644
index 0000000..9628dc6
--- /dev/null
+++ b/pkg/front_end/testcases/general/minimum_int.dart.weak.transformed.expect
@@ -0,0 +1,11 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static method main() → dynamic
+  return core::print(-9223372036854775808.{core::int::unary-}());
+
+
+Extra constant evaluation status:
+Evaluated: MethodInvocation @ org-dartlang-testcase:///minimum_int.dart:2:17 -> IntConstant(-9223372036854775808)
+Extra constant evaluation: evaluated: 2, effectively constant: 1
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart b/pkg/front_end/testcases/general/missing_constructor.dart
index 190d24c..16bb61f 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart
+++ b/pkg/front_end/testcases/general/missing_constructor.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class Super {
   Super._();
 }
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/general/missing_constructor.dart.hierarchy.expect
deleted file mode 100644
index 662f599..0000000
--- a/pkg/front_end/testcases/general/missing_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,149 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Super:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Sub:
-  superclasses:
-    Object
-      -> Super
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bad:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Super with M:
-  superclasses:
-    Object
-      -> Super
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-MixinApplication:
-  superclasses:
-    Object
-      -> Super
-        -> _MixinApplication&Super&M
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline.expect
index 021aaf9..a70ca4f5 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Super {
   Super._();
 }
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline_modelled.expect
index 44085f9..ebcb150 100644
--- a/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/missing_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bad {
   Bad.bar() : this.baz();
   Bad.foo() : this();
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.strong.expect b/pkg/front_end/testcases/general/missing_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/missing_constructor.dart.strong.expect
rename to pkg/front_end/testcases/general/missing_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.outline.expect b/pkg/front_end/testcases/general/missing_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/missing_constructor.dart.outline.expect
rename to pkg/front_end/testcases/general/missing_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/general/missing_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/missing_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/missing_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart b/pkg/front_end/testcases/general/missing_toplevel.dart
index 4e63188..bf3f72c 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class EmptyClass {}
 
 var emptyClass = new EmptyClass();
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline.expect
index ee318d7..bb6e0a8 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class EmptyClass {}
 
 var emptyClass = new EmptyClass();
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline_modelled.expect
index c685729..3541a60 100644
--- a/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/missing_toplevel.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class ClassWithIndexGet {
   int operator [](int index) => 42;
 }
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.strong.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/missing_toplevel.dart.strong.expect
rename to pkg/front_end/testcases/general/missing_toplevel.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.outline.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/missing_toplevel.dart.outline.expect
rename to pkg/front_end/testcases/general/missing_toplevel.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.strong.transformed.expect b/pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/missing_toplevel.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/missing_toplevel.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin.dart b/pkg/front_end/testcases/general/mixin.dart
index 833d32a..4d44070 100644
--- a/pkg/front_end/testcases/general/mixin.dart
+++ b/pkg/front_end/testcases/general/mixin.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class B extends Object with M1, M2 {
   B(value);
 }
diff --git a/pkg/front_end/testcases/general/mixin.dart.hierarchy.expect b/pkg/front_end/testcases/general/mixin.dart.hierarchy.expect
deleted file mode 100644
index 7b25a03..0000000
--- a/pkg/front_end/testcases/general/mixin.dart.hierarchy.expect
+++ /dev/null
@@ -1,336 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_C&Object&M1 with M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _C&Object&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C&Object&M1
-        -> _C&Object&M1&M2
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-G1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with G1<S>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: G1<S>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _D&Object&G1<S>
-  interfaces: G1<S>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B&Object&M1 with M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _B&Object&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _B&Object&M1
-        -> _B&Object&M1&M2
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/mixin.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin.dart.textual_outline.expect
index 74bf0c0..6403bda 100644
--- a/pkg/front_end/testcases/general/mixin.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B extends Object with M1, M2 {
   B(value);
 }
diff --git a/pkg/front_end/testcases/general/mixin.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin.dart.textual_outline_modelled.expect
index 4fd20a5..2202aec 100644
--- a/pkg/front_end/testcases/general/mixin.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class G1<T> {
   m() => print(T);
 }
diff --git a/pkg/front_end/testcases/general/mixin.dart.strong.expect b/pkg/front_end/testcases/general/mixin.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin.dart.outline.expect b/pkg/front_end/testcases/general/mixin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart
index ae79ed2..838b2ea 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Mixin {}
 
 class Super {
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline.expect
index ee10660..1304dc7 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Mixin {}
 
 class Super {
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline_modelled.expect
index 44e6390..9e5b6b3 100644
--- a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class = Super with Mixin;
 
 class Mixin {}
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.strong.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.outline.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart b/pkg/front_end/testcases/general/mixin_application_lub.dart
index a144b92..52ff709 100644
--- a/pkg/front_end/testcases/general/mixin_application_lub.dart
+++ b/pkg/front_end/testcases/general/mixin_application_lub.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Diagnosticable {}
 
 // Originally the existence of this (unused) class (which has an anonymous mixin
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_application_lub.dart.textual_outline.expect
index 5603659..3944e07 100644
--- a/pkg/front_end/testcases/general/mixin_application_lub.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_application_lub.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Diagnosticable {}
 
 class SomeClass with Diagnosticable {}
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_application_lub.dart.textual_outline_modelled.expect
index 0d56a51..1b745a2 100644
--- a/pkg/front_end/testcases/general/mixin_application_lub.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_application_lub.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 StateA a = StateA();
 StateB b = StateB();
 
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart.strong.expect b/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_application_lub.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_application_lub.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart.outline.expect b/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_application_lub.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_application_lub.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_application_lub.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_application_lub.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_application_lub.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_application_lub.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart b/pkg/front_end/testcases/general/mixin_application_override.dart
index 30b4f19..adfdcab 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // Test error messages for invalid override in a mixin application.
 
 class S {
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.hierarchy.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.hierarchy.expect
deleted file mode 100644
index 2d41275..0000000
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.hierarchy.expect
+++ /dev/null
@@ -1,1301 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-S:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-MX:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A0:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A0.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A0.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A1:
-  superclasses:
-    Object
-      -> S
-        -> _A1&S&M1
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A1.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A1.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A2&S&M1 with M2:
-  superclasses:
-    Object
-      -> S
-        -> _A2&S&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A2:
-  superclasses:
-    Object
-      -> S
-        -> _A2&S&M1
-          -> _A2&S&M1&M2
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A2.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A2.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A0X:
-  superclasses:
-    Object
-      -> S
-        -> _A0X&S&M
-  interfaces: M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A1X&S&M1 with M:
-  superclasses:
-    Object
-      -> S
-        -> _A1X&S&M1
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A1X:
-  superclasses:
-    Object
-      -> S
-        -> _A1X&S&M1
-          -> _A1X&S&M1&M
-  interfaces: M1, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A2X&S&M1 with M2:
-  superclasses:
-    Object
-      -> S
-        -> _A2X&S&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A2X&S&M1&M2 with M:
-  superclasses:
-    Object
-      -> S
-        -> _A2X&S&M1
-          -> _A2X&S&M1&M2
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A2X:
-  superclasses:
-    Object
-      -> S
-        -> _A2X&S&M1
-          -> _A2X&S&M1&M2
-            -> _A2X&S&M1&M2&M
-  interfaces: M1, M2, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B0:
-  superclasses:
-    Object
-      -> S
-        -> _B0&S&M
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B1&S&M1 with M:
-  superclasses:
-    Object
-      -> S
-        -> _B1&S&M1
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B1:
-  superclasses:
-    Object
-      -> S
-        -> _B1&S&M1
-          -> _B1&S&M1&M
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2&S&M1 with M2:
-  superclasses:
-    Object
-      -> S
-        -> _B2&S&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2&S&M1&M2 with M:
-  superclasses:
-    Object
-      -> S
-        -> _B2&S&M1
-          -> _B2&S&M1&M2
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B2:
-  superclasses:
-    Object
-      -> S
-        -> _B2&S&M1
-          -> _B2&S&M1&M2
-            -> _B2&S&M1&M2&M
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B0X&S&M with MX:
-  superclasses:
-    Object
-      -> S
-        -> _B0X&S&M
-  interfaces: M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B0X:
-  superclasses:
-    Object
-      -> S
-        -> _B0X&S&M
-          -> _B0X&S&M&MX
-  interfaces: M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B1X&S&M1 with M:
-  superclasses:
-    Object
-      -> S
-        -> _B1X&S&M1
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B1X&S&M1&M with MX:
-  superclasses:
-    Object
-      -> S
-        -> _B1X&S&M1
-          -> _B1X&S&M1&M
-  interfaces: M1, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B1X:
-  superclasses:
-    Object
-      -> S
-        -> _B1X&S&M1
-          -> _B1X&S&M1&M
-            -> _B1X&S&M1&M&MX
-  interfaces: M1, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2X&S&M1 with M2:
-  superclasses:
-    Object
-      -> S
-        -> _B2X&S&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2X&S&M1&M2 with M:
-  superclasses:
-    Object
-      -> S
-        -> _B2X&S&M1
-          -> _B2X&S&M1&M2
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2X&S&M1&M2&M with MX:
-  superclasses:
-    Object
-      -> S
-        -> _B2X&S&M1
-          -> _B2X&S&M1&M2
-            -> _B2X&S&M1&M2&M
-  interfaces: M1, M2, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B2X:
-  superclasses:
-    Object
-      -> S
-        -> _B2X&S&M1
-          -> _B2X&S&M1&M2
-            -> _B2X&S&M1&M2&M
-              -> _B2X&S&M1&M2&M&MX
-  interfaces: M1, M2, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline.expect
index ee4aef8..0e11e73 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class S {
   foo([x]) {}
 }
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline_modelled.expect
index 6187ae6..7875500 100644
--- a/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_application_override.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A0 = S with M;
 class A0X = S with M, MX;
 class A1 = S with M1, M;
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.strong.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_application_override.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_application_override.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_application_override.dart.outline.expect b/pkg/front_end/testcases/general/mixin_application_override.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_application_override.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_application_override.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart b/pkg/front_end/testcases/general/mixin_conflicts.dart
index 6afebe0..70cf203 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // This class has no problems.
 class M {
   foo() {}
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.hierarchy.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.hierarchy.expect
deleted file mode 100644
index 8999f35..0000000
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.hierarchy.expect
+++ /dev/null
@@ -1,367 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-N:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with N:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: N, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C&Object&N
-  interfaces: N, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-N2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-N3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C2:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C2&Object&M2
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C3:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C3&Object&M2
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline.expect
index 5f79e28..2819465 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class M {
   foo() {}
 }
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline_modelled.expect
index b2ad75b..96f1a87 100644
--- a/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_conflicts.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class C3 extends Object with M2 {}
 
 abstract class M2 implements M {
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.strong.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_conflicts.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_conflicts.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.outline.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_conflicts.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_conflicts.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_conflicts.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_conflicts.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_conflicts.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_conflicts.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart
index 011cb34..2e9efab 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.hierarchy.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.hierarchy.expect
deleted file mode 100644
index 3d588b6..0000000
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.hierarchy.expect
+++ /dev/null
@@ -1,543 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C<String>
-  interfaces: M
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-  interfaceMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.trace
-
-E:
-  superclasses:
-    Object
-      -> C<String>
-        -> D
-  interfaces: M
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-  interfaceMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.trace
-
-C<int> with M:
-  superclasses:
-    Object
-      -> C<int>
-  interfaces: M
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-  interfaceMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.trace
-
-F:
-  superclasses:
-    Object
-      -> C<int>
-        -> _F&C&M
-  interfaces: M
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-  interfaceMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.trace
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline.expect
index d671b85..86ae68a 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline_modelled.expect
index 452b24b..e69ebaf 100644
--- a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class C<T> {
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.strong.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.outline.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart b/pkg/front_end/testcases/general/mixin_covariant.dart
index b9384c1..77b9cdb 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // Derived from language_2/covariant_override/tear_off_type_test
 
 // If a parameter is directly or indirectly a covariant override, its type in
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline.expect
index c16e66d..5f9d48c 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef void TakeInts(int a, int b, int c, int d, int e);
 typedef void TakeObjectsAndInts(Object a, int b, Object c, int d, int e);
 typedef void TakeObjects(Object a, Object b, Object c, Object d, Object e);
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline_modelled.expect
index c1e2d8c..bd45a1d 100644
--- a/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Implement1 {
   void method(covariant int a, int b, int c, int d, int e) {}
 }
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.strong.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_covariant.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_covariant.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.outline.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_covariant.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_covariant.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_covariant.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_covariant.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_covariant.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart b/pkg/front_end/testcases/general/mixin_covariant2.dart
index 8454114..51720ec 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Superclass {
   String method1(num argument1, num argument2) => "Superclass";
   String method2(num argument1, num argument2) => "Superclass";
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline.expect
index 6f22d96..4e542eb 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Superclass {
   String method1(num argument1, num argument2) => "Superclass";
   String method2(num argument1, num argument2) => "Superclass";
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline_modelled.expect
index 9f3d0b4..ba9c54c 100644
--- a/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_covariant2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class extends Superclass with Mixin {}
 
 class Mixin {
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.strong.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_covariant2.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_covariant2.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.outline.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_covariant2.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_covariant2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_covariant2.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_covariant2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_covariant2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart b/pkg/front_end/testcases/general/mixin_from_patch/main.dart
index 9a64949..70c5990 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'dart:test';
 
 main() {
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.outline.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.outline.expect
deleted file mode 100644
index 76e0c7e..0000000
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.outline.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library;
-import self as self;
-
-import "dart:test";
-
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:_internal" as _in;
-import "dart:core" as core;
-
-import "dart:_internal";
-
-@_in::patch
-class Class extends core::Object {
-  constructor _internal({core::bool value}) → self2::Class
-    ;
-  @_in::patch
-  external constructor patched() → self2::Class
-    ;
-  constructor unpatched() → self2::Class
-    ;
-}
-abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
-}
-abstract class _SubClass&Class&Mixin = self2::Class with self2::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor patched() → self2::_SubClass&Class&Mixin
-    : super self2::Class::patched()
-    ;
-  synthetic constructor unpatched() → self2::_SubClass&Class&Mixin
-    : super self2::Class::unpatched()
-    ;
-  synthetic constructor _internal({core::bool value}) → self2::_SubClass&Class&Mixin
-    : super self2::Class::_internal(value: value)
-    ;
-}
-@_in::patch
-class SubClass extends self2::_SubClass&Class&Mixin {
-  constructor _internal() → self2::SubClass
-    ;
-  @_in::patch
-  external constructor patched() → self2::SubClass
-    ;
-  constructor unpatched() → self2::SubClass
-    ;
-}
-
-
-Extra constant evaluation status:
-Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:8:20 -> InstanceConstant(const _Patch{})
-Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:14:3 -> InstanceConstant(const _Patch{})
-Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:16:19 -> InstanceConstant(const _Patch{})
-Evaluated: StaticGet @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const _Patch{})
-Extra constant evaluation: evaluated: 5, effectively constant: 4
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.strong.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.strong.expect
deleted file mode 100644
index 4c4257a..0000000
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.strong.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-import self as self;
-import "dart:test" as test;
-
-import "dart:test";
-
-static method main() → dynamic {
-  new test::Class::patched();
-  new test::Class::unpatched();
-  new test::SubClass::patched();
-  new test::SubClass::unpatched();
-}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart:14:12: Error: The superclass, 'Class with Mixin', has no unnamed constructor that takes no arguments.
-//   external SubClass.patched();
-//            ^^^^^^^
-//
-import self as test;
-import "dart:_internal" as _in;
-import "dart:core" as core;
-
-import "dart:_internal";
-
-@#C1
-class Class extends core::Object {
-  constructor _internal({core::bool value = #C2}) → test::Class
-    : super core::Object::•()
-    ;
-  @#C1
-  constructor patched() → test::Class
-    : this test::Class::_internal()
-    ;
-  constructor unpatched() → test::Class
-    : super core::Object::•()
-    ;
-}
-abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
-}
-abstract class _SubClass&Class&Mixin = test::Class with test::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor patched() → test::_SubClass&Class&Mixin
-    : super test::Class::patched()
-    ;
-  synthetic constructor unpatched() → test::_SubClass&Class&Mixin
-    : super test::Class::unpatched()
-    ;
-  synthetic constructor _internal({core::bool value = #C2}) → test::_SubClass&Class&Mixin
-    : super test::Class::_internal(value: value)
-    ;
-}
-@#C1
-class SubClass extends test::_SubClass&Class&Mixin {
-  constructor _internal() → test::SubClass
-    : super test::_SubClass&Class&Mixin::_internal(value: true)
-    ;
-  @#C1
-  constructor patched() → test::SubClass
-    : this test::SubClass::_internal()
-    ;
-  constructor unpatched() → test::SubClass
-    : super test::_SubClass&Class&Mixin::unpatched()
-    ;
-}
-
-constants  {
-  #C1 = _in::_Patch {}
-  #C2 = false
-}
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.strong.transformed.expect
deleted file mode 100644
index bacc201..0000000
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.strong.transformed.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-import self as self;
-import "dart:test" as test;
-
-import "dart:test";
-
-static method main() → dynamic {
-  new test::Class::patched();
-  new test::Class::unpatched();
-  new test::SubClass::patched();
-  new test::SubClass::unpatched();
-}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart:14:12: Error: The superclass, 'Class with Mixin', has no unnamed constructor that takes no arguments.
-//   external SubClass.patched();
-//            ^^^^^^^
-//
-import self as test;
-import "dart:_internal" as _in;
-import "dart:core" as core;
-
-import "dart:_internal";
-
-@#C1
-class Class extends core::Object {
-  constructor _internal({core::bool value = #C2}) → test::Class
-    : super core::Object::•()
-    ;
-  @#C1
-  constructor patched() → test::Class
-    : this test::Class::_internal()
-    ;
-  constructor unpatched() → test::Class
-    : super core::Object::•()
-    ;
-}
-abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
-}
-abstract class _SubClass&Class&Mixin extends test::Class implements test::Mixin /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor patched() → test::_SubClass&Class&Mixin
-    : super test::Class::patched()
-    ;
-  synthetic constructor unpatched() → test::_SubClass&Class&Mixin
-    : super test::Class::unpatched()
-    ;
-  synthetic constructor _internal({core::bool value = #C2}) → test::_SubClass&Class&Mixin
-    : super test::Class::_internal(value: value)
-    ;
-}
-@#C1
-class SubClass extends test::_SubClass&Class&Mixin {
-  constructor _internal() → test::SubClass
-    : super test::_SubClass&Class&Mixin::_internal(value: true)
-    ;
-  @#C1
-  constructor patched() → test::SubClass
-    : this test::SubClass::_internal()
-    ;
-  constructor unpatched() → test::SubClass
-    : super test::_SubClass&Class&Mixin::unpatched()
-    ;
-}
-
-constants  {
-  #C1 = _in::_Patch {}
-  #C2 = false
-}
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline.expect
index 3c9c90e..9ededd9 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline_modelled.expect
index 3c9c90e..9ededd9 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.expect
new file mode 100644
index 0000000..964cf88
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.expect
@@ -0,0 +1,91 @@
+library;
+import self as self;
+import "dart:test" as test;
+
+import "dart:test";
+
+static method main() → dynamic {
+  new test::Class::patched();
+  new test::Class::unpatched();
+  new test::SubClass::patched();
+  new test::SubClass::unpatched();
+}
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart:14:12: Error: The superclass, 'Class with Mixin', has no unnamed constructor that takes no arguments.
+//   external SubClass.patched();
+//            ^^^^^^^
+//
+import self as test;
+import "dart:_internal" as _in;
+import "dart:core" as core;
+
+import "dart:_internal";
+
+@#C1
+class Class extends core::Object {
+  constructor _internal({core::bool* value = #C2}) → test::Class*
+    : super core::Object::•()
+    ;
+  @#C1
+  constructor patched() → test::Class*
+    : this test::Class::_internal()
+    ;
+  constructor unpatched() → test::Class*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _SubClass&Class&Mixin = test::Class with test::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor patched() → test::_SubClass&Class&Mixin*
+    : super test::Class::patched()
+    ;
+  synthetic constructor unpatched() → test::_SubClass&Class&Mixin*
+    : super test::Class::unpatched()
+    ;
+  synthetic constructor _internal({core::bool* value = #C2}) → test::_SubClass&Class&Mixin*
+    : super test::Class::_internal(value: value)
+    ;
+}
+@#C1
+class SubClass extends test::_SubClass&Class&Mixin {
+  constructor _internal() → test::SubClass*
+    : super test::_SubClass&Class&Mixin::_internal(value: true)
+    ;
+  @#C1
+  constructor patched() → test::SubClass*
+    : this test::SubClass::_internal()
+    ;
+  constructor unpatched() → test::SubClass*
+    : super test::_SubClass&Class&Mixin::unpatched()
+    ;
+}
+
+constants  {
+  #C1 = _in::_Patch {}
+  #C2 = false
+}
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.outline.expect
new file mode 100644
index 0000000..03b90d2
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.outline.expect
@@ -0,0 +1,76 @@
+library;
+import self as self;
+
+import "dart:test";
+
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:_internal" as _in;
+import "dart:core" as core;
+
+import "dart:_internal";
+
+@_in::patch
+class Class extends core::Object {
+  constructor _internal({core::bool* value}) → self2::Class*
+    ;
+  @_in::patch
+  external constructor patched() → self2::Class*
+    ;
+  constructor unpatched() → self2::Class*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _SubClass&Class&Mixin = self2::Class with self2::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor patched() → self2::_SubClass&Class&Mixin*
+    : super self2::Class::patched()
+    ;
+  synthetic constructor unpatched() → self2::_SubClass&Class&Mixin*
+    : super self2::Class::unpatched()
+    ;
+  synthetic constructor _internal({core::bool* value}) → self2::_SubClass&Class&Mixin*
+    : super self2::Class::_internal(value: value)
+    ;
+}
+@_in::patch
+class SubClass extends self2::_SubClass&Class&Mixin {
+  constructor _internal() → self2::SubClass*
+    ;
+  @_in::patch
+  external constructor patched() → self2::SubClass*
+    ;
+  constructor unpatched() → self2::SubClass*
+    ;
+}
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:8:20 -> InstanceConstant(const _Patch{})
+Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:14:3 -> InstanceConstant(const _Patch{})
+Evaluated: StaticGet @ org-dartlang-testcase:///origin_lib.dart:16:19 -> InstanceConstant(const _Patch{})
+Evaluated: StaticGet @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const _Patch{})
+Extra constant evaluation: evaluated: 5, effectively constant: 4
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.transformed.expect
new file mode 100644
index 0000000..6852f0a
--- /dev/null
+++ b/pkg/front_end/testcases/general/mixin_from_patch/main.dart.weak.transformed.expect
@@ -0,0 +1,101 @@
+library;
+import self as self;
+import "dart:test" as test;
+
+import "dart:test";
+
+static method main() → dynamic {
+  new test::Class::patched();
+  new test::Class::unpatched();
+  new test::SubClass::patched();
+  new test::SubClass::unpatched();
+}
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart:14:12: Error: The superclass, 'Class with Mixin', has no unnamed constructor that takes no arguments.
+//   external SubClass.patched();
+//            ^^^^^^^
+//
+import self as test;
+import "dart:_internal" as _in;
+import "dart:core" as core;
+
+import "dart:_internal";
+
+@#C1
+class Class extends core::Object {
+  constructor _internal({core::bool* value = #C2}) → test::Class*
+    : super core::Object::•()
+    ;
+  @#C1
+  constructor patched() → test::Class*
+    : this test::Class::_internal()
+    ;
+  constructor unpatched() → test::Class*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _SubClass&Class&Mixin extends test::Class implements test::Mixin /*isAnonymousMixin,isEliminatedMixin*/  {
+  synthetic constructor patched() → test::_SubClass&Class&Mixin*
+    : super test::Class::patched()
+    ;
+  synthetic constructor unpatched() → test::_SubClass&Class&Mixin*
+    : super test::Class::unpatched()
+    ;
+  synthetic constructor _internal({core::bool* value = #C2}) → test::_SubClass&Class&Mixin*
+    : super test::Class::_internal(value: value)
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+@#C1
+class SubClass extends test::_SubClass&Class&Mixin {
+  constructor _internal() → test::SubClass*
+    : super test::_SubClass&Class&Mixin::_internal(value: true)
+    ;
+  @#C1
+  constructor patched() → test::SubClass*
+    : this test::SubClass::_internal()
+    ;
+  constructor unpatched() → test::SubClass*
+    : super test::_SubClass&Class&Mixin::unpatched()
+    ;
+}
+
+constants  {
+  #C1 = _in::_Patch {}
+  #C2 = false
+}
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart b/pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart
index 3a9ea31..e8e141d 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart
+++ b/pkg/front_end/testcases/general/mixin_from_patch/origin_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Class {
   external Class.patched();
 
diff --git a/pkg/front_end/testcases/general/mixin_from_patch/patch_lib.dart b/pkg/front_end/testcases/general/mixin_from_patch/patch_lib.dart
index 5eb5e41..8e32303 100644
--- a/pkg/front_end/testcases/general/mixin_from_patch/patch_lib.dart
+++ b/pkg/front_end/testcases/general/mixin_from_patch/patch_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // ignore: import_internal_library
 import 'dart:_internal';
 
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart
index 8f33bdf..7e4d936 100644
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 class A {}
 
 class C<T extends A> {
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.hierarchy.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.hierarchy.expect
deleted file mode 100644
index 85f7304..0000000
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,168 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._field
-
-D:
-  superclasses:
-    Object
-      -> C<B>
-  interfaces:
-  classMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._field
-
-Object with C<B>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C<B>
-  classMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._field
-  interfaceMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C._field
-
-Foo:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Foo&Object&C
-  interfaces: C<B>
-  classMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._field
-  interfaceMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C._field
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.textual_outline.expect
index e0817ec..3331207 100644
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class C<T extends A> {
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.textual_outline_modelled.expect
index 5993153..3aba4c6 100644
--- a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.outline.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart b/pkg/front_end/testcases/general/mixin_interface_conflict.dart
index 767bf52..5382f6e 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class B {
   int get n => 1;
 }
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline.expect
index d373953..49f94cd 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B {
   int get n => 1;
 }
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline_modelled.expect
index e2a50a1..c6ed9f3 100644
--- a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B {
   int get n => 1;
 }
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.strong.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_interface_conflict.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.outline.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_interface_conflict.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_interface_conflict.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_interface_conflict.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_interface_conflict.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart b/pkg/front_end/testcases/general/mixin_stubs.dart
index 59f0691..22e5bb1 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class Super {
   void concreteExtendsConcreteMixin() {}
   void concreteExtendsAbstractMixin() {}
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline.expect
index 9a72527..4f42b33 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Super {
   void concreteExtendsConcreteMixin() {}
   void concreteExtendsAbstractMixin() {}
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline_modelled.expect
index b8362ad..44714c6 100644
--- a/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_stubs.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class ClassEqMixin = Super with Mixin;
 abstract class ClassEqMixinClass = Super with MixinClass;
 
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.strong.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_stubs.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_stubs.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.outline.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_stubs.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_stubs.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_stubs.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_stubs.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_stubs.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart b/pkg/front_end/testcases/general/mixin_super_repeated.dart
index e9453fd..f8fcad7 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 abstract class M {
   var m;
 }
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.hierarchy.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.hierarchy.expect
deleted file mode 100644
index 869bb76..0000000
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.hierarchy.expect
+++ /dev/null
@@ -1,190 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-
-N:
-  superclasses:
-    Object
-      -> M
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-    N.superM
-
-S:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-S with M:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    M.m
-
-_Named&S&M with N:
-  superclasses:
-    Object
-      -> S
-        -> _Named&S&M
-  interfaces: M, N
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-    N.superM
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    M.m
-    N.superM
-
-Named:
-  superclasses:
-    Object
-      -> S
-        -> _Named&S&M
-          -> _Named&S&M&N
-  interfaces: M, N
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-    N.superM
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    M.m
-    N.superM
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline.expect
index e92d32e..9975f5c 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class M {
   var m;
 }
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline_modelled.expect
index 2d9c4d4..5f64874 100644
--- a/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_super_repeated.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class M {
   var m;
 }
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.strong.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_super_repeated.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.outline.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_super_repeated.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_super_repeated.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_super_repeated.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart b/pkg/front_end/testcases/general/mixin_with_static_member.dart
index 27ce9da..2737bb4 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A extends B with M {}
 
 class B {
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.hierarchy.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.hierarchy.expect
deleted file mode 100644
index 6eaae17..0000000
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.hierarchy.expect
+++ /dev/null
@@ -1,120 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B with M:
-  superclasses:
-    Object
-      -> B
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  superclasses:
-    Object
-      -> B
-        -> _A&B&M
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline.expect
index 2e0fe67..4b1e84f 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends B with M {}
 
 class B {
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline_modelled.expect
index 2e0fe67..4b1e84f 100644
--- a/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/mixin_with_static_member.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends B with M {}
 
 class B {
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.strong.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_with_static_member.dart.strong.expect
rename to pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.outline.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_with_static_member.dart.outline.expect
rename to pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.strong.transformed.expect b/pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/mixin_with_static_member.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/mixin_with_static_member.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart b/pkg/front_end/testcases/general/named_function_scope.dart
index 25c77b1..0a78452 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart
+++ b/pkg/front_end/testcases/general/named_function_scope.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class T {}
 
 class V {}
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.hierarchy.expect b/pkg/front_end/testcases/general/named_function_scope.dart.hierarchy.expect
deleted file mode 100644
index 34408aa..0000000
--- a/pkg/front_end/testcases/general/named_function_scope.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-T:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-V:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline.expect b/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline.expect
index b05a61b..9fe26ce 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class T {}
 
 class V {}
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline_modelled.expect
index b05a61b..9fe26ce 100644
--- a/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/named_function_scope.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class T {}
 
 class V {}
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.strong.expect b/pkg/front_end/testcases/general/named_function_scope.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/named_function_scope.dart.strong.expect
rename to pkg/front_end/testcases/general/named_function_scope.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.outline.expect b/pkg/front_end/testcases/general/named_function_scope.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/named_function_scope.dart.outline.expect
rename to pkg/front_end/testcases/general/named_function_scope.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/named_function_scope.dart.strong.transformed.expect b/pkg/front_end/testcases/general/named_function_scope.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/named_function_scope.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/named_function_scope.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/named_parameters.dart b/pkg/front_end/testcases/general/named_parameters.dart
index edf1f1d..a2685613 100644
--- a/pkg/front_end/testcases/general/named_parameters.dart
+++ b/pkg/front_end/testcases/general/named_parameters.dart
@@ -4,7 +4,7 @@
 class Superclass {
   foo({alpha, beta}) {}
   bar({beta, alpha}) {}
-
+// @dart=2.9
   namedCallback(callback({String alpha, int beta})) {
     callback(alpha: 'one', beta: 2);
     callback(beta: 1, alpha: 'two');
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.hierarchy.expect b/pkg/front_end/testcases/general/named_parameters.dart.hierarchy.expect
deleted file mode 100644
index 13669a9..0000000
--- a/pkg/front_end/testcases/general/named_parameters.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Superclass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Superclass.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Superclass.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Superclass.namedCallback
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Subclass:
-  superclasses:
-    Object
-      -> Superclass
-  interfaces:
-  classMembers:
-    Subclass.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Subclass.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Subclass.namedCallback
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.strong.expect b/pkg/front_end/testcases/general/named_parameters.dart.strong.expect
deleted file mode 100644
index 1aa5f44..0000000
--- a/pkg/front_end/testcases/general/named_parameters.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Superclass extends core::Object {
-  synthetic constructor •() → self::Superclass*
-    : super core::Object::•()
-    ;
-  method foo({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
-  method bar({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
-  method namedCallback(({alpha: core::String*, beta: core::int*}) →* dynamic callback) → dynamic {
-    callback.call(alpha: "one", beta: 2);
-    callback.call(beta: 1, alpha: "two");
-  }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Subclass extends self::Superclass {
-  synthetic constructor •() → self::Subclass*
-    : super self::Superclass::•()
-    ;
-  method foo({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
-  method bar({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
-  method namedCallback(({alpha: core::String*, beta: core::int*}) →* dynamic callback) → dynamic {}
-}
-static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma = #C1, dynamic delta = #C1}) → dynamic {}
-static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma = #C1, dynamic delta = #C1]) → dynamic {}
-static method main() → dynamic {
-  new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2);
-  new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2);
-  self::topLevelNamed(1, 2, gamma: 3, delta: 4);
-  self::topLevelNamed(1, 2, delta: 3, gamma: 4);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.strong.transformed.expect b/pkg/front_end/testcases/general/named_parameters.dart.strong.transformed.expect
deleted file mode 100644
index 1aa5f44..0000000
--- a/pkg/front_end/testcases/general/named_parameters.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Superclass extends core::Object {
-  synthetic constructor •() → self::Superclass*
-    : super core::Object::•()
-    ;
-  method foo({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
-  method bar({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
-  method namedCallback(({alpha: core::String*, beta: core::int*}) →* dynamic callback) → dynamic {
-    callback.call(alpha: "one", beta: 2);
-    callback.call(beta: 1, alpha: "two");
-  }
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class Subclass extends self::Superclass {
-  synthetic constructor •() → self::Subclass*
-    : super self::Superclass::•()
-    ;
-  method foo({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
-  method bar({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
-  method namedCallback(({alpha: core::String*, beta: core::int*}) →* dynamic callback) → dynamic {}
-}
-static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma = #C1, dynamic delta = #C1}) → dynamic {}
-static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma = #C1, dynamic delta = #C1]) → dynamic {}
-static method main() → dynamic {
-  new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2);
-  new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2);
-  self::topLevelNamed(1, 2, gamma: 3, delta: 4);
-  self::topLevelNamed(1, 2, delta: 3, gamma: 4);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.weak.expect b/pkg/front_end/testcases/general/named_parameters.dart.weak.expect
new file mode 100644
index 0000000..1a4d59b
--- /dev/null
+++ b/pkg/front_end/testcases/general/named_parameters.dart.weak.expect
@@ -0,0 +1,35 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Superclass extends core::Object {
+  synthetic constructor •() → self::Superclass
+    : super core::Object::•()
+    ;
+  method foo({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
+  method bar({dynamic beta = #C1, dynamic alpha = #C1}) → 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 •() → self::Subclass
+    : super self::Superclass::•()
+    ;
+  method foo({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
+  method bar({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
+  method namedCallback(({alpha: core::String, beta: core::int}) → dynamic callback) → dynamic {}
+}
+static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma = #C1, dynamic delta = #C1}) → dynamic {}
+static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma = #C1, dynamic delta = #C1]) → dynamic {}
+static method main() → dynamic {
+  new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2);
+  new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2);
+  self::topLevelNamed(1, 2, gamma: 3, delta: 4);
+  self::topLevelNamed(1, 2, delta: 3, gamma: 4);
+}
+
+constants  {
+  #C1 = null
+}
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.weak.outline.expect b/pkg/front_end/testcases/general/named_parameters.dart.weak.outline.expect
new file mode 100644
index 0000000..a660886
--- /dev/null
+++ b/pkg/front_end/testcases/general/named_parameters.dart.weak.outline.expect
@@ -0,0 +1,30 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Superclass extends core::Object {
+  synthetic constructor •() → self::Superclass
+    ;
+  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
+    ;
+}
+class Subclass extends self::Superclass {
+  synthetic constructor •() → self::Subclass
+    ;
+  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
+  ;
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.weak.transformed.expect b/pkg/front_end/testcases/general/named_parameters.dart.weak.transformed.expect
new file mode 100644
index 0000000..1a4d59b
--- /dev/null
+++ b/pkg/front_end/testcases/general/named_parameters.dart.weak.transformed.expect
@@ -0,0 +1,35 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Superclass extends core::Object {
+  synthetic constructor •() → self::Superclass
+    : super core::Object::•()
+    ;
+  method foo({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
+  method bar({dynamic beta = #C1, dynamic alpha = #C1}) → 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 •() → self::Subclass
+    : super self::Superclass::•()
+    ;
+  method foo({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
+  method bar({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
+  method namedCallback(({alpha: core::String, beta: core::int}) → dynamic callback) → dynamic {}
+}
+static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma = #C1, dynamic delta = #C1}) → dynamic {}
+static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma = #C1, dynamic delta = #C1]) → dynamic {}
+static method main() → dynamic {
+  new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2);
+  new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2);
+  self::topLevelNamed(1, 2, gamma: 3, delta: 4);
+  self::topLevelNamed(1, 2, delta: 3, gamma: 4);
+}
+
+constants  {
+  #C1 = null
+}
diff --git a/pkg/front_end/testcases/general/native_as_name.dart b/pkg/front_end/testcases/general/native_as_name.dart
index d4b6837..02e4156 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart
+++ b/pkg/front_end/testcases/general/native_as_name.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 main() {
   print(new W().native);
   print(new X().native());
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.hierarchy.expect b/pkg/front_end/testcases/general/native_as_name.dart.hierarchy.expect
deleted file mode 100644
index cd4caa8..0000000
--- a/pkg/front_end/testcases/general/native_as_name.dart.hierarchy.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-W:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    W.native
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    W.native
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    X.native
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Y1.native
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y2:
-  superclasses:
-    Object
-      -> Y1
-  interfaces:
-  classMembers:
-    Y2.native
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Z:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Z.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Z.f
-    Z.native
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.textual_outline.expect b/pkg/front_end/testcases/general/native_as_name.dart.textual_outline.expect
index 546fe36..30a7550 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 
 class W {
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/native_as_name.dart.textual_outline_modelled.expect
index 2897b36..0517e7f 100644
--- a/pkg/front_end/testcases/general/native_as_name.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/native_as_name.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Y1 {
   String get native;
 }
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.strong.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/native_as_name.dart.strong.expect
rename to pkg/front_end/testcases/general/native_as_name.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.outline.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/native_as_name.dart.outline.expect
rename to pkg/front_end/testcases/general/native_as_name.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/native_as_name.dart.strong.transformed.expect b/pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/native_as_name.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/native_as_name.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart
index e797b0e..915e7dc 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 const int foo = const int.fromEnvironment("fisk");
 
 class A {
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.hierarchy.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.hierarchy.expect
deleted file mode 100644
index 305e6c8..0000000
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.hierarchy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.baz
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.fun
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline.expect
index 0bad45d..31ede27 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int foo = const int.fromEnvironment("fisk");
 
 class A {
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline_modelled.expect
index c2ae67e..6e81cb6 100644
--- a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A(this.bar);
   final int bar;
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.strong.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.strong.expect
rename to pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.outline.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.outline.expect
rename to pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.strong.transformed.expect b/pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/nested_implicit_const_with_env_var.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart b/pkg/front_end/testcases/general/nested_property_set.dart
index 6b12100..52559f0 100644
--- a/pkg/front_end/testcases/general/nested_property_set.dart
+++ b/pkg/front_end/testcases/general/nested_property_set.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class NumField {
   num field;
 }
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart.textual_outline.expect b/pkg/front_end/testcases/general/nested_property_set.dart.textual_outline.expect
index bf9e0fc..1e99280 100644
--- a/pkg/front_end/testcases/general/nested_property_set.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/nested_property_set.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class NumField {
   num field;
 }
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/nested_property_set.dart.textual_outline_modelled.expect
index 15987b1..2fde2bc 100644
--- a/pkg/front_end/testcases/general/nested_property_set.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/nested_property_set.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class DoubleField {
   double field;
 }
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart.strong.expect b/pkg/front_end/testcases/general/nested_property_set.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_property_set.dart.strong.expect
rename to pkg/front_end/testcases/general/nested_property_set.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart.outline.expect b/pkg/front_end/testcases/general/nested_property_set.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_property_set.dart.outline.expect
rename to pkg/front_end/testcases/general/nested_property_set.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart.strong.transformed.expect b/pkg/front_end/testcases/general/nested_property_set.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_property_set.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/nested_property_set.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/nested_variable_set.dart b/pkg/front_end/testcases/general/nested_variable_set.dart
index 4babd49..b0fc13d 100644
--- a/pkg/front_end/testcases/general/nested_variable_set.dart
+++ b/pkg/front_end/testcases/general/nested_variable_set.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 main() {
   int intLocal1;
   int intLocal2;
diff --git a/pkg/front_end/testcases/general/nested_variable_set.dart.outline.expect b/pkg/front_end/testcases/general/nested_variable_set.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/nested_variable_set.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/nested_variable_set.dart.textual_outline.expect b/pkg/front_end/testcases/general/nested_variable_set.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/nested_variable_set.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/nested_variable_set.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/nested_variable_set.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/nested_variable_set.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/nested_variable_set.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/nested_variable_set.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/nested_variable_set.dart.strong.expect b/pkg/front_end/testcases/general/nested_variable_set.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_variable_set.dart.strong.expect
rename to pkg/front_end/testcases/general/nested_variable_set.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/nested_variable_set.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/nested_variable_set.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/nested_variable_set.dart.strong.transformed.expect b/pkg/front_end/testcases/general/nested_variable_set.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_variable_set.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/nested_variable_set.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/nested_variance.dart b/pkg/front_end/testcases/general/nested_variance.dart
index 28a2f62..94f1a05 100644
--- a/pkg/front_end/testcases/general/nested_variance.dart
+++ b/pkg/front_end/testcases/general/nested_variance.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // Testing that i2b and checks for correct super-boundedness are applied
 // to type arguments, taking the variance of type parameters into account.
 
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.hierarchy.expect b/pkg/front_end/testcases/general/nested_variance.dart.hierarchy.expect
deleted file mode 100644
index 943b7be..0000000
--- a/pkg/front_end/testcases/general/nested_variance.dart.hierarchy.expect
+++ /dev/null
@@ -1,257 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Acov:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Acon:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ainv:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AcovBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AconBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AinvBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AcovCyclicBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AconCyclicBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AinvCyclicBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AcovCyclicCoBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AconCyclicCoBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AinvCyclicCoBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.legacy.expect b/pkg/front_end/testcases/general/nested_variance.dart.legacy.expect
deleted file mode 100644
index b9c9ad3..0000000
--- a/pkg/front_end/testcases/general/nested_variance.dart.legacy.expect
+++ /dev/null
@@ -1,161 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object = dynamic> = <Y extends X = dynamic>() → void;
-typedef Fcov<X extends core::Object = dynamic> = () → X;
-typedef Fcon<contravariant X extends core::Object = dynamic> = (X) → dynamic;
-typedef Finv<invariant X extends core::Object = dynamic> = (X) → X;
-typedef FcovBound<X extends core::num = dynamic> = () → X;
-typedef FconBound<contravariant X extends core::num = dynamic> = (X) → dynamic;
-typedef FinvBound<invariant X extends core::num = dynamic> = (X) → X;
-typedef FcovCyclicBound<X extends self::A<X> = dynamic> = () → X;
-typedef FconCyclicBound<contravariant X extends self::A<X> = dynamic> = (X) → dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X> = dynamic> = (X) → X;
-typedef FcovCyclicCoBound<X extends (X) → dynamic = dynamic> = () → X;
-typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = dynamic> = (X) → dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = dynamic> = (X) → X;
-class Acov<X extends () → self::Acov::Y = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acov<self::Acov::X, self::Acov::Y>
-    : super core::Object::•()
-    ;
-}
-class Acon<X extends (self::Acon::Y) → dynamic = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acon<self::Acon::X, self::Acon::Y>
-    : super core::Object::•()
-    ;
-}
-class Ainv<X extends (self::Ainv::Y) → self::Ainv::Y = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ainv<self::Ainv::X, self::Ainv::Y>
-    : super core::Object::•()
-    ;
-}
-class AcovBound<X extends () → self::AcovBound::Y = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovBound<self::AcovBound::X, self::AcovBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconBound<X extends (self::AconBound::Y) → dynamic = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconBound<self::AconBound::X, self::AconBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvBound<X extends (self::AinvBound::Y) → self::AinvBound::Y = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvBound<self::AinvBound::X, self::AinvBound::Y>
-    : super core::Object::•()
-    ;
-}
-class A<X extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X>
-    : super core::Object::•()
-    ;
-}
-class AcovCyclicBound<X extends () → self::AcovCyclicBound::Y = dynamic, Y extends self::A<self::AcovCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X, self::AcovCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconCyclicBound<X extends (self::AconCyclicBound::Y) → dynamic = dynamic, Y extends self::A<self::AconCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X, self::AconCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvCyclicBound<X extends (self::AinvCyclicBound::Y) → self::AinvCyclicBound::Y = dynamic, Y extends self::A<self::AinvCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X, self::AinvCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AcovCyclicCoBound<X extends () → self::AcovCyclicCoBound::Y = dynamic, Y extends (self::AcovCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X, self::AcovCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y) → dynamic = dynamic, Y extends (self::AconCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X, self::AconCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y) → self::AinvCyclicCoBound::Y = dynamic, Y extends (self::AinvCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X, self::AinvCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class B<X extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X>
-    : super core::Object::•()
-    ;
-}
-static method toF<X extends core::Object = dynamic>(self::toF::X x) → <Y extends self::toF::X = dynamic>() → void
-  return null;
-static method testTypeAliasAsTypeArgument() → void {
-  self::Acov<dynamic, dynamic> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void target1 = fsource1;
-  self::Acon<dynamic, dynamic> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::Acon<(core::Null) → dynamic, dynamic> = dynamic>() → void target2 = fsource2;
-  self::Ainv<dynamic, dynamic> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void target3 = fsource3;
-  self::AcovBound<dynamic, dynamic> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void target4 = fsource4;
-  self::AconBound<dynamic, dynamic> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::AconBound<(core::Null) → dynamic, core::num> = dynamic>() → void target5 = fsource5;
-  self::AinvBound<dynamic, dynamic> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void target6 = fsource6;
-  self::AcovCyclicBound<dynamic, dynamic> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void target7 = fsource7;
-  self::AconCyclicBound<dynamic, dynamic> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::AconCyclicBound<(core::Null) → dynamic, self::A<dynamic>> = dynamic>() → void target8 = fsource8;
-  self::AinvCyclicBound<dynamic, dynamic> source9;
-  self::AcovCyclicCoBound<dynamic, dynamic> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::AcovCyclicCoBound<() → (core::Null) → dynamic, (core::Null) → dynamic> = dynamic>() → void target10 = fsource10;
-  self::AconCyclicCoBound<dynamic, dynamic> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::AconCyclicCoBound<(core::Null) → dynamic, (core::Null) → dynamic> = dynamic>() → void target11 = fsource11;
-  self::AinvCyclicCoBound<dynamic, dynamic> source12;
-}
-static method testNested() → void {
-  self::B<self::Acov<dynamic, dynamic>> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void target1 = fsource1;
-  self::B<self::Acon<dynamic, dynamic>> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::B<self::Acon<(core::Null) → dynamic, dynamic>> = dynamic>() → void target2 = fsource2;
-  self::B<self::Ainv<dynamic, dynamic>> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void target3 = fsource3;
-  self::B<self::AcovBound<dynamic, dynamic>> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void target4 = fsource4;
-  self::B<self::AconBound<dynamic, dynamic>> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::B<self::AconBound<(core::Null) → dynamic, core::num>> = dynamic>() → void target5 = fsource5;
-  self::B<self::AinvBound<dynamic, dynamic>> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void target6 = fsource6;
-  self::B<self::AcovCyclicBound<dynamic, dynamic>> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void target7 = fsource7;
-  self::B<self::AconCyclicBound<dynamic, dynamic>> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::B<self::AconCyclicBound<(core::Null) → dynamic, self::A<dynamic>>> = dynamic>() → void target8 = fsource8;
-  self::B<self::AinvCyclicBound<dynamic, dynamic>> source9;
-  self::B<self::AcovCyclicCoBound<dynamic, dynamic>> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::B<self::AcovCyclicCoBound<() → (core::Null) → dynamic, (core::Null) → dynamic>> = dynamic>() → void target10 = fsource10;
-  self::B<self::AconCyclicCoBound<dynamic, dynamic>> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::B<self::AconCyclicCoBound<(core::Null) → dynamic, (core::Null) → dynamic>> = dynamic>() → void target11 = fsource11;
-  self::B<self::AinvCyclicCoBound<dynamic, dynamic>> source12;
-}
-static method main() → dynamic {
-  self::testTypeAliasAsTypeArgument();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/nested_variance.dart.legacy.transformed.expect
deleted file mode 100644
index b9c9ad3..0000000
--- a/pkg/front_end/testcases/general/nested_variance.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,161 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object = dynamic> = <Y extends X = dynamic>() → void;
-typedef Fcov<X extends core::Object = dynamic> = () → X;
-typedef Fcon<contravariant X extends core::Object = dynamic> = (X) → dynamic;
-typedef Finv<invariant X extends core::Object = dynamic> = (X) → X;
-typedef FcovBound<X extends core::num = dynamic> = () → X;
-typedef FconBound<contravariant X extends core::num = dynamic> = (X) → dynamic;
-typedef FinvBound<invariant X extends core::num = dynamic> = (X) → X;
-typedef FcovCyclicBound<X extends self::A<X> = dynamic> = () → X;
-typedef FconCyclicBound<contravariant X extends self::A<X> = dynamic> = (X) → dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X> = dynamic> = (X) → X;
-typedef FcovCyclicCoBound<X extends (X) → dynamic = dynamic> = () → X;
-typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = dynamic> = (X) → dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = dynamic> = (X) → X;
-class Acov<X extends () → self::Acov::Y = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acov<self::Acov::X, self::Acov::Y>
-    : super core::Object::•()
-    ;
-}
-class Acon<X extends (self::Acon::Y) → dynamic = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acon<self::Acon::X, self::Acon::Y>
-    : super core::Object::•()
-    ;
-}
-class Ainv<X extends (self::Ainv::Y) → self::Ainv::Y = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ainv<self::Ainv::X, self::Ainv::Y>
-    : super core::Object::•()
-    ;
-}
-class AcovBound<X extends () → self::AcovBound::Y = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovBound<self::AcovBound::X, self::AcovBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconBound<X extends (self::AconBound::Y) → dynamic = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconBound<self::AconBound::X, self::AconBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvBound<X extends (self::AinvBound::Y) → self::AinvBound::Y = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvBound<self::AinvBound::X, self::AinvBound::Y>
-    : super core::Object::•()
-    ;
-}
-class A<X extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X>
-    : super core::Object::•()
-    ;
-}
-class AcovCyclicBound<X extends () → self::AcovCyclicBound::Y = dynamic, Y extends self::A<self::AcovCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X, self::AcovCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconCyclicBound<X extends (self::AconCyclicBound::Y) → dynamic = dynamic, Y extends self::A<self::AconCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X, self::AconCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvCyclicBound<X extends (self::AinvCyclicBound::Y) → self::AinvCyclicBound::Y = dynamic, Y extends self::A<self::AinvCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X, self::AinvCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AcovCyclicCoBound<X extends () → self::AcovCyclicCoBound::Y = dynamic, Y extends (self::AcovCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X, self::AcovCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y) → dynamic = dynamic, Y extends (self::AconCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X, self::AconCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y) → self::AinvCyclicCoBound::Y = dynamic, Y extends (self::AinvCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X, self::AinvCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class B<X extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X>
-    : super core::Object::•()
-    ;
-}
-static method toF<X extends core::Object = dynamic>(self::toF::X x) → <Y extends self::toF::X = dynamic>() → void
-  return null;
-static method testTypeAliasAsTypeArgument() → void {
-  self::Acov<dynamic, dynamic> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void target1 = fsource1;
-  self::Acon<dynamic, dynamic> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::Acon<(core::Null) → dynamic, dynamic> = dynamic>() → void target2 = fsource2;
-  self::Ainv<dynamic, dynamic> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void target3 = fsource3;
-  self::AcovBound<dynamic, dynamic> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void target4 = fsource4;
-  self::AconBound<dynamic, dynamic> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::AconBound<(core::Null) → dynamic, core::num> = dynamic>() → void target5 = fsource5;
-  self::AinvBound<dynamic, dynamic> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void target6 = fsource6;
-  self::AcovCyclicBound<dynamic, dynamic> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void target7 = fsource7;
-  self::AconCyclicBound<dynamic, dynamic> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::AconCyclicBound<(core::Null) → dynamic, self::A<dynamic>> = dynamic>() → void target8 = fsource8;
-  self::AinvCyclicBound<dynamic, dynamic> source9;
-  self::AcovCyclicCoBound<dynamic, dynamic> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::AcovCyclicCoBound<() → (core::Null) → dynamic, (core::Null) → dynamic> = dynamic>() → void target10 = fsource10;
-  self::AconCyclicCoBound<dynamic, dynamic> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::AconCyclicCoBound<(core::Null) → dynamic, (core::Null) → dynamic> = dynamic>() → void target11 = fsource11;
-  self::AinvCyclicCoBound<dynamic, dynamic> source12;
-}
-static method testNested() → void {
-  self::B<self::Acov<dynamic, dynamic>> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void target1 = fsource1;
-  self::B<self::Acon<dynamic, dynamic>> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::B<self::Acon<(core::Null) → dynamic, dynamic>> = dynamic>() → void target2 = fsource2;
-  self::B<self::Ainv<dynamic, dynamic>> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void target3 = fsource3;
-  self::B<self::AcovBound<dynamic, dynamic>> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void target4 = fsource4;
-  self::B<self::AconBound<dynamic, dynamic>> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::B<self::AconBound<(core::Null) → dynamic, core::num>> = dynamic>() → void target5 = fsource5;
-  self::B<self::AinvBound<dynamic, dynamic>> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void target6 = fsource6;
-  self::B<self::AcovCyclicBound<dynamic, dynamic>> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void target7 = fsource7;
-  self::B<self::AconCyclicBound<dynamic, dynamic>> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::B<self::AconCyclicBound<(core::Null) → dynamic, self::A<dynamic>>> = dynamic>() → void target8 = fsource8;
-  self::B<self::AinvCyclicBound<dynamic, dynamic>> source9;
-  self::B<self::AcovCyclicCoBound<dynamic, dynamic>> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::B<self::AcovCyclicCoBound<() → (core::Null) → dynamic, (core::Null) → dynamic>> = dynamic>() → void target10 = fsource10;
-  self::B<self::AconCyclicCoBound<dynamic, dynamic>> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::B<self::AconCyclicCoBound<(core::Null) → dynamic, (core::Null) → dynamic>> = dynamic>() → void target11 = fsource11;
-  self::B<self::AinvCyclicCoBound<dynamic, dynamic>> source12;
-}
-static method main() → dynamic {
-  self::testTypeAliasAsTypeArgument();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.textual_outline.expect b/pkg/front_end/testcases/general/nested_variance.dart.textual_outline.expect
index 5ce634d..4b912f2 100644
--- a/pkg/front_end/testcases/general/nested_variance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/nested_variance.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef F<X> = void Function<Y extends X>();
 F<X> toF<X>(X x) => null;
 typedef Fcov<X> = X Function();
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/nested_variance.dart.textual_outline_modelled.expect
index 6d86b71..8c8b196 100644
--- a/pkg/front_end/testcases/general/nested_variance.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/nested_variance.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 F<X> toF<X>(X x) => null;
 
 class A<X> {}
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.strong.expect b/pkg/front_end/testcases/general/nested_variance.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_variance.dart.strong.expect
rename to pkg/front_end/testcases/general/nested_variance.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.outline.expect b/pkg/front_end/testcases/general/nested_variance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_variance.dart.outline.expect
rename to pkg/front_end/testcases/general/nested_variance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.strong.transformed.expect b/pkg/front_end/testcases/general/nested_variance.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nested_variance.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/nested_variance.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart b/pkg/front_end/testcases/general/no_such_method_forwarder.dart
index 2d3319a..5155aa6 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class X {
   void _foo() async {
     await null;
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline.expect
index 1caa183..bf31270 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class X {
   void _foo() async {}
   void foo() => _foo();
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline_modelled.expect
index 1caa183..bf31270 100644
--- a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class X {
   void _foo() async {}
   void foo() => _foo();
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.strong.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/no_such_method_forwarder.dart.strong.expect
rename to pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.outline.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/no_such_method_forwarder.dart.outline.expect
rename to pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/no_such_method_forwarder.dart.strong.transformed.expect b/pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/no_such_method_forwarder.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/no_such_method_forwarder.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart b/pkg/front_end/testcases/general/no_such_method_private_setter.dart
index 9d026b5..88c4614 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import './no_such_method_private_setter_lib.dart';
 
 // `Bar' contains a private setter `_x'. The generated Kernel code for `Foo'
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.hierarchy.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.hierarchy.expect
deleted file mode 100644
index 95cc6fb..0000000
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Bar._x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar._x
-
-Foo:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Bar._x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Bar._x
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline.expect
index 8aa3b3b..b9a6d13 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './no_such_method_private_setter_lib.dart';
 
 class Foo implements Bar {}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline_modelled.expect
index 8aa3b3b..b9a6d13 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './no_such_method_private_setter_lib.dart';
 
 class Foo implements Bar {}
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.strong.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/no_such_method_private_setter.dart.strong.expect
rename to pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.outline.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/no_such_method_private_setter.dart.outline.expect
rename to pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/no_such_method_private_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/no_such_method_private_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart b/pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart
index b4f3e2c..c2d04f0 100644
--- a/pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart
+++ b/pkg/front_end/testcases/general/no_such_method_private_setter_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // Companion library to no_such_method_private_setter.dart.
 
 class Bar {
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart b/pkg/front_end/testcases/general/non_covariant_checks.dart
index 679753c..17c1225 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 /*@testedFeatures=checks*/
 
 class C<T> {
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.hierarchy.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.hierarchy.expect
deleted file mode 100644
index 48d8eaa..0000000
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.hierarchy.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.field13
-    C.getter11
-    C.getter1
-    C.method15
-    C.field1
-    C.getter15
-    C.method12
-    Object.toString
-    C.getter6
-    C.method8
-    C.field4
-    C.field12
-    C.method14
-    C.field2
-    C.method4
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.getter10
-    C.field9
-    C.getter2
-    C.method7
-    C.field15
-    C.getter7
-    C.getter14
-    C.method6
-    C.field5
-    Object._instanceOf
-    C.getter8
-    C.method13
-    C.field11
-    C.method3
-    C.method11
-    C.getter3
-    Object.noSuchMethod
-    C.getter4
-    C.method10
-    C.method9
-    C.method2
-    C.field6
-    C.field7
-    Object._identityHashCode
-    C.field14
-    C.getter13
-    C.getter12
-    Object.hashCode
-    C.field10
-    C.field3
-    C.getter9
-    Object._simpleInstanceOfFalse
-    C.getter5
-    C.method1
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.field8
-    C.method5
-  classSetters:
-    C.setter11
-    C.field13
-    C.setter1
-    C.setter15
-    C.setter8
-    C.field1
-    C.setter4
-    C.field4
-    C.field12
-    C.setter10
-    C.field2
-    C.setter7
-    C.field9
-    C.setter14
-    C.field15
-    C.setter3
-    C.field5
-    C.setter9
-    C.field11
-    C.setter6
-    C.setter13
-    C.field6
-    C.field7
-    C.setter12
-    C.field14
-    C.setter2
-    C.field10
-    C.field3
-    C.setter5
-    C.field8
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline.expect
index d3da106..e25dc03 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<T> {
   C(this.field1)
       : field2 = (() => field1),
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline_modelled.expect
index 8ac3b96..506de49 100644
--- a/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/non_covariant_checks.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<T> {
   C(this.field1)
       : field2 = (() => field1),
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.strong.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/non_covariant_checks.dart.strong.expect
rename to pkg/front_end/testcases/general/non_covariant_checks.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.outline.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/non_covariant_checks.dart.outline.expect
rename to pkg/front_end/testcases/general/non_covariant_checks.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/non_covariant_checks.dart.strong.transformed.expect b/pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/non_covariant_checks.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/non_covariant_checks.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart b/pkg/front_end/testcases/general/nsm_covariance.dart
index 3ee3063..d579d47 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'nsm_covariance_lib.dart';
 
 abstract class D1 implements A<int>, B {}
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline.expect
index 9419fb3..fb21efe 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'nsm_covariance_lib.dart';
 
 abstract class D1 implements A<int>, B {}
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline_modelled.expect
index 9419fb3..fb21efe 100644
--- a/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/nsm_covariance.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'nsm_covariance_lib.dart';
 
 abstract class D1 implements A<int>, B {}
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.strong.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nsm_covariance.dart.strong.expect
rename to pkg/front_end/testcases/general/nsm_covariance.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.outline.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nsm_covariance.dart.outline.expect
rename to pkg/front_end/testcases/general/nsm_covariance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/nsm_covariance.dart.strong.transformed.expect b/pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/nsm_covariance.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/nsm_covariance.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/nsm_covariance_lib.dart b/pkg/front_end/testcases/general/nsm_covariance_lib.dart
index 1afd545..9f7f193 100644
--- a/pkg/front_end/testcases/general/nsm_covariance_lib.dart
+++ b/pkg/front_end/testcases/general/nsm_covariance_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class A<T> {
   void _method1(int a, int b, T c, T d);
   void _method2({int a, int b, T c, T d});
diff --git a/pkg/front_end/testcases/general/null_aware.dart b/pkg/front_end/testcases/general/null_aware.dart
index b9a3451..68064d0 100644
--- a/pkg/front_end/testcases/general/null_aware.dart
+++ b/pkg/front_end/testcases/general/null_aware.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Foo {
   int field;
   static int staticField;
diff --git a/pkg/front_end/testcases/general/null_aware.dart.hierarchy.expect b/pkg/front_end/testcases/general/null_aware.dart.hierarchy.expect
deleted file mode 100644
index a148c36..0000000
--- a/pkg/front_end/testcases/general/null_aware.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.field
-    Object._instanceOf
-    Foo.staticField
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.field
-    Foo.staticField
diff --git a/pkg/front_end/testcases/general/null_aware.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_aware.dart.textual_outline.expect
index 987eca0..4a6b304 100644
--- a/pkg/front_end/testcases/general/null_aware.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/null_aware.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   int field;
   static int staticField;
diff --git a/pkg/front_end/testcases/general/null_aware.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_aware.dart.textual_outline_modelled.expect
index 987eca0..4a6b304 100644
--- a/pkg/front_end/testcases/general/null_aware.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/null_aware.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   int field;
   static int staticField;
diff --git a/pkg/front_end/testcases/general/null_aware.dart.strong.expect b/pkg/front_end/testcases/general/null_aware.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware.dart.strong.expect
rename to pkg/front_end/testcases/general/null_aware.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/null_aware.dart.outline.expect b/pkg/front_end/testcases/general/null_aware.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware.dart.outline.expect
rename to pkg/front_end/testcases/general/null_aware.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/null_aware.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_aware.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/null_aware.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart b/pkg/front_end/testcases/general/null_aware_for_in.dart
index 5a93b8e..73cd74f 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class {}
 
 main() {
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline.expect
index 52b290c..790b6d3 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline_modelled.expect
index 52b290c..790b6d3 100644
--- a/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/null_aware_for_in.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.strong.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_for_in.dart.strong.expect
rename to pkg/front_end/testcases/general/null_aware_for_in.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.outline.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_for_in.dart.outline.expect
rename to pkg/front_end/testcases/general/null_aware_for_in.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_aware_for_in.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_for_in.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/null_aware_for_in.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart b/pkg/front_end/testcases/general/null_aware_postfix.dart
index e468e8f..0f52747 100644
--- a/pkg/front_end/testcases/general/null_aware_postfix.dart
+++ b/pkg/front_end/testcases/general/null_aware_postfix.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {
   B b;
 }
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_aware_postfix.dart.textual_outline.expect
index 5602235..10f0ca4 100644
--- a/pkg/front_end/testcases/general/null_aware_postfix.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/null_aware_postfix.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   B b;
 }
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_aware_postfix.dart.textual_outline_modelled.expect
index 5602235..10f0ca4 100644
--- a/pkg/front_end/testcases/general/null_aware_postfix.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/null_aware_postfix.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   B b;
 }
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart.strong.expect b/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_postfix.dart.strong.expect
rename to pkg/front_end/testcases/general/null_aware_postfix.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart.outline.expect b/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_postfix.dart.outline.expect
rename to pkg/front_end/testcases/general/null_aware_postfix.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_aware_postfix.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_postfix.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/null_aware_postfix.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart b/pkg/front_end/testcases/general/null_aware_spread.dart
index 7c70ce5..09070318 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 nullAwareListSpread(List<String> list) {
   list = ['foo', ...?list];
 }
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.textual_outline.expect
index 321264d..3f36807 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 nullAwareListSpread(List<String> list) {}
 nullAwareSetSpread(Set<String> set) {}
 nullAwareMapSpread(Map<int, String> map) {}
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.textual_outline_modelled.expect
index 6c84dac..8c2d30e 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 nullAwareListSpread(List<String> list) {}
 nullAwareMapSpread(Map<int, String> map) {}
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.strong.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_spread.dart.strong.expect
rename to pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.outline.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_spread.dart.outline.expect
rename to pkg/front_end/testcases/general/null_aware_spread.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/null_aware_spread.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart
index e4d78ca..e766ae0 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 int? i;
 
 main() {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.outline.expect
deleted file mode 100644
index 08fe734..0000000
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.outline.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? i;
-//    ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::int? i;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.expect
deleted file mode 100644
index cb74741..0000000
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? i;
-//    ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::int? i;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.transformed.expect
deleted file mode 100644
index cb74741..0000000
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.strong.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-// int? i;
-//    ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::int? i;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.textual_outline.expect
index fbf863a..88a2aa7 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 int? i;
 main() {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.textual_outline_modelled.expect
deleted file mode 100644
index fbf863a..0000000
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.textual_outline_modelled.expect
+++ /dev/null
@@ -1,2 +0,0 @@
-int? i;
-main() {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect
new file mode 100644
index 0000000..9f0d253
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.expect
@@ -0,0 +1,17 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// int? i;
+//    ^
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static field core::int? i;
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect
new file mode 100644
index 0000000..f60a7c1
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.outline.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// int? i;
+//    ^
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static field core::int? i;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect
new file mode 100644
index 0000000..9f0d253
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment.dart.weak.transformed.expect
@@ -0,0 +1,17 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// int? i;
+//    ^
+// pkg/front_end/testcases/general/null_safety_invalid_experiment.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static field core::int? i;
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart
index 2f40bd5..35c2e3c 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.7
 
 int? i;
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.outline.expect
deleted file mode 100644
index ffc88d6..0000000
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.outline.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.12 or higher.
-// int? i;
-//    ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::int? i;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.expect
deleted file mode 100644
index 996501a..0000000
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.12 or higher.
-// int? i;
-//    ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::int? i;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.transformed.expect
deleted file mode 100644
index 996501a..0000000
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.strong.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: This requires the null safety language feature, which requires language version of 2.12 or higher.
-// int? i;
-//    ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::int? i;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.textual_outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.textual_outline.expect
index 7ba1466..c04d115 100644
--- a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 // @dart = 2.7
 int? i;
 main() {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.expect
new file mode 100644
index 0000000..14c6cd9
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.expect
@@ -0,0 +1,17 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// int? i;
+//    ^
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static field core::int? i;
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.outline.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.outline.expect
new file mode 100644
index 0000000..b393b5f
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.outline.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// int? i;
+//    ^
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static field core::int? i;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.transformed.expect
new file mode 100644
index 0000000..14c6cd9
--- /dev/null
+++ b/pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart.weak.transformed.expect
@@ -0,0 +1,17 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// int? i;
+//    ^
+// pkg/front_end/testcases/general/null_safety_invalid_experiment_and_language_version.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static field core::int? i;
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart b/pkg/front_end/testcases/general/operator_method_not_found.dart
index c54c358..2275e69 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Foo {
 }
 
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.hierarchy.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline.expect
index a467bf8..ceba071 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline_modelled.expect
index a467bf8..ceba071 100644
--- a/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/operator_method_not_found.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.strong.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/operator_method_not_found.dart.strong.expect
rename to pkg/front_end/testcases/general/operator_method_not_found.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.outline.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/operator_method_not_found.dart.outline.expect
rename to pkg/front_end/testcases/general/operator_method_not_found.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.strong.transformed.expect b/pkg/front_end/testcases/general/operator_method_not_found.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/operator_method_not_found.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/operator_method_not_found.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/operators.dart b/pkg/front_end/testcases/general/operators.dart
index 3e4247e..37b4cf3 100644
--- a/pkg/front_end/testcases/general/operators.dart
+++ b/pkg/front_end/testcases/general/operators.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Operators {
   operator +(other) => null;
   operator &(other) => null;
diff --git a/pkg/front_end/testcases/general/operators.dart.hierarchy.expect b/pkg/front_end/testcases/general/operators.dart.hierarchy.expect
deleted file mode 100644
index dbcbcec..0000000
--- a/pkg/front_end/testcases/general/operators.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Operators:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Operators.~/
-    Operators.<=
-    Operators.<
-    Operators.[]=
-    Object.toString
-    Operators.+
-    Operators.unary-
-    Operators.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Operators./
-    Operators.|
-    Operators.<<
-    Object._instanceOf
-    Operators.%
-    Operators.>>
-    Object.noSuchMethod
-    Object._identityHashCode
-    Operators.>
-    Operators.[]
-    Object.hashCode
-    Operators.^
-    Operators.&
-    Operators.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Operators.==
-    Operators.*
-    Operators.~
-  classSetters:
diff --git a/pkg/front_end/testcases/general/operators.dart.textual_outline.expect b/pkg/front_end/testcases/general/operators.dart.textual_outline.expect
index 21c00c7..409d968 100644
--- a/pkg/front_end/testcases/general/operators.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/operators.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Operators {
   operator +(other) => null;
   operator &(other) => null;
diff --git a/pkg/front_end/testcases/general/operators.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/operators.dart.textual_outline_modelled.expect
index c6b5f5a..73cbab6 100644
--- a/pkg/front_end/testcases/general/operators.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/operators.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Operators {
   operator %(other) => null;
   operator &(other) => null;
diff --git a/pkg/front_end/testcases/general/operators.dart.strong.expect b/pkg/front_end/testcases/general/operators.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/operators.dart.strong.expect
rename to pkg/front_end/testcases/general/operators.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/operators.dart.outline.expect b/pkg/front_end/testcases/general/operators.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/operators.dart.outline.expect
rename to pkg/front_end/testcases/general/operators.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/operators.dart.strong.transformed.expect b/pkg/front_end/testcases/general/operators.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/operators.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/operators.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/optional.dart b/pkg/front_end/testcases/general/optional.dart
index 9a278ee..badb36d 100644
--- a/pkg/front_end/testcases/general/optional.dart
+++ b/pkg/front_end/testcases/general/optional.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Foo {
   method(x, [y, z]) {
     return "string";
diff --git a/pkg/front_end/testcases/general/optional.dart.hierarchy.expect b/pkg/front_end/testcases/general/optional.dart.hierarchy.expect
deleted file mode 100644
index 7cc8746..0000000
--- a/pkg/front_end/testcases/general/optional.dart.hierarchy.expect
+++ /dev/null
@@ -1,130 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-External:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    External.externalMethod
-    External.listen
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Listener:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Listener.event
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-TestListener:
-  superclasses:
-    Object
-      -> Listener
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    TestListener.event
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ExtendedListener:
-  superclasses:
-    Object
-      -> Listener
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    ExtendedListener.event
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-InvalidListener:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    InvalidListener.event
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/optional.dart.textual_outline.expect b/pkg/front_end/testcases/general/optional.dart.textual_outline.expect
index 737d5bc..4ac3d19 100644
--- a/pkg/front_end/testcases/general/optional.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/optional.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   method(x, [y, z]) {}
 }
diff --git a/pkg/front_end/testcases/general/optional.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/optional.dart.textual_outline_modelled.expect
index 53593a5..5c35035 100644
--- a/pkg/front_end/testcases/general/optional.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/optional.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class External {
   String externalMethod(int x, [int y, int z]);
   void listen(Listener listener);
diff --git a/pkg/front_end/testcases/general/optional.dart.strong.expect b/pkg/front_end/testcases/general/optional.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/optional.dart.strong.expect
rename to pkg/front_end/testcases/general/optional.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/optional.dart.outline.expect b/pkg/front_end/testcases/general/optional.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/optional.dart.outline.expect
rename to pkg/front_end/testcases/general/optional.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override.dart b/pkg/front_end/testcases/general/override.dart
index 03f9c9f..0b4421a 100644
--- a/pkg/front_end/testcases/general/override.dart
+++ b/pkg/front_end/testcases/general/override.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Foo {}
 
 class Bar extends Foo {}
diff --git a/pkg/front_end/testcases/general/override.dart.hierarchy.expect b/pkg/front_end/testcases/general/override.dart.hierarchy.expect
deleted file mode 100644
index 94de712..0000000
--- a/pkg/front_end/testcases/general/override.dart.hierarchy.expect
+++ /dev/null
@@ -1,91 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-      -> Foo
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Sub:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Sub.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/override.dart.textual_outline.expect b/pkg/front_end/testcases/general/override.dart.textual_outline.expect
index 272b930..081b011 100644
--- a/pkg/front_end/testcases/general/override.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {}
 
 class Bar extends Foo {}
diff --git a/pkg/front_end/testcases/general/override.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override.dart.textual_outline_modelled.expect
index ef2c070..5d96ffa 100644
--- a/pkg/front_end/testcases/general/override.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bar extends Foo {}
 
 class Base {
diff --git a/pkg/front_end/testcases/general/override.dart.strong.expect b/pkg/front_end/testcases/general/override.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override.dart.strong.expect
rename to pkg/front_end/testcases/general/override.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override.dart.outline.expect b/pkg/front_end/testcases/general/override.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override.dart.outline.expect
rename to pkg/front_end/testcases/general/override.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override.dart.strong.transformed.expect b/pkg/front_end/testcases/general/override.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/override.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart
index 7d43fe9..1aabd7e 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.hierarchy.expect
deleted file mode 100644
index 4329ec3..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,135 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-
-E:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    E.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
-
-F:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    F.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    F.x
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline.expect
index 8e908b9..905b367 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline_modelled.expect
index 768ee0f..e6a1048 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.strong.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.strong.expect
rename to pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.outline.expect b/pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.outline.expect
rename to pkg/front_end/testcases/general/override_check_accessor_after_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart b/pkg/front_end/testcases/general/override_check_accessor_basic.dart
index a61e5c5..a68326b 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.hierarchy.expect
deleted file mode 100644
index 44256be..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.hierarchy.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-
-E:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    E.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline.expect
index 9a762a7..af6849d 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline_modelled.expect
index 363c517..2e4ff3e 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.strong.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_accessor_basic.dart.strong.expect
rename to pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_check_accessor_basic.dart.outline.expect b/pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_accessor_basic.dart.outline.expect
rename to pkg/front_end/testcases/general/override_check_accessor_basic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart
index 69ca3c0..dcccf61 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart
+++ b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.hierarchy.expect
deleted file mode 100644
index 354b6fb..0000000
--- a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x4
-    C.x6
-    C.x3
-    C.x2
-    C.x5
-    C.x1
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x4
-    D.x6
-    D.x3
-    D.x2
-    D.x5
-    D.x1
diff --git a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.textual_outline.expect
index 015eb02..1672326 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.textual_outline_modelled.expect
index 015eb02..1672326 100644
--- a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.strong.expect b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.strong.expect
rename to pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.outline.expect b/pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.outline.expect
rename to pkg/front_end/testcases/general/override_check_accessor_with_covariant_modifier.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart b/pkg/front_end/testcases/general/override_check_after_inference.dart
index e818940..91a39cb 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.hierarchy.expect
deleted file mode 100644
index 41e4732..0000000
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,131 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    E.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    F.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline.expect
index b2c8457..3566c9f 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline_modelled.expect
index b2c8457..3566c9f 100644
--- a/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_after_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.strong.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_after_inference.dart.strong.expect
rename to pkg/front_end/testcases/general/override_check_after_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_check_after_inference.dart.outline.expect b/pkg/front_end/testcases/general/override_check_after_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_after_inference.dart.outline.expect
rename to pkg/front_end/testcases/general/override_check_after_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart b/pkg/front_end/testcases/general/override_check_basic.dart
index 69c1593..acc74f9 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart
+++ b/pkg/front_end/testcases/general/override_check_basic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_check_basic.dart.hierarchy.expect
deleted file mode 100644
index 95f961a..0000000
--- a/pkg/front_end/testcases/general/override_check_basic.dart.hierarchy.expect
+++ /dev/null
@@ -1,119 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f3
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    D.f3
-    D.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.f2
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    E.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    E.f3
-    E.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    E.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline.expect
index d6322d8..1b10878 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline_modelled.expect
index 7ca06d3..91af33b 100644
--- a/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_basic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.strong.expect b/pkg/front_end/testcases/general/override_check_basic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_basic.dart.strong.expect
rename to pkg/front_end/testcases/general/override_check_basic.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_check_basic.dart.outline.expect b/pkg/front_end/testcases/general/override_check_basic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_basic.dart.outline.expect
rename to pkg/front_end/testcases/general/override_check_basic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart
index 3058fbf..3813c09 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that an override of a generic method is allowed in case of
 // correctly defined f-bounded type variables.
 
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.hierarchy.expect
deleted file mode 100644
index d53d249..0000000
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.hierarchy.expect
+++ /dev/null
@@ -1,86 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Bar.fisk
-  classSetters:
-
-Hest:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Hest.fisk
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Hest.fisk
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline.expect
index eaac90c..6c7d0ca 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<T extends Foo<T>> {}
 
 abstract class Bar {
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline_modelled.expect
index cdebc76..7d0123c 100644
--- a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Bar {
   void fisk<S extends Foo<S>>();
 }
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.strong.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.strong.expect
rename to pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.outline.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.outline.expect
rename to pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.strong.transformed.expect b/pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/override_check_generic_method_f_bounded.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart b/pkg/front_end/testcases/general/override_check_two_substitutions.dart
index 5f5ea0f..096bff7 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A<T> {
   void f<U>(Map<T, U> m) {}
 }
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.hierarchy.expect
deleted file mode 100644
index 5f6f0b2..0000000
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<String>
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline.expect
index 9548980..b13a767 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   void f<U>(Map<T, U> m) {}
 }
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline_modelled.expect
index 9548980..b13a767 100644
--- a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   void f<U>(Map<T, U> m) {}
 }
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.strong.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_two_substitutions.dart.strong.expect
rename to pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.outline.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_two_substitutions.dart.outline.expect
rename to pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_check_two_substitutions.dart.strong.transformed.expect b/pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_two_substitutions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/override_check_two_substitutions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart
index 09df2e39..4f7466b 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.hierarchy.expect
deleted file mode 100644
index c4eb6f1..0000000
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f6
-    Object.toString
-    C.f5
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f3
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.f6
-    Object.toString
-    D.f5
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    D.f3
-    D.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline.expect
index 1c8bfe2..f024389 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline_modelled.expect
index 1c8bfe2..f024389 100644
--- a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.strong.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.strong.expect
rename to pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.outline.expect b/pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.outline.expect
rename to pkg/front_end/testcases/general/override_check_with_covariant_modifier.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart
index 8035f1d..f15fb92 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class A {
   num get getterFromGetter;
 
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline.expect
index d720f29..d64503e 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   num get getterFromGetter;
   set setterFromSetter(num value);
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline_modelled.expect
index 81cac22..cda97df 100644
--- a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   num get getterFromGetter;
   num get getterFromGetterWithSetterConflict;
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.strong.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.strong.expect
rename to pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.outline.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.outline.expect
rename to pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.strong.transformed.expect b/pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/override_inference_for_getters_and_setters.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart b/pkg/front_end/testcases/general/override_inference_for_setters.dart
index 0da2cf9..97ffd7f 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class B {
   num get foo => null;
   set foo(dynamic newFoo) {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.hierarchy.expect
deleted file mode 100644
index b1e3c8a..0000000
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.foo
-
-A:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline.expect
index 0ae1e3d..7fc47a9 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B {
   num get foo => null;
   set foo(dynamic newFoo) {}
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline_modelled.expect
index e1e629f..fcd1a6e 100644
--- a/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_inference_for_setters.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends B {
   set foo(newFoo) {}
 }
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.strong.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_for_setters.dart.strong.expect
rename to pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.outline.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_for_setters.dart.outline.expect
rename to pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_inference_for_setters.dart.strong.transformed.expect b/pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_for_setters.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/override_inference_for_setters.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart
index d5210c1..54278d0 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // The test checks that override-based inference for named parameters isn't
 // affected by the name-based ordering of the parameters.
 
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.hierarchy.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.hierarchy.expect
deleted file mode 100644
index 9fb9b41..0000000
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.hierarchy.expect
+++ /dev/null
@@ -1,133 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B1:
-  superclasses:
-    Object
-      -> A1
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-      -> A1
-        -> B1
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline.expect
index 231f88e..c73e09b 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   foo({bool c = true, bool a}) {}
 }
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline_modelled.expect
index ef3a56b..f418728 100644
--- a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   foo({bool c = true, bool a}) {}
 }
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.strong.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.strong.expect
rename to pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.outline.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.outline.expect
rename to pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.strong.transformed.expect b/pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart b/pkg/front_end/testcases/general/override_setter_with_field.dart
index 687d9a5..df45e3a 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 abstract class A {
   void set x(Object y);
 }
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline.expect
index e605f98..cdfa723 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   void set x(Object y);
 }
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline_modelled.expect
index e605f98..cdfa723 100644
--- a/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/override_setter_with_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   void set x(Object y);
 }
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.strong.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_setter_with_field.dart.strong.expect
rename to pkg/front_end/testcases/general/override_setter_with_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/override_setter_with_field.dart.outline.expect b/pkg/front_end/testcases/general/override_setter_with_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/override_setter_with_field.dart.outline.expect
rename to pkg/front_end/testcases/general/override_setter_with_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart b/pkg/front_end/testcases/general/part_as_entry_point.dart
index 0b9dc66..e8acce1 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2018, 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=2.9
 part of "part_as_entry_point_lib.dart";
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline.expect
index 07ab488..18055f6 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 part of "part_as_entry_point_lib.dart";
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline_modelled.expect
index 07ab488..18055f6 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_as_entry_point.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 part of "part_as_entry_point_lib.dart";
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.strong.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_as_entry_point.dart.strong.expect
rename to pkg/front_end/testcases/general/part_as_entry_point.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.outline.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_as_entry_point.dart.outline.expect
rename to pkg/front_end/testcases/general/part_as_entry_point.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/part_as_entry_point.dart.strong.transformed.expect b/pkg/front_end/testcases/general/part_as_entry_point.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_as_entry_point.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/part_as_entry_point.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/part_as_entry_point_lib.dart b/pkg/front_end/testcases/general/part_as_entry_point_lib.dart
index a2f5430..9c9cfeb 100644
--- a/pkg/front_end/testcases/general/part_as_entry_point_lib.dart
+++ b/pkg/front_end/testcases/general/part_as_entry_point_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 part "part_as_entry_point.dart";
 
 main() {
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart b/pkg/front_end/testcases/general/part_not_part_of.dart
index a4d4873..bea2751 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'part_not_part_of_lib2.dart';
 
 @override
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline.expect
index d7c7da3..fbc4b33 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'part_not_part_of_lib2.dart';
 @override
 part 'part_not_part_of_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline_modelled.expect
index d7c7da3..fbc4b33 100644
--- a/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'part_not_part_of_lib2.dart';
 @override
 part 'part_not_part_of_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.strong.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_not_part_of.dart.strong.expect
rename to pkg/front_end/testcases/general/part_not_part_of.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.outline.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_not_part_of.dart.outline.expect
rename to pkg/front_end/testcases/general/part_not_part_of.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/part_not_part_of.dart.strong.transformed.expect b/pkg/front_end/testcases/general/part_not_part_of.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_not_part_of.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/part_not_part_of.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/part_not_part_of_lib1.dart b/pkg/front_end/testcases/general/part_not_part_of_lib1.dart
index 90bd84b..8701d03 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_lib1.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_lib1.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 methodFromLib1() {}
diff --git a/pkg/front_end/testcases/general/part_not_part_of_lib2.dart b/pkg/front_end/testcases/general/part_not_part_of_lib2.dart
index 1dfb49c..46ab23d 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_lib2.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import "part_not_part_of_lib1.dart";
 
 methodFromLib2() {
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart
index e7efc6c..e34f76d 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'part_not_part_of_same_named_library_lib2.dart';
 
 @override
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline.expect
index bf4aa7d..fa5241c 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'part_not_part_of_same_named_library_lib2.dart';
 @override
 part 'part_not_part_of_same_named_library_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline_modelled.expect
index bf4aa7d..fa5241c 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'part_not_part_of_same_named_library_lib2.dart';
 @override
 part 'part_not_part_of_same_named_library_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.strong.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.strong.expect
rename to pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.outline.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.outline.expect
rename to pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.strong.transformed.expect b/pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart b/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart
index 1e32330..e2df909 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 part of foo;
 
 methodFromLib1() {}
diff --git a/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib2.dart b/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib2.dart
index 11ce0fa..e7861ee 100644
--- a/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib2.dart
+++ b/pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 library foo;
 
 part "part_not_part_of_same_named_library_lib1.dart";
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart
index 07ccc7a..c16dbf3 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'part_part_of_different_unnamed_library_lib2.dart';
 
 @override
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline.expect
index a400a31..a2beef6 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'part_part_of_different_unnamed_library_lib2.dart';
 @override
 part 'part_part_of_different_unnamed_library_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline_modelled.expect
index a400a31..a2beef6 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'part_part_of_different_unnamed_library_lib2.dart';
 @override
 part 'part_part_of_different_unnamed_library_lib1.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.strong.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.strong.expect
rename to pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.outline.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.outline.expect
rename to pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.strong.transformed.expect b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart
index d507d77..7068275 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 part of "part_part_of_different_unnamed_library_lib2.dart";
 
 methodFromLib1() {}
diff --git a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart
index e7e7b29..3c777f7 100644
--- a/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart
+++ b/pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 part "part_part_of_different_unnamed_library_lib1.dart";
 
 methodFromLib2() {
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart
index c084850..f1ecf5a 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 library foo;
 
 import 'part_part_of_differently_named_library_lib2.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline.expect
index 2897172..e806f6d 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library foo;
 
 import 'part_part_of_differently_named_library_lib2.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline_modelled.expect
index 2897172..e806f6d 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library foo;
 
 import 'part_part_of_differently_named_library_lib2.dart';
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.strong.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.strong.expect
rename to pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.outline.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.outline.expect
rename to pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.strong.transformed.expect b/pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/part_part_of_differently_named_library.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart b/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart
index 2b7c83b..4d7357d 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 part of bar;
 
 methodFromLib1() {}
diff --git a/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib2.dart b/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib2.dart
index cccf8e2..a702ba3 100644
--- a/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib2.dart
+++ b/pkg/front_end/testcases/general/part_part_of_differently_named_library_lib2.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 library bar;
 
 part "part_part_of_differently_named_library_lib1.dart";
diff --git a/pkg/front_end/testcases/general/platform.dart b/pkg/front_end/testcases/general/platform.dart
index 0d4cc33..2951246 100644
--- a/pkg/front_end/testcases/general/platform.dart
+++ b/pkg/front_end/testcases/general/platform.dart
@@ -1,5 +1,5 @@
 // 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.
-
+// @dart=2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/platform.dart.outline.expect b/pkg/front_end/testcases/general/platform.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general/platform.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/platform.dart.textual_outline.expect b/pkg/front_end/testcases/general/platform.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/platform.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/platform.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/platform.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/platform.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/general/platform.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/platform.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/platform.dart.strong.expect b/pkg/front_end/testcases/general/platform.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/platform.dart.strong.expect
rename to pkg/front_end/testcases/general/platform.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/general/platform.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/general/platform.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/platform.dart.strong.transformed.expect b/pkg/front_end/testcases/general/platform.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/platform.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/platform.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart
index 6e0cb95..050382d 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'dart:test';
 
 main() {
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.outline.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.outline.expect
deleted file mode 100644
index 3b1e61e..0000000
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.outline.expect
+++ /dev/null
@@ -1,96 +0,0 @@
-library;
-import self as self;
-
-import "dart:test";
-
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:9: Error: Couldn't parse URI ':c':
-//   Invalid empty scheme.
-// import ':c';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:9: Error: Couldn't parse URI ':d':
-//   Invalid empty scheme.
-// export ':d';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:9: Error: Couldn't parse URI ':a':
-//   Invalid empty scheme.
-// import ':a';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:9: Error: Couldn't parse URI ':b':
-//   Invalid empty scheme.
-// export ':b';
-//         ^
-//
-import self as self2;
-import "dart:_internal" as _in;
-import "dart:core" as core;
-
-import "dart:_internal";
-import "org-dartlang-malformed-uri:?%3Ac";
-export "org-dartlang-malformed-uri:?%3Ad";
-import "org-dartlang-malformed-uri:?%3Aa";
-export "org-dartlang-malformed-uri:?%3Ab";
-
-@_in::patch
-class Class extends core::Object {
-  synthetic constructor •() → self2::Class
-    ;
-}
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:8: Error: Expected a URI.
-// import ':c';
-//        ^
-//
-import self as self3;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:1: Error: Expected a URI.
-// export ':d';
-// ^
-//
-import self as self4;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:8: Error: Expected a URI.
-// import ':a';
-//        ^
-//
-import self as self5;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:1: Error: Expected a URI.
-// export ':b';
-// ^
-//
-import self as self6;
-
-
-
-Extra constant evaluation status:
-Evaluated: StaticGet @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const _Patch{})
-Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.strong.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.strong.expect
deleted file mode 100644
index 2ff6f4b..0000000
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.strong.expect
+++ /dev/null
@@ -1,98 +0,0 @@
-library;
-import self as self;
-import "dart:test" as test;
-
-import "dart:test";
-
-static method main() → dynamic {
-  new test::Class::•();
-}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:9: Error: Couldn't parse URI ':c':
-//   Invalid empty scheme.
-// import ':c';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:9: Error: Couldn't parse URI ':d':
-//   Invalid empty scheme.
-// export ':d';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:9: Error: Couldn't parse URI ':a':
-//   Invalid empty scheme.
-// import ':a';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:9: Error: Couldn't parse URI ':b':
-//   Invalid empty scheme.
-// export ':b';
-//         ^
-//
-import self as test;
-import "dart:_internal" as _in;
-import "dart:core" as core;
-
-import "dart:_internal";
-import "org-dartlang-malformed-uri:?%3Ac";
-export "org-dartlang-malformed-uri:?%3Ad";
-import "org-dartlang-malformed-uri:?%3Aa";
-export "org-dartlang-malformed-uri:?%3Ab";
-
-@#C1
-class Class extends core::Object {
-  synthetic constructor •() → test::Class
-    : super core::Object::•()
-    ;
-}
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:8: Error: Expected a URI.
-// import ':c';
-//        ^
-//
-import self as self2;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:1: Error: Expected a URI.
-// export ':d';
-// ^
-//
-import self as self3;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:8: Error: Expected a URI.
-// import ':a';
-//        ^
-//
-import self as self4;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:1: Error: Expected a URI.
-// export ':b';
-// ^
-//
-import self as self5;
-
-
-constants  {
-  #C1 = _in::_Patch {}
-}
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.strong.transformed.expect
deleted file mode 100644
index 2ff6f4b..0000000
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.strong.transformed.expect
+++ /dev/null
@@ -1,98 +0,0 @@
-library;
-import self as self;
-import "dart:test" as test;
-
-import "dart:test";
-
-static method main() → dynamic {
-  new test::Class::•();
-}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:9: Error: Couldn't parse URI ':c':
-//   Invalid empty scheme.
-// import ':c';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:9: Error: Couldn't parse URI ':d':
-//   Invalid empty scheme.
-// export ':d';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:9: Error: Couldn't parse URI ':a':
-//   Invalid empty scheme.
-// import ':a';
-//         ^
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:9: Error: Couldn't parse URI ':b':
-//   Invalid empty scheme.
-// export ':b';
-//         ^
-//
-import self as test;
-import "dart:_internal" as _in;
-import "dart:core" as core;
-
-import "dart:_internal";
-import "org-dartlang-malformed-uri:?%3Ac";
-export "org-dartlang-malformed-uri:?%3Ad";
-import "org-dartlang-malformed-uri:?%3Aa";
-export "org-dartlang-malformed-uri:?%3Ab";
-
-@#C1
-class Class extends core::Object {
-  synthetic constructor •() → test::Class
-    : super core::Object::•()
-    ;
-}
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:8: Error: Expected a URI.
-// import ':c';
-//        ^
-//
-import self as self2;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:1: Error: Expected a URI.
-// export ':d';
-// ^
-//
-import self as self3;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:8: Error: Expected a URI.
-// import ':a';
-//        ^
-//
-import self as self4;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:1: Error: Expected a URI.
-// export ':b';
-// ^
-//
-import self as self5;
-
-
-constants  {
-  #C1 = _in::_Patch {}
-}
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline.expect
index 3c9c90e..9ededd9 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline_modelled.expect
index 3c9c90e..9ededd9 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:test';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.expect
new file mode 100644
index 0000000..fa5d4ba
--- /dev/null
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.expect
@@ -0,0 +1,108 @@
+library;
+import self as self;
+import "dart:test" as test;
+
+import "dart:test";
+
+static method main() → dynamic {
+  new test::Class::•();
+}
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:9: Error: Couldn't parse URI ':c':
+//   Invalid empty scheme.
+// import ':c';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:9: Error: Couldn't parse URI ':d':
+//   Invalid empty scheme.
+// export ':d';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:9: Error: Couldn't parse URI ':a':
+//   Invalid empty scheme.
+// import ':a';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:9: Error: Couldn't parse URI ':b':
+//   Invalid empty scheme.
+// export ':b';
+//         ^
+//
+import self as test;
+import "dart:_internal" as _in;
+import "dart:core" as core;
+
+import "dart:_internal";
+import "org-dartlang-malformed-uri:?%3Ac";
+export "org-dartlang-malformed-uri:?%3Ad";
+import "org-dartlang-malformed-uri:?%3Aa";
+export "org-dartlang-malformed-uri:?%3Ab";
+
+@#C1
+class Class extends core::Object {
+  synthetic constructor •() → test::Class*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:8: Error: Expected a URI.
+// import ':c';
+//        ^
+//
+import self as self2;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:1: Error: Expected a URI.
+// export ':d';
+// ^
+//
+import self as self3;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:8: Error: Expected a URI.
+// import ':a';
+//        ^
+//
+import self as self4;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:1: Error: Expected a URI.
+// export ':b';
+// ^
+//
+import self as self5;
+
+
+constants  {
+  #C1 = _in::_Patch {}
+}
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.outline.expect
new file mode 100644
index 0000000..8724812
--- /dev/null
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.outline.expect
@@ -0,0 +1,106 @@
+library;
+import self as self;
+
+import "dart:test";
+
+static method main() → dynamic
+  ;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:9: Error: Couldn't parse URI ':c':
+//   Invalid empty scheme.
+// import ':c';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:9: Error: Couldn't parse URI ':d':
+//   Invalid empty scheme.
+// export ':d';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:9: Error: Couldn't parse URI ':a':
+//   Invalid empty scheme.
+// import ':a';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:9: Error: Couldn't parse URI ':b':
+//   Invalid empty scheme.
+// export ':b';
+//         ^
+//
+import self as self2;
+import "dart:_internal" as _in;
+import "dart:core" as core;
+
+import "dart:_internal";
+import "org-dartlang-malformed-uri:?%3Ac";
+export "org-dartlang-malformed-uri:?%3Ad";
+import "org-dartlang-malformed-uri:?%3Aa";
+export "org-dartlang-malformed-uri:?%3Ab";
+
+@_in::patch
+class Class extends core::Object {
+  synthetic constructor •() → self2::Class*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:8: Error: Expected a URI.
+// import ':c';
+//        ^
+//
+import self as self3;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:1: Error: Expected a URI.
+// export ':d';
+// ^
+//
+import self as self4;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:8: Error: Expected a URI.
+// import ':a';
+//        ^
+//
+import self as self5;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:1: Error: Expected a URI.
+// export ':b';
+// ^
+//
+import self as self6;
+
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const _Patch{})
+Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.transformed.expect
new file mode 100644
index 0000000..fa5d4ba
--- /dev/null
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/main.dart.weak.transformed.expect
@@ -0,0 +1,108 @@
+library;
+import self as self;
+import "dart:test" as test;
+
+import "dart:test";
+
+static method main() → dynamic {
+  new test::Class::•();
+}
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:9: Error: Couldn't parse URI ':c':
+//   Invalid empty scheme.
+// import ':c';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:9: Error: Couldn't parse URI ':d':
+//   Invalid empty scheme.
+// export ':d';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:9: Error: Couldn't parse URI ':a':
+//   Invalid empty scheme.
+// import ':a';
+//         ^
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:9: Error: Couldn't parse URI ':b':
+//   Invalid empty scheme.
+// export ':b';
+//         ^
+//
+import self as test;
+import "dart:_internal" as _in;
+import "dart:core" as core;
+
+import "dart:_internal";
+import "org-dartlang-malformed-uri:?%3Ac";
+export "org-dartlang-malformed-uri:?%3Ad";
+import "org-dartlang-malformed-uri:?%3Aa";
+export "org-dartlang-malformed-uri:?%3Ab";
+
+@#C1
+class Class extends core::Object {
+  synthetic constructor •() → test::Class*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:8:8: Error: Expected a URI.
+// import ':c';
+//        ^
+//
+import self as self2;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart:9:1: Error: Expected a URI.
+// export ':d';
+// ^
+//
+import self as self3;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:5:8: Error: Expected a URI.
+// import ':a';
+//        ^
+//
+import self as self4;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart:6:1: Error: Expected a URI.
+// export ':b';
+// ^
+//
+import self as self5;
+
+
+constants  {
+  #C1 = _in::_Patch {}
+}
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart b/pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart
index 5db6a48..a2cf6ba 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/origin_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import ':a';
 export ':b';
 
diff --git a/pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart b/pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart
index b898ab1..c293bdf 100644
--- a/pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart
+++ b/pkg/front_end/testcases/general/platform_invalid_uris/patch_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // ignore: import_internal_library
 import 'dart:_internal';
 
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart b/pkg/front_end/testcases/general/prefer_baseclass.dart
index 394322b..49eeb46 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {}
 
 class B {}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.hierarchy.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.hierarchy.expect
deleted file mode 100644
index 446c5bd..0000000
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.hierarchy.expect
+++ /dev/null
@@ -1,173 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AB1:
-  superclasses:
-    Object
-      -> A
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-AB2:
-  superclasses:
-    Object
-      -> A
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-BA1:
-  superclasses:
-    Object
-      -> B
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-BA2:
-  superclasses:
-    Object
-      -> B
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline.expect
index 27c1d98..969d47c 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B {}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline_modelled.expect
index 47e2b29..4e0cebf 100644
--- a/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/prefer_baseclass.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class AB1 extends A implements B {}
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.strong.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/prefer_baseclass.dart.strong.expect
rename to pkg/front_end/testcases/general/prefer_baseclass.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.outline.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/prefer_baseclass.dart.outline.expect
rename to pkg/front_end/testcases/general/prefer_baseclass.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/prefer_baseclass.dart.strong.transformed.expect b/pkg/front_end/testcases/general/prefer_baseclass.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/prefer_baseclass.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/prefer_baseclass.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart b/pkg/front_end/testcases/general/private_method_tearoff.dart
index 71b8217..2c953aa 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import './private_method_tearoff_lib.dart';
 
 // `Bar' contains a private method `_f'. The function `baz' is declared in the
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.hierarchy.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.hierarchy.expect
deleted file mode 100644
index c696ebc..0000000
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.hierarchy.expect
+++ /dev/null
@@ -1,100 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Bar._f
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Bar._f
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Baz:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> Foo
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Bar._f
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline.expect
index 929342c..359b608 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './private_method_tearoff_lib.dart';
 
 class Foo implements Bar {}
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline_modelled.expect
index 2092d9c..3ba34a1 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/private_method_tearoff.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './private_method_tearoff_lib.dart';
 
 class Baz extends Foo {}
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.strong.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/private_method_tearoff.dart.strong.expect
rename to pkg/front_end/testcases/general/private_method_tearoff.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.outline.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/private_method_tearoff.dart.outline.expect
rename to pkg/front_end/testcases/general/private_method_tearoff.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/private_method_tearoff.dart.strong.transformed.expect b/pkg/front_end/testcases/general/private_method_tearoff.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/private_method_tearoff.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/private_method_tearoff.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/private_method_tearoff_lib.dart b/pkg/front_end/testcases/general/private_method_tearoff_lib.dart
index 0cbfb17..a2a6594 100644
--- a/pkg/front_end/testcases/general/private_method_tearoff_lib.dart
+++ b/pkg/front_end/testcases/general/private_method_tearoff_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // Companion library for private_method_tearoff.dart.
 
 class Bar {
diff --git a/pkg/front_end/testcases/general/promoted_access.dart b/pkg/front_end/testcases/general/promoted_access.dart
index 806bb6b..841f79f 100644
--- a/pkg/front_end/testcases/general/promoted_access.dart
+++ b/pkg/front_end/testcases/general/promoted_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Class<T> {
   method(T o) {
     if (o is Class) {
diff --git a/pkg/front_end/testcases/general/promoted_access.dart.textual_outline.expect b/pkg/front_end/testcases/general/promoted_access.dart.textual_outline.expect
index e0aa09a..f20506d 100644
--- a/pkg/front_end/testcases/general/promoted_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/promoted_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {
   method(T o) {}
 }
diff --git a/pkg/front_end/testcases/general/promoted_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/promoted_access.dart.textual_outline_modelled.expect
index 35276e6..978f041 100644
--- a/pkg/front_end/testcases/general/promoted_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/promoted_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<T> {
   method(T o) {}
 }
diff --git a/pkg/front_end/testcases/general/promoted_access.dart.strong.expect b/pkg/front_end/testcases/general/promoted_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/promoted_access.dart.strong.expect
rename to pkg/front_end/testcases/general/promoted_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/promoted_access.dart.outline.expect b/pkg/front_end/testcases/general/promoted_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/promoted_access.dart.outline.expect
rename to pkg/front_end/testcases/general/promoted_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/promoted_access.dart.strong.transformed.expect b/pkg/front_end/testcases/general/promoted_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/promoted_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/promoted_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart b/pkg/front_end/testcases/general/promoted_null_aware_access.dart
index 12d7b83..3e023f0 100644
--- a/pkg/front_end/testcases/general/promoted_null_aware_access.dart
+++ b/pkg/front_end/testcases/general/promoted_null_aware_access.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 method<T>(T o) {
   if (o is String) {
     o?.length;
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.textual_outline.expect b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.textual_outline.expect
index 2ed1e94..b33b2c7 100644
--- a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 method<T>(T o) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.textual_outline_modelled.expect
index 8fa980e..5fe62fa 100644
--- a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 method<T>(T o) {}
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.strong.expect b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/promoted_null_aware_access.dart.strong.expect
rename to pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.outline.expect b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/promoted_null_aware_access.dart.outline.expect
rename to pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/promoted_null_aware_access.dart.strong.transformed.expect b/pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/promoted_null_aware_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/promoted_null_aware_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart b/pkg/front_end/testcases/general/public_method_tearoff.dart
index 1d304cc..6130e86 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import './public_method_tearoff_lib.dart';
 
 // `Bar' contains a public method `f'. The function `baz' is declared in the
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.hierarchy.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.hierarchy.expect
deleted file mode 100644
index a5b947e..0000000
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Bar.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-      -> Bar
-  interfaces:
-  classMembers:
-    Bar.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline.expect
index e266da1..6aee2c2 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './public_method_tearoff_lib.dart';
 
 class Foo extends Bar {}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline_modelled.expect
index e266da1..6aee2c2 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/public_method_tearoff.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './public_method_tearoff_lib.dart';
 
 class Foo extends Bar {}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.strong.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/public_method_tearoff.dart.strong.expect
rename to pkg/front_end/testcases/general/public_method_tearoff.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.outline.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/public_method_tearoff.dart.outline.expect
rename to pkg/front_end/testcases/general/public_method_tearoff.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.strong.transformed.expect b/pkg/front_end/testcases/general/public_method_tearoff.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/public_method_tearoff.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/public_method_tearoff.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/public_method_tearoff_lib.dart b/pkg/front_end/testcases/general/public_method_tearoff_lib.dart
index ceaf0ca..529518e 100644
--- a/pkg/front_end/testcases/general/public_method_tearoff_lib.dart
+++ b/pkg/front_end/testcases/general/public_method_tearoff_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // Companion library for public_method_tearoff.dart.
 
 class Bar {
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart b/pkg/front_end/testcases/general/pure_index_expressions.dart
index 975089a..89c6ab9 100644
--- a/pkg/front_end/testcases/general/pure_index_expressions.dart
+++ b/pkg/front_end/testcases/general/pure_index_expressions.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // @dart=2.9
 
 extension Extension on int {
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline.expect
index a529cd5..cf0da0c 100644
--- a/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline.expect
@@ -1,4 +1,5 @@
 // @dart = 2.9
+// @dart = 2.9
 extension Extension on int {
   Class operator [](Class cls) => new Class();
   void operator []=(Class cls, Class value) {}
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline_modelled.expect
index f0fb925..312c040 100644
--- a/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/pure_index_expressions.dart.textual_outline_modelled.expect
@@ -1,4 +1,5 @@
 // @dart = 2.9
+// @dart = 2.9
 class Class {
   Class operator +(Class cls) => cls;
   Class operator [](Class cls) => new Class();
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.strong.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/pure_index_expressions.dart.strong.expect
rename to pkg/front_end/testcases/general/pure_index_expressions.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.outline.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/pure_index_expressions.dart.outline.expect
rename to pkg/front_end/testcases/general/pure_index_expressions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/pure_index_expressions.dart.strong.transformed.expect b/pkg/front_end/testcases/general/pure_index_expressions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/pure_index_expressions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/pure_index_expressions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/qualified.dart b/pkg/front_end/testcases/general/qualified.dart
index 397020d..d6e418b 100644
--- a/pkg/front_end/testcases/general/qualified.dart
+++ b/pkg/front_end/testcases/general/qualified.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 library test.qualified.main;
 
 import "qualified_lib.dart" as lib;
diff --git a/pkg/front_end/testcases/general/qualified.dart.hierarchy.expect b/pkg/front_end/testcases/general/qualified.dart.hierarchy.expect
deleted file mode 100644
index 2d45ad2..0000000
--- a/pkg/front_end/testcases/general/qualified.dart.hierarchy.expect
+++ /dev/null
@@ -1,198 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bad:
-  superclasses:
-    qualified-name(lib, Missing)
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Bad.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-IllegalSupertype:
-  superclasses:
-    qualified-name(lib, VoidFunction)
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
-
-C:
-  superclasses:
-    Object
-      -> qualified-name(main, C)<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
-
-Supertype:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-qualified-name(lib, Supertype) with qualified-name(lib, Mixin):
-  superclasses:
-    Object
-      -> qualified-name(lib, Supertype)
-  interfaces: qualified-name(lib, Mixin)
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-WithMixin:
-  superclasses:
-    Object
-      -> qualified-name(lib, Supertype)
-        -> _WithMixin&Supertype&Mixin
-  interfaces: qualified-name(lib, Mixin)
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/qualified.dart.textual_outline.expect b/pkg/front_end/testcases/general/qualified.dart.textual_outline.expect
index accfab2..a0263ec 100644
--- a/pkg/front_end/testcases/general/qualified.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test.qualified.main;
 
 import "qualified_lib.dart" as lib;
diff --git a/pkg/front_end/testcases/general/qualified.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/qualified.dart.textual_outline_modelled.expect
index 0713429..5840afa 100644
--- a/pkg/front_end/testcases/general/qualified.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/qualified.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test.qualified.main;
 
 import "qualified_lib.dart" as lib;
diff --git a/pkg/front_end/testcases/general/qualified.dart.strong.expect b/pkg/front_end/testcases/general/qualified.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/qualified.dart.strong.expect
rename to pkg/front_end/testcases/general/qualified.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/qualified.dart.outline.expect b/pkg/front_end/testcases/general/qualified.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/qualified.dart.outline.expect
rename to pkg/front_end/testcases/general/qualified.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/qualified.dart.strong.transformed.expect b/pkg/front_end/testcases/general/qualified.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/qualified.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/qualified.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/qualified_lib.dart b/pkg/front_end/testcases/general/qualified_lib.dart
index ae00a71..abeef31 100644
--- a/pkg/front_end/testcases/general/qualified_lib.dart
+++ b/pkg/front_end/testcases/general/qualified_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 library test.qualified.lib;
 
 import "qualified.dart" as main;
diff --git a/pkg/front_end/testcases/general/qualified_part.dart b/pkg/front_end/testcases/general/qualified_part.dart
index 370335a..70ec895 100644
--- a/pkg/front_end/testcases/general/qualified_part.dart
+++ b/pkg/front_end/testcases/general/qualified_part.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 part of test.qualified.main;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart b/pkg/front_end/testcases/general/redirecting_constructor.dart
index 72b53b6..d993dc3 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {
   A();
   factory A.fisk() = B;
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.hierarchy.expect
deleted file mode 100644
index c79ac19..0000000
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline.expect
index 2e2eb1f..16cde0a 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A();
   factory A.fisk() = B;
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline_modelled.expect
index 2e2eb1f..16cde0a 100644
--- a/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A();
   factory A.fisk() = B;
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_constructor.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_constructor.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart b/pkg/front_end/testcases/general/redirecting_factory.dart
index af4e16d..6e8e39c 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 abstract class FooBase<Tf> {
   int get x;
   factory FooBase(int x) = Foo<Tf>;
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.hierarchy.expect
deleted file mode 100644
index e601475..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.hierarchy.expect
+++ /dev/null
@@ -1,273 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-FooBase:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    FooBase.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    FooBase._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    FooBase._redirecting#
-
-Foo:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: FooBase
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo._redirecting#
-  interfaceMembers:
-    Object.toString
-    FooBase.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Foo._redirecting#
-
-Bar:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: Foo<Tb>, FooBase
-  classMembers:
-    Object.toString
-    Bar.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar.x
-  interfaceMembers:
-    Object.toString
-    Bar.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Bar.x
-
-Builder:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Builder.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-SimpleCase:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    SimpleCase._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    SimpleCase._redirecting#
-
-SimpleCaseImpl:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: SimpleCase<Ai, Bi>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    SimpleCaseImpl._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    SimpleCaseImpl._redirecting#
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    SimpleCaseImpl._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    SimpleCaseImpl._redirecting#
-
-SimpleCaseImpl2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: SimpleCaseImpl<Ai2, Bi2>, SimpleCase<Ai2, Bi2>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mix:
-  superclasses:
-    Object
-      -> Base<M>
-  interfaces: Mixin<M>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline.expect
index b6e0d0a..d84ae38 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class FooBase<Tf> {
   int get x;
   factory FooBase(int x) = Foo<Tf>;
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline_modelled.expect
index 3f02151..5fa0044 100644
--- a/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Foo<T> implements FooBase {
   factory Foo(int x) = Bar<String, T>;
 }
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_factory.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_factory.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_factory.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart
index ad9409e..9ffa473 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 // The purpose of this test is to check the representation of redirecting
 // factory constructors in a case of a redirecting chain.
 
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.hierarchy.expect
deleted file mode 100644
index abc4300..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline.expect
index f7ca084..f0d752d 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.chain_test;
 
 class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline_modelled.expect
index f7ca084..f0d752d 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.chain_test;
 
 class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart
index 8d904fd..5564e78 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the type inference implementation correctly uses least
 // closure of the inferred type arguments in invocations of 'const' redirecting
 // factory constructors in case there are type variables in them.
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.hierarchy.expect
deleted file mode 100644
index 4985228..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,107 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _X._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    _X._redirecting#
-
-_Y:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: _X<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline.expect
index 1eae718..61acaeb 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class _X<T> {
   const factory _X() = _Y<T>;
 }
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline_modelled.expect
index 71b737f..7ad545b 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   A(this.x);
   _X<T> x;
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart
index 1107f18..da569e7 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that annotations on redirecting factories and their formals
 // aren't skipped by the compiler and are observable in its output.
 
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.hierarchy.expect
deleted file mode 100644
index 2c671bd..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo._redirecting#
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline.expect
index d486790..a9cc41f 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const forParameter = 1;
 const forFactoryItself = 2;
 const anotherForParameter = 3;
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline_modelled.expect
index 72b47ec..83e49dd 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   Foo.named(p);
   @forFactoryItself
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_metadata.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_metadata.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_metadata.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_factory_metadata.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart
index 0598023..e1b8569 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 // The purpose of this test is to check the representation of redirecting
 // factory constructors on a simple case.
 
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.hierarchy.expect
deleted file mode 100644
index abc4300..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline.expect
index bbefe2c..a1e883f4 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.simple_test;
 
 class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline_modelled.expect
index bbefe2c..a1e883f4 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.simple_test;
 
 class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart
index 611df4c..7df8a6e 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 // The purpose of this test is to check the representation of redirecting
 // factory constructors in the case when the redirection target has type
 // arguments supplied by the redirecting factory constructor.
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.hierarchy.expect
deleted file mode 100644
index 13dab79..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,91 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y:
-  superclasses:
-    Object
-      -> X
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline.expect
index 50ddae4..dfaace1 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.typeargs_test;
 
 class X {}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline_modelled.expect
index d52aa92..b1ac84e 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.typeargs_test;
 
 class A {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart
index 967771f..3094ddc 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 // The purpose of this test is to check the representation of redirecting
 // factory constructors in the case when type parameters of the enclosing class
 // are used in type annotations of the parameters of the redirecting factory
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.hierarchy.expect
deleted file mode 100644
index abc4300..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline.expect
index e04255c..44e29ab 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.typeparam_test;
 
 class A<T, S> {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline_modelled.expect
index e04255c..44e29ab 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.typeparam_test;
 
 class A<T, S> {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart
index 102c03a..3de706f 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 // The purpose of this test is to check the representation of redirecting
 // factory constructors in the case when type parameters of the enclosing class
 // are used in type annotations of the parameters of the redirecting factory
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.hierarchy.expect
deleted file mode 100644
index 8d11fc8..0000000
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y:
-  superclasses:
-    Object
-      -> X
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline.expect
index e6ad16e..c1ebcd6 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.typeparambounds_test;
 
 class X {}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline_modelled.expect
index 036a788..ec53c69 100644
--- a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library redirecting_factory_constructors.typeparambounds_test;
 
 class A<T, S extends T> {
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart
index e05cd8a..b4aeab5 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // The test checks that types of arguments of redirecting initializers are
 // checked against the corresponding formal parameter types of the redirection
 // targets, and the downcasts are inserted where appropriate.
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.hierarchy.expect
deleted file mode 100644
index eedd000..0000000
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.x
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.textual_outline.expect
index 1de1d30..c862746 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class X {}
 
 class Foo<T extends X> {
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.textual_outline_modelled.expect
index f132422..f6b30b0 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<T extends X> {
   Foo._internal({this.x});
   Foo.fromT(T _init) : this._internal(x: _init);
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart
index 9dbb286..d5147d5 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // The test checks that types of arguments of redirecting initializers are
 // checked against the corresponding formal parameter types of the redirection
 // targets, and the compile-time error is emitted in the case they are not
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.hierarchy.expect
deleted file mode 100644
index 3de5ead..0000000
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.x
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline.expect
index 67a67e9..d5f3567 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<T> {
   T x;
   Foo.from(String _init) : this._internal(x: _init);
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline_modelled.expect
index 9b96053..423187d 100644
--- a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<T> {
   Foo._internal({this.x});
   Foo.from(String _init) : this._internal(x: _init);
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.strong.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.strong.expect
rename to pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.outline.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.outline.expect
rename to pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart
index 57d54c1..7b4cd53 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 // The test checks that type arguments of the target of redirection factory
 // constructors are preserved throughout the chain of redirections.
 
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.hierarchy.expect
deleted file mode 100644
index 1eaa41a..0000000
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.hierarchy.expect
+++ /dev/null
@@ -1,427 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A<U>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B._redirecting#
-
-C:
-  superclasses:
-    Object
-      -> A<V>
-        -> B<V, S>
-  interfaces:
-  classMembers:
-    C.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline.expect
index 772fcd2..35675e5 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 class A<T> {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline_modelled.expect
index 6f267ca..b3c31ee 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 class A<T> {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.strong.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.strong.expect
rename to pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.outline.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.outline.expect
rename to pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart
index 9389f2f..51e5f08 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 // The test checks that dependencies of type arguments of targets of redirecting
 // factories on type parameters of the corresponding classes are respected in
 // the resulting type arguments of redirecting factories invocations.
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.hierarchy.expect
deleted file mode 100644
index 1eaa41a..0000000
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.hierarchy.expect
+++ /dev/null
@@ -1,427 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A<U>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B._redirecting#
-
-C:
-  superclasses:
-    Object
-      -> A<V>
-        -> B<V, S>
-  interfaces:
-  classMembers:
-    C.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline.expect
index 29e8862..c51fbab 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 abstract class A<T> {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline_modelled.expect
index 7040eb4..1ba84ec 100644
--- a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 abstract class A<T> {
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.strong.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.strong.expect
rename to pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.outline.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.outline.expect
rename to pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart b/pkg/front_end/testcases/general/redirection_type_arguments.dart
index 043daa1..f5e6692 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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.
-
+// @dart=2.9
 // The test checks that type arguments of the target of redirection factory
 // constructors are preserved.
 
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.hierarchy.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.hierarchy.expect
deleted file mode 100644
index 8fd8c13..0000000
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.hierarchy.expect
+++ /dev/null
@@ -1,406 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    B.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline.expect
index 10ae984..14800fb 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline_modelled.expect
index 561ace4..2895a46 100644
--- a/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/redirection_type_arguments.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 class A {
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.strong.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_type_arguments.dart.strong.expect
rename to pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.outline.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_type_arguments.dart.outline.expect
rename to pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/redirection_type_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/redirection_type_arguments.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/redirection_type_arguments.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart b/pkg/front_end/testcases/general/regression_flutter51828.dart
index 3d161f3..9dabce8 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // This is a regression test for https://github.com/flutter/flutter/issues/51828
 // which failed due bad reuse/typing of temp. vars. in the async transform.
 
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline.expect
index 10f8088..531b2cb 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   Future<void> foo(x) async {}
 }
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline_modelled.expect
index 10f8088..531b2cb 100644
--- a/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/regression_flutter51828.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   Future<void> foo(x) async {}
 }
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.strong.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/regression_flutter51828.dart.strong.expect
rename to pkg/front_end/testcases/general/regression_flutter51828.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.outline.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/regression_flutter51828.dart.outline.expect
rename to pkg/front_end/testcases/general/regression_flutter51828.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/regression_flutter51828.dart.strong.transformed.expect b/pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/regression_flutter51828.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/regression_flutter51828.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart
index cdf7460..91c2303 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that generic function types are rejected with an appropriate
 // compile-time error message if encountered in bounds of type variables.
 
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.hierarchy.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.hierarchy.expect
deleted file mode 100644
index efc780c..0000000
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline.expect
index 27c53cf..cded83b 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline_modelled.expect
index 27c53cf..cded83b 100644
--- a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.strong.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.strong.expect
rename to pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.outline.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.outline.expect
rename to pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.strong.transformed.expect b/pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/reject_generic_function_types_in_bounds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart
index f30bd53..ad85c13 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bool f(List x) {
   return x.expand((y) {
     // Since y has type dynamic, y.split(',') has type dynamic, so an implicit
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline.expect
index fcee7cc..d583be0 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bool f(List x) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline_modelled.expect
index fcee7cc..d583be0 100644
--- a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bool f(List x) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.strong.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.strong.expect
rename to pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.outline.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.outline.expect
rename to pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.strong.transformed.expect b/pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/return_with_unknown_type_in_context.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart b/pkg/front_end/testcases/general/sdk_diagnostic.dart
index f8f4723..d341fc5 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class C extends Iterable<Object> {
   // Missing implementation of [iterator] leads to diagnostic which refers to
   // the SDK. This test is intended to test that such references are displayed
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.hierarchy.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.hierarchy.expect
deleted file mode 100644
index e93765a..0000000
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.hierarchy.expect
+++ /dev/null
@@ -1,115 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Iterable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Iterable.iterator
-    Iterable.map
-    Iterable.cast
-    Iterable.skip
-    Iterable.join
-    Iterable.toSet
-    Iterable.toString
-    Iterable.forEach
-    Iterable.length
-    Iterable.firstWhere
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Iterable.isEmpty
-    Iterable.take
-    Iterable.any
-    Iterable.isNotEmpty
-    Iterable.whereType
-    Iterable.where
-    Object._instanceOf
-    Iterable.skipWhile
-    Iterable.castFrom
-    Iterable.toList
-    Object.noSuchMethod
-    Iterable.fold
-    Iterable.elementAt
-    Iterable.expand
-    Iterable.takeWhile
-    Iterable.first
-    Object._identityHashCode
-    Object.hashCode
-    Iterable.reduce
-    Iterable.lastWhere
-    Iterable.last
-    Object._simpleInstanceOfFalse
-    Iterable.single
-    Iterable.every
-    Iterable.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Iterable.followedBy
-    Iterable.singleWhere
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> Iterable<Object>
-  interfaces:
-  classMembers:
-    Iterable.iterator
-    Iterable.map
-    Iterable.cast
-    Iterable.skip
-    Iterable.join
-    Iterable.toSet
-    Iterable.toString
-    Iterable.forEach
-    Iterable.length
-    Iterable.firstWhere
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Iterable.isEmpty
-    Iterable.take
-    Iterable.any
-    Iterable.isNotEmpty
-    Iterable.whereType
-    Iterable.where
-    Object._instanceOf
-    Iterable.skipWhile
-    Iterable.toList
-    Object.noSuchMethod
-    Iterable.fold
-    Iterable.elementAt
-    Iterable.expand
-    Iterable.takeWhile
-    Iterable.first
-    Object._identityHashCode
-    Object.hashCode
-    Iterable.reduce
-    Iterable.lastWhere
-    Iterable.last
-    Object._simpleInstanceOfFalse
-    Iterable.single
-    Iterable.every
-    Iterable.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Iterable.followedBy
-    Iterable.singleWhere
-  classSetters:
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline.expect
index 1a2b8fa..a63a4d4 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C extends Iterable<Object> {}
 
 test() {}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline_modelled.expect
index 23c1a60..0bd2569 100644
--- a/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/sdk_diagnostic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C extends Iterable<Object> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.strong.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/sdk_diagnostic.dart.strong.expect
rename to pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.outline.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/sdk_diagnostic.dart.outline.expect
rename to pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/sdk_diagnostic.dart.strong.transformed.expect b/pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/sdk_diagnostic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/sdk_diagnostic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/spread_collection.dart b/pkg/front_end/testcases/general/spread_collection.dart
index 69ddf89..5cdf7b0 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart
+++ b/pkg/front_end/testcases/general/spread_collection.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 main() {
   final aList = <int>[
     1,
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.outline.expect b/pkg/front_end/testcases/general/spread_collection.dart.outline.expect
deleted file mode 100644
index 4c2eb20..0000000
--- a/pkg/front_end/testcases/general/spread_collection.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
-static method foo() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.textual_outline.expect b/pkg/front_end/testcases/general/spread_collection.dart.textual_outline.expect
index a527799..4da36bc 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 foo() => null;
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/spread_collection.dart.textual_outline_modelled.expect
index d461a14..0dadf4a 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 foo() => null;
 main() {}
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.strong.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/spread_collection.dart.strong.expect
rename to pkg/front_end/testcases/general/spread_collection.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/await_in_non_async.dart.outline.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/await_in_non_async.dart.outline.expect
copy to pkg/front_end/testcases/general/spread_collection.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.strong.transformed.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/spread_collection.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart b/pkg/front_end/testcases/general/spread_collection_inference.dart
index 68981f9..bb1790d 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // This test case checks that inference works for spread collections, and that
 // the errors are reported when necessary.
 
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.textual_outline.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.textual_outline.expect
index 5ebffd1..14ad1f2 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 Map<K, V> bar<K, V>() => null;
 foo(dynamic dynVar) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.textual_outline_modelled.expect
index 5ebffd1..14ad1f2 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 Map<K, V> bar<K, V>() => null;
 foo(dynamic dynVar) {}
 main() {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/spread_collection_inference.dart.strong.expect
rename to pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.outline.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/spread_collection_inference.dart.outline.expect
rename to pkg/front_end/testcases/general/spread_collection_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/spread_collection_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/statements.dart b/pkg/front_end/testcases/general/statements.dart
index e12e2fc..6121514 100644
--- a/pkg/front_end/testcases/general/statements.dart
+++ b/pkg/front_end/testcases/general/statements.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 foo() {
   try {
     return;
diff --git a/pkg/front_end/testcases/general/statements.dart.textual_outline.expect b/pkg/front_end/testcases/general/statements.dart.textual_outline.expect
index 2431514..b23d16d 100644
--- a/pkg/front_end/testcases/general/statements.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/statements.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 foo() {}
 bar(d) async* {}
 main() {}
diff --git a/pkg/front_end/testcases/general/statements.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/statements.dart.textual_outline_modelled.expect
index 3453492..77069be 100644
--- a/pkg/front_end/testcases/general/statements.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/statements.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bar(d) async* {}
 foo() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/statements.dart.strong.expect b/pkg/front_end/testcases/general/statements.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/statements.dart.strong.expect
rename to pkg/front_end/testcases/general/statements.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/statements.dart.outline.expect b/pkg/front_end/testcases/general/statements.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/statements.dart.outline.expect
rename to pkg/front_end/testcases/general/statements.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/statements.dart.strong.transformed.expect b/pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/statements.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/statements.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/static_setter.dart b/pkg/front_end/testcases/general/static_setter.dart
index 4a9392b..e773018 100644
--- a/pkg/front_end/testcases/general/static_setter.dart
+++ b/pkg/front_end/testcases/general/static_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Foo {}
 
 set foo(x) {}
diff --git a/pkg/front_end/testcases/general/static_setter.dart.hierarchy.expect b/pkg/front_end/testcases/general/static_setter.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/general/static_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/static_setter.dart.textual_outline.expect b/pkg/front_end/testcases/general/static_setter.dart.textual_outline.expect
index e45f3a8..73b630c 100644
--- a/pkg/front_end/testcases/general/static_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/static_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {}
 
 set foo(x) {}
diff --git a/pkg/front_end/testcases/general/static_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/static_setter.dart.textual_outline_modelled.expect
index cad463e..73ad9d4 100644
--- a/pkg/front_end/testcases/general/static_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/static_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {}
 
 main() {}
diff --git a/pkg/front_end/testcases/general/static_setter.dart.strong.expect b/pkg/front_end/testcases/general/static_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/static_setter.dart.strong.expect
rename to pkg/front_end/testcases/general/static_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/static_setter.dart.outline.expect b/pkg/front_end/testcases/general/static_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/static_setter.dart.outline.expect
rename to pkg/front_end/testcases/general/static_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/static_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/general/static_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/static_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/static_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/store_load.dart b/pkg/front_end/testcases/general/store_load.dart
index 67c3ef8..1edbe1c8 100644
--- a/pkg/front_end/testcases/general/store_load.dart
+++ b/pkg/front_end/testcases/general/store_load.dart
@@ -1,6 +1,9 @@
 // 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.
+
+// @dart=2.9
+
 class Foo {
   var _field;
 }
diff --git a/pkg/front_end/testcases/general/store_load.dart.hierarchy.expect b/pkg/front_end/testcases/general/store_load.dart.hierarchy.expect
deleted file mode 100644
index 6d5caac..0000000
--- a/pkg/front_end/testcases/general/store_load.dart.hierarchy.expect
+++ /dev/null
@@ -1,91 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo._field
-
-FooValue:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Bar._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar._field
-
-BarValue:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/store_load.dart.textual_outline.expect b/pkg/front_end/testcases/general/store_load.dart.textual_outline.expect
index 12677c1..d97c46e 100644
--- a/pkg/front_end/testcases/general/store_load.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   var _field;
 }
diff --git a/pkg/front_end/testcases/general/store_load.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/store_load.dart.textual_outline_modelled.expect
index d24c44c..aeef11b 100644
--- a/pkg/front_end/testcases/general/store_load.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/store_load.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bar {
   var _field;
 }
diff --git a/pkg/front_end/testcases/general/store_load.dart.strong.expect b/pkg/front_end/testcases/general/store_load.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/store_load.dart.strong.expect
rename to pkg/front_end/testcases/general/store_load.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/store_load.dart.outline.expect b/pkg/front_end/testcases/general/store_load.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/store_load.dart.outline.expect
rename to pkg/front_end/testcases/general/store_load.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/store_load.dart.strong.transformed.expect b/pkg/front_end/testcases/general/store_load.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/store_load.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/store_load.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/stream_future.dart b/pkg/front_end/testcases/general/stream_future.dart
index 8904ea0..213cc5d 100644
--- a/pkg/front_end/testcases/general/stream_future.dart
+++ b/pkg/front_end/testcases/general/stream_future.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'dart:async';
 
 class Class {}
diff --git a/pkg/front_end/testcases/general/stream_future.dart.textual_outline.expect b/pkg/front_end/testcases/general/stream_future.dart.textual_outline.expect
index b720b02..58da8eb 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 class Class {}
diff --git a/pkg/front_end/testcases/general/stream_future.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/stream_future.dart.textual_outline_modelled.expect
index 38f650e..3799403 100644
--- a/pkg/front_end/testcases/general/stream_future.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/stream_future.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async';
 
 Class returnClass() => new Class();
diff --git a/pkg/front_end/testcases/general/stream_future.dart.strong.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/stream_future.dart.strong.expect
rename to pkg/front_end/testcases/general/stream_future.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/stream_future.dart.outline.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/stream_future.dart.outline.expect
rename to pkg/front_end/testcases/general/stream_future.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/stream_future.dart.strong.transformed.expect b/pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/stream_future.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/stream_future.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/stringliteral.dart b/pkg/front_end/testcases/general/stringliteral.dart
index 8e64de2..52791ab 100644
--- a/pkg/front_end/testcases/general/stringliteral.dart
+++ b/pkg/front_end/testcases/general/stringliteral.dart
@@ -7,5 +7,5 @@
 var adjacent = '$color$color$color';
 var linebreaks = '$color\n$color\n$color';
 var other = '$color\n is \n$color';
-
+// @dart=2.9
 main() {}
diff --git a/pkg/front_end/testcases/general/stringliteral.dart.outline.expect b/pkg/front_end/testcases/general/stringliteral.dart.outline.expect
deleted file mode 100644
index 0c2680f..0000000
--- a/pkg/front_end/testcases/general/stringliteral.dart.outline.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::String* color;
-static field core::String* thing;
-static field core::String* phrase;
-static field core::String* adjacent;
-static field core::String* linebreaks;
-static field core::String* other;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/stringliteral.dart.strong.expect b/pkg/front_end/testcases/general/stringliteral.dart.strong.expect
deleted file mode 100644
index 6af4e00..0000000
--- a/pkg/front_end/testcases/general/stringliteral.dart.strong.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::String* color = "brown";
-static field core::String* thing = "lazy dog";
-static field core::String* phrase = "The quick ${self::color} fox
-jumped over the ${self::thing}.
-";
-static field core::String* adjacent = "${self::color}${self::color}${self::color}";
-static field core::String* linebreaks = "${self::color}
-${self::color}
-${self::color}";
-static field core::String* other = "${self::color}
- is 
-${self::color}";
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/stringliteral.dart.strong.transformed.expect b/pkg/front_end/testcases/general/stringliteral.dart.strong.transformed.expect
deleted file mode 100644
index 6af4e00..0000000
--- a/pkg/front_end/testcases/general/stringliteral.dart.strong.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::String* color = "brown";
-static field core::String* thing = "lazy dog";
-static field core::String* phrase = "The quick ${self::color} fox
-jumped over the ${self::thing}.
-";
-static field core::String* adjacent = "${self::color}${self::color}${self::color}";
-static field core::String* linebreaks = "${self::color}
-${self::color}
-${self::color}";
-static field core::String* other = "${self::color}
- is 
-${self::color}";
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/stringliteral.dart.weak.expect b/pkg/front_end/testcases/general/stringliteral.dart.weak.expect
new file mode 100644
index 0000000..2d193f7
--- /dev/null
+++ b/pkg/front_end/testcases/general/stringliteral.dart.weak.expect
@@ -0,0 +1,17 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static field core::String color = "brown";
+static field core::String thing = "lazy dog";
+static field core::String phrase = "The quick ${self::color} fox
+jumped over the ${self::thing}.
+";
+static field core::String adjacent = "${self::color}${self::color}${self::color}";
+static field core::String linebreaks = "${self::color}
+${self::color}
+${self::color}";
+static field core::String other = "${self::color}
+ is 
+${self::color}";
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/stringliteral.dart.weak.outline.expect b/pkg/front_end/testcases/general/stringliteral.dart.weak.outline.expect
new file mode 100644
index 0000000..19c997a
--- /dev/null
+++ b/pkg/front_end/testcases/general/stringliteral.dart.weak.outline.expect
@@ -0,0 +1,12 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static field core::String color;
+static field core::String thing;
+static field core::String phrase;
+static field core::String adjacent;
+static field core::String linebreaks;
+static field core::String other;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/stringliteral.dart.weak.transformed.expect b/pkg/front_end/testcases/general/stringliteral.dart.weak.transformed.expect
new file mode 100644
index 0000000..2d193f7
--- /dev/null
+++ b/pkg/front_end/testcases/general/stringliteral.dart.weak.transformed.expect
@@ -0,0 +1,17 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static field core::String color = "brown";
+static field core::String thing = "lazy dog";
+static field core::String phrase = "The quick ${self::color} fox
+jumped over the ${self::thing}.
+";
+static field core::String adjacent = "${self::color}${self::color}${self::color}";
+static field core::String linebreaks = "${self::color}
+${self::color}
+${self::color}";
+static field core::String other = "${self::color}
+ is 
+${self::color}";
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart b/pkg/front_end/testcases/general/super_access_in_initializer.dart
index 2bab9f4..ee351d0 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Super {
   bool get property => true;
 
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline.expect
index 5548e99..90a2cf1 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Super {
   bool get property => true;
   Super(bool value);
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline_modelled.expect
index b009d58..94cf602 100644
--- a/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_access_in_initializer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class extends Super {
   Class(bool value)
       : assert(property),
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.strong.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_access_in_initializer.dart.strong.expect
rename to pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.outline.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_access_in_initializer.dart.outline.expect
rename to pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/super_access_in_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_access_in_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/super_access_in_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/super_call.dart b/pkg/front_end/testcases/general/super_call.dart
index 6d9d0a1..33cb6ae 100644
--- a/pkg/front_end/testcases/general/super_call.dart
+++ b/pkg/front_end/testcases/general/super_call.dart
@@ -1,6 +1,9 @@
 // Copyright (c) 2017, 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=2.9
+
 class A {
   int call(int x) => x * 2;
 }
diff --git a/pkg/front_end/testcases/general/super_call.dart.hierarchy.expect b/pkg/front_end/testcases/general/super_call.dart.hierarchy.expect
deleted file mode 100644
index 2bda25e..0000000
--- a/pkg/front_end/testcases/general/super_call.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.call_super
-    B.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/super_call.dart.strong.expect b/pkg/front_end/testcases/general/super_call.dart.strong.expect
deleted file mode 100644
index 9086283..0000000
--- a/pkg/front_end/testcases/general/super_call.dart.strong.expect
+++ /dev/null
@@ -1,45 +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.{core::num::*}(2);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method call(core::int* x) → core::int*
-    return x.{core::num::*}(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);
-           ^" as{TypeError,ForDynamic} core::int*;
-  }
-}
-static method main() → dynamic {
-  assert(new self::B::•().{self::B::call_super}().{core::num::==}(10));
-}
diff --git a/pkg/front_end/testcases/general/super_call.dart.strong.transformed.expect b/pkg/front_end/testcases/general/super_call.dart.strong.transformed.expect
deleted file mode 100644
index 9662c3f..0000000
--- a/pkg/front_end/testcases/general/super_call.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +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.{core::num::*}(2);
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method call(core::int* x) → core::int*
-    return x.{core::num::*}(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::•().{self::B::call_super}().{core::num::==}(10));
-}
diff --git a/pkg/front_end/testcases/general/super_call.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_call.dart.textual_outline.expect
index 08fd0e2..c9282f5 100644
--- a/pkg/front_end/testcases/general/super_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int call(int x) => x * 2;
 }
diff --git a/pkg/front_end/testcases/general/super_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_call.dart.textual_outline_modelled.expect
index 08fd0e2..c9282f5 100644
--- a/pkg/front_end/testcases/general/super_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int call(int x) => x * 2;
 }
diff --git a/pkg/front_end/testcases/general/super_call.dart.weak.expect b/pkg/front_end/testcases/general/super_call.dart.weak.expect
new file mode 100644
index 0000000..b6efac9
--- /dev/null
+++ b/pkg/front_end/testcases/general/super_call.dart.weak.expect
@@ -0,0 +1,45 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/super_call.dart:17: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.{core::num::*}(2);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    : super self::A::•()
+    ;
+  method call(core::int* x) → core::int*
+    return x.{core::num::*}(3);
+  method call_super() → core::int* {
+    return invalid-expression "pkg/front_end/testcases/general/super_call.dart:17: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);
+           ^" as{TypeError,ForDynamic} core::int*;
+  }
+}
+static method main() → dynamic {
+  assert(new self::B::•().{self::B::call_super}().{core::num::==}(10));
+}
diff --git a/pkg/front_end/testcases/general/super_call.dart.outline.expect b/pkg/front_end/testcases/general/super_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_call.dart.outline.expect
rename to pkg/front_end/testcases/general/super_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/super_call.dart.weak.transformed.expect b/pkg/front_end/testcases/general/super_call.dart.weak.transformed.expect
new file mode 100644
index 0000000..648c4cf
--- /dev/null
+++ b/pkg/front_end/testcases/general/super_call.dart.weak.transformed.expect
@@ -0,0 +1,45 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/super_call.dart:17: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.{core::num::*}(2);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    : super self::A::•()
+    ;
+  method call(core::int* x) → core::int*
+    return x.{core::num::*}(3);
+  method call_super() → core::int* {
+    return invalid-expression "pkg/front_end/testcases/general/super_call.dart:17: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::•().{self::B::call_super}().{core::num::==}(10));
+}
diff --git a/pkg/front_end/testcases/general/super_nsm.dart b/pkg/front_end/testcases/general/super_nsm.dart
index d4cfc6d..b94b99e 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart
+++ b/pkg/front_end/testcases/general/super_nsm.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 abstract class I {
   interfaceMethod();
 }
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.hierarchy.expect b/pkg/front_end/testcases/general/super_nsm.dart.hierarchy.expect
deleted file mode 100644
index 368b420..0000000
--- a/pkg/front_end/testcases/general/super_nsm.dart.hierarchy.expect
+++ /dev/null
@@ -1,102 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    I.interfaceMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.noSuchMethod
-    Object._identityHashCode
-    I.interfaceMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> C
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.dMethod
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.noSuchMethod
-    Object._identityHashCode
-    I.interfaceMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.dMethod
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_nsm.dart.textual_outline.expect
index 39c0416..c9c9e06 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   interfaceMethod();
 }
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_nsm.dart.textual_outline_modelled.expect
index 8dcf482..f127290 100644
--- a/pkg/front_end/testcases/general/super_nsm.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_nsm.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   interfaceMethod();
 }
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.strong.expect b/pkg/front_end/testcases/general/super_nsm.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_nsm.dart.strong.expect
rename to pkg/front_end/testcases/general/super_nsm.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.outline.expect b/pkg/front_end/testcases/general/super_nsm.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_nsm.dart.outline.expect
rename to pkg/front_end/testcases/general/super_nsm.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/super_nsm.dart.strong.transformed.expect b/pkg/front_end/testcases/general/super_nsm.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_nsm.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/super_nsm.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart b/pkg/front_end/testcases/general/super_set_abstract.dart
index 2bc0c7d..a77248f 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class SuperClass {
   void set setter(int o) {}
 }
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline.expect
index 0310022..c75d50d 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class SuperClass {
   void set setter(int o) {}
 }
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline_modelled.expect
index 2833ed3..11095ba 100644
--- a/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_set_abstract.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Class extends SuperClass {
   void set setter(Object o);
 }
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.strong.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_set_abstract.dart.strong.expect
rename to pkg/front_end/testcases/general/super_set_abstract.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.outline.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_set_abstract.dart.outline.expect
rename to pkg/front_end/testcases/general/super_set_abstract.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/super_set_abstract.dart.strong.transformed.expect b/pkg/front_end/testcases/general/super_set_abstract.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_set_abstract.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/super_set_abstract.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart b/pkg/front_end/testcases/general/super_set_covariant.dart
index 41561ff..88aaff1 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class SuperClass {
   void set setter(Object o) {}
 }
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline.expect
index 8a079ae..f611304 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class SuperClass {
   void set setter(Object o) {}
 }
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline_modelled.expect
index b6f108c..8ec925e 100644
--- a/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/super_set_covariant.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Class extends SuperClass {
   void set setter(covariant int o);
 }
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.strong.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_set_covariant.dart.strong.expect
rename to pkg/front_end/testcases/general/super_set_covariant.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.outline.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_set_covariant.dart.outline.expect
rename to pkg/front_end/testcases/general/super_set_covariant.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/super_set_covariant.dart.strong.transformed.expect b/pkg/front_end/testcases/general/super_set_covariant.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/super_set_covariant.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/super_set_covariant.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/tabs.dart b/pkg/front_end/testcases/general/tabs.dart
index 17daaf4..32b56da 100644
--- a/pkg/front_end/testcases/general/tabs.dart
+++ b/pkg/front_end/testcases/general/tabs.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // Test that error messages are indented correctly
 // in the presence of tabs.
 
diff --git a/pkg/front_end/testcases/general/tabs.dart.outline.expect b/pkg/front_end/testcases/general/tabs.dart.outline.expect
deleted file mode 100644
index a29647d..0000000
--- a/pkg/front_end/testcases/general/tabs.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/tabs.dart.textual_outline.expect b/pkg/front_end/testcases/general/tabs.dart.textual_outline.expect
index ec6b9e0..001308b 100644
--- a/pkg/front_end/testcases/general/tabs.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/tabs.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 test() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/tabs.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/tabs.dart.textual_outline_modelled.expect
index f67dbb0..38df08d 100644
--- a/pkg/front_end/testcases/general/tabs.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/tabs.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 test() {}
diff --git a/pkg/front_end/testcases/general/tabs.dart.strong.expect b/pkg/front_end/testcases/general/tabs.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/tabs.dart.strong.expect
rename to pkg/front_end/testcases/general/tabs.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/bug21938.dart.outline.expect b/pkg/front_end/testcases/general/tabs.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/bug21938.dart.outline.expect
rename to pkg/front_end/testcases/general/tabs.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/tabs.dart.strong.transformed.expect b/pkg/front_end/testcases/general/tabs.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/tabs.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/tabs.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/this_field_call.dart b/pkg/front_end/testcases/general/this_field_call.dart
index 8b26b24..b7b47d6 100644
--- a/pkg/front_end/testcases/general/this_field_call.dart
+++ b/pkg/front_end/testcases/general/this_field_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A<T> {
   void Function(T) f;
   A(this.f);
diff --git a/pkg/front_end/testcases/general/this_field_call.dart.textual_outline.expect b/pkg/front_end/testcases/general/this_field_call.dart.textual_outline.expect
index eb3e361..116a8da 100644
--- a/pkg/front_end/testcases/general/this_field_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/this_field_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   void Function(T) f;
   A(this.f);
diff --git a/pkg/front_end/testcases/general/this_field_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/this_field_call.dart.textual_outline_modelled.expect
index b5116cc..4b5395b 100644
--- a/pkg/front_end/testcases/general/this_field_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/this_field_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   A(this.f);
   foo(T x) => this.f(x);
diff --git a/pkg/front_end/testcases/general/this_field_call.dart.strong.expect b/pkg/front_end/testcases/general/this_field_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/this_field_call.dart.strong.expect
rename to pkg/front_end/testcases/general/this_field_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/this_field_call.dart.outline.expect b/pkg/front_end/testcases/general/this_field_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/this_field_call.dart.outline.expect
rename to pkg/front_end/testcases/general/this_field_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/this_field_call.dart.strong.transformed.expect b/pkg/front_end/testcases/general/this_field_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/this_field_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/this_field_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/three_typedefs_loop.dart b/pkg/front_end/testcases/general/three_typedefs_loop.dart
index d4f0110..da2c06d 100644
--- a/pkg/front_end/testcases/general/three_typedefs_loop.dart
+++ b/pkg/front_end/testcases/general/three_typedefs_loop.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // The test for recursive typedef declaration involving multiple typedefs.
 
 typedef Foo<T> = void Function(Bar<T>);
diff --git a/pkg/front_end/testcases/general/three_typedefs_loop.dart.textual_outline.expect b/pkg/front_end/testcases/general/three_typedefs_loop.dart.textual_outline.expect
index 0e6af39..37b7fd2 100644
--- a/pkg/front_end/testcases/general/three_typedefs_loop.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/three_typedefs_loop.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef Foo<T> = void Function(Bar<T>);
 typedef Bar<T> = void Function(Baz<T>);
 typedef Baz<T> = void Function(Foo<T>);
diff --git a/pkg/front_end/testcases/general/three_typedefs_loop.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/three_typedefs_loop.dart.textual_outline_modelled.expect
index d241b1c..3164897 100644
--- a/pkg/front_end/testcases/general/three_typedefs_loop.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/three_typedefs_loop.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 typedef Bar<T> = void Function(Baz<T>);
 typedef Baz<T> = void Function(Foo<T>);
diff --git a/pkg/front_end/testcases/general/three_typedefs_loop.dart.strong.expect b/pkg/front_end/testcases/general/three_typedefs_loop.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/three_typedefs_loop.dart.strong.expect
rename to pkg/front_end/testcases/general/three_typedefs_loop.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/three_typedefs_loop.dart.outline.expect b/pkg/front_end/testcases/general/three_typedefs_loop.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/three_typedefs_loop.dart.outline.expect
rename to pkg/front_end/testcases/general/three_typedefs_loop.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/three_typedefs_loop.dart.strong.transformed.expect b/pkg/front_end/testcases/general/three_typedefs_loop.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/three_typedefs_loop.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/three_typedefs_loop.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/top_level_accessors.dart b/pkg/front_end/testcases/general/top_level_accessors.dart
index a0dbc51..dc770bb 100644
--- a/pkg/front_end/testcases/general/top_level_accessors.dart
+++ b/pkg/front_end/testcases/general/top_level_accessors.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 library top_level_accessors;
 
 part 'top_level_accessors_part.dart';
diff --git a/pkg/front_end/testcases/general/top_level_accessors.dart.textual_outline.expect b/pkg/front_end/testcases/general/top_level_accessors.dart.textual_outline.expect
index 184dba8..679edd0 100644
--- a/pkg/front_end/testcases/general/top_level_accessors.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/top_level_accessors.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library top_level_accessors;
 
 part 'top_level_accessors_part.dart';
diff --git a/pkg/front_end/testcases/general/top_level_accessors.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/top_level_accessors.dart.textual_outline_modelled.expect
index 184dba8..679edd0 100644
--- a/pkg/front_end/testcases/general/top_level_accessors.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/top_level_accessors.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library top_level_accessors;
 
 part 'top_level_accessors_part.dart';
diff --git a/pkg/front_end/testcases/general/top_level_accessors.dart.strong.expect b/pkg/front_end/testcases/general/top_level_accessors.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/top_level_accessors.dart.strong.expect
rename to pkg/front_end/testcases/general/top_level_accessors.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/top_level_accessors.dart.outline.expect b/pkg/front_end/testcases/general/top_level_accessors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/top_level_accessors.dart.outline.expect
rename to pkg/front_end/testcases/general/top_level_accessors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/top_level_accessors.dart.strong.transformed.expect b/pkg/front_end/testcases/general/top_level_accessors.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/top_level_accessors.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/top_level_accessors.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/top_level_accessors_part.dart b/pkg/front_end/testcases/general/top_level_accessors_part.dart
index 6aeed08..e7d124c 100644
--- a/pkg/front_end/testcases/general/top_level_accessors_part.dart
+++ b/pkg/front_end/testcases/general/top_level_accessors_part.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 part of top_level_accessors;
 
 void set exitCode(int code) {
diff --git a/pkg/front_end/testcases/general/top_level_library_method.dart b/pkg/front_end/testcases/general/top_level_library_method.dart
index 65a7e03..0406aee 100644
--- a/pkg/front_end/testcases/general/top_level_library_method.dart
+++ b/pkg/front_end/testcases/general/top_level_library_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 library() {
   print("Hello, World!");
 }
diff --git a/pkg/front_end/testcases/general/top_level_library_method.dart.textual_outline.expect b/pkg/front_end/testcases/general/top_level_library_method.dart.textual_outline.expect
index e6ec156..6772869 100644
--- a/pkg/front_end/testcases/general/top_level_library_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/top_level_library_method.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 library() {}
 main() => library();
diff --git a/pkg/front_end/testcases/general/top_level_library_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/top_level_library_method.dart.textual_outline_modelled.expect
index e6ec156..6772869 100644
--- a/pkg/front_end/testcases/general/top_level_library_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/top_level_library_method.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 library() {}
 main() => library();
diff --git a/pkg/front_end/testcases/general/top_level_library_method.dart.strong.expect b/pkg/front_end/testcases/general/top_level_library_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/top_level_library_method.dart.strong.expect
rename to pkg/front_end/testcases/general/top_level_library_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/top_level_library_method.dart.outline.expect b/pkg/front_end/testcases/general/top_level_library_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/top_level_library_method.dart.outline.expect
rename to pkg/front_end/testcases/general/top_level_library_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/top_level_library_method.dart.strong.transformed.expect b/pkg/front_end/testcases/general/top_level_library_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/top_level_library_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/top_level_library_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart b/pkg/front_end/testcases/general/top_level_variance_test.dart
index ff36737..69a8f4d 100644
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart
+++ b/pkg/front_end/testcases/general/top_level_variance_test.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 // Testing that instantiate-to-bound and super-bounded types take the
 // variance of formal type parameters into account when a type alias is
 // used as a raw type.
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.hierarchy.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.legacy.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.legacy.expect
deleted file mode 100644
index 32ef6e6..0000000
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.legacy.expect
+++ /dev/null
@@ -1,105 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object = dynamic> = <Y extends X = dynamic>() → void;
-typedef Fcov<X extends core::Object = dynamic> = () → X;
-typedef Fcon<contravariant X extends core::Object = dynamic> = (X) → dynamic;
-typedef Finv<invariant X extends core::Object = dynamic> = (X) → X;
-typedef FcovBound<X extends core::num = dynamic> = () → X;
-typedef FconBound<contravariant X extends core::num = dynamic> = (X) → dynamic;
-typedef FinvBound<invariant X extends core::num = dynamic> = (X) → X;
-typedef FcovCyclicBound<X extends self::A<X> = dynamic> = () → X;
-typedef FconCyclicBound<contravariant X extends self::A<X> = dynamic> = (X) → dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X> = dynamic> = (X) → X;
-typedef FcovCyclicCoBound<X extends (X) → dynamic = dynamic> = () → X;
-typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = dynamic> = (X) → dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = dynamic> = (X) → X;
-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> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X>
-    : super core::Object::•()
-    ;
-}
-static method toF<X extends core::Object = dynamic>(self::toF::X x) → <Y extends self::toF::X = dynamic>() → void
-  return null;
-static method testTopLevel() → void {
-  () → dynamic source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends () → dynamic = dynamic>() → void target1 = fsource1;
-  (dynamic) → dynamic source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends (dynamic) → dynamic = dynamic>() → void target2 = fsource2;
-  (dynamic) → dynamic source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends (dynamic) → dynamic = dynamic>() → void target3 = fsource3;
-  () → dynamic source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends () → core::num = dynamic>() → void target4 = fsource4;
-  (dynamic) → dynamic source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends (core::num) → dynamic = dynamic>() → void target5 = fsource5;
-  (dynamic) → dynamic source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends (core::num) → core::num = dynamic>() → void target6 = fsource6;
-  () → dynamic source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends () → self::A<dynamic> = dynamic>() → void target7 = fsource7;
-  (dynamic) → dynamic source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends (self::A<core::Null>) → dynamic = dynamic>() → void target8 = fsource8;
-  (dynamic) → dynamic source9;
-  () → dynamic source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends () → (core::Null) → dynamic = dynamic>() → void target10 = fsource10;
-  (dynamic) → dynamic source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends ((dynamic) → dynamic) → dynamic = dynamic>() → void target11 = fsource11;
-  (dynamic) → dynamic source12;
-  dynamic fsource12 = self::toF<dynamic>(source12);
-  <Y extends ((dynamic) → dynamic) → (dynamic) → dynamic = dynamic>() → void target12 = fsource12;
-}
-static method testNested() → void {
-  self::B<() → dynamic> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::B<() → dynamic> = dynamic>() → void target1 = fsource1;
-  self::B<(dynamic) → dynamic> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::B<(dynamic) → dynamic> = dynamic>() → void target2 = fsource2;
-  self::B<(dynamic) → dynamic> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::B<(dynamic) → dynamic> = dynamic>() → void target3 = fsource3;
-  self::B<() → dynamic> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::B<() → core::num> = dynamic>() → void target4 = fsource4;
-  self::B<(dynamic) → dynamic> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::B<(core::num) → dynamic> = dynamic>() → void target5 = fsource5;
-  self::B<(dynamic) → dynamic> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::B<(core::num) → core::num> = dynamic>() → void target6 = fsource6;
-  self::B<() → dynamic> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::B<() → self::A<dynamic>> = dynamic>() → void target7 = fsource7;
-  self::B<(dynamic) → dynamic> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::B<(self::A<core::Null>) → dynamic> = dynamic>() → void target8 = fsource8;
-  self::B<(dynamic) → dynamic> source9;
-  self::B<() → dynamic> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::B<() → (core::Null) → dynamic> = dynamic>() → void target10 = fsource10;
-  self::B<(dynamic) → dynamic> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::B<((dynamic) → dynamic) → dynamic> = dynamic>() → void target11 = fsource11;
-  self::B<(dynamic) → dynamic> source12;
-  dynamic fsource12 = self::toF<dynamic>(source12);
-  <Y extends self::B<((dynamic) → dynamic) → (dynamic) → dynamic> = dynamic>() → void target12 = fsource12;
-}
-static method main() → dynamic {
-  self::testTopLevel();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.legacy.transformed.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.legacy.transformed.expect
deleted file mode 100644
index 32ef6e6..0000000
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,105 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object = dynamic> = <Y extends X = dynamic>() → void;
-typedef Fcov<X extends core::Object = dynamic> = () → X;
-typedef Fcon<contravariant X extends core::Object = dynamic> = (X) → dynamic;
-typedef Finv<invariant X extends core::Object = dynamic> = (X) → X;
-typedef FcovBound<X extends core::num = dynamic> = () → X;
-typedef FconBound<contravariant X extends core::num = dynamic> = (X) → dynamic;
-typedef FinvBound<invariant X extends core::num = dynamic> = (X) → X;
-typedef FcovCyclicBound<X extends self::A<X> = dynamic> = () → X;
-typedef FconCyclicBound<contravariant X extends self::A<X> = dynamic> = (X) → dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X> = dynamic> = (X) → X;
-typedef FcovCyclicCoBound<X extends (X) → dynamic = dynamic> = () → X;
-typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = dynamic> = (X) → dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = dynamic> = (X) → X;
-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> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X>
-    : super core::Object::•()
-    ;
-}
-static method toF<X extends core::Object = dynamic>(self::toF::X x) → <Y extends self::toF::X = dynamic>() → void
-  return null;
-static method testTopLevel() → void {
-  () → dynamic source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends () → dynamic = dynamic>() → void target1 = fsource1;
-  (dynamic) → dynamic source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends (dynamic) → dynamic = dynamic>() → void target2 = fsource2;
-  (dynamic) → dynamic source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends (dynamic) → dynamic = dynamic>() → void target3 = fsource3;
-  () → dynamic source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends () → core::num = dynamic>() → void target4 = fsource4;
-  (dynamic) → dynamic source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends (core::num) → dynamic = dynamic>() → void target5 = fsource5;
-  (dynamic) → dynamic source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends (core::num) → core::num = dynamic>() → void target6 = fsource6;
-  () → dynamic source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends () → self::A<dynamic> = dynamic>() → void target7 = fsource7;
-  (dynamic) → dynamic source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends (self::A<core::Null>) → dynamic = dynamic>() → void target8 = fsource8;
-  (dynamic) → dynamic source9;
-  () → dynamic source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends () → (core::Null) → dynamic = dynamic>() → void target10 = fsource10;
-  (dynamic) → dynamic source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends ((dynamic) → dynamic) → dynamic = dynamic>() → void target11 = fsource11;
-  (dynamic) → dynamic source12;
-  dynamic fsource12 = self::toF<dynamic>(source12);
-  <Y extends ((dynamic) → dynamic) → (dynamic) → dynamic = dynamic>() → void target12 = fsource12;
-}
-static method testNested() → void {
-  self::B<() → dynamic> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::B<() → dynamic> = dynamic>() → void target1 = fsource1;
-  self::B<(dynamic) → dynamic> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::B<(dynamic) → dynamic> = dynamic>() → void target2 = fsource2;
-  self::B<(dynamic) → dynamic> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::B<(dynamic) → dynamic> = dynamic>() → void target3 = fsource3;
-  self::B<() → dynamic> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::B<() → core::num> = dynamic>() → void target4 = fsource4;
-  self::B<(dynamic) → dynamic> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::B<(core::num) → dynamic> = dynamic>() → void target5 = fsource5;
-  self::B<(dynamic) → dynamic> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::B<(core::num) → core::num> = dynamic>() → void target6 = fsource6;
-  self::B<() → dynamic> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::B<() → self::A<dynamic>> = dynamic>() → void target7 = fsource7;
-  self::B<(dynamic) → dynamic> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::B<(self::A<core::Null>) → dynamic> = dynamic>() → void target8 = fsource8;
-  self::B<(dynamic) → dynamic> source9;
-  self::B<() → dynamic> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::B<() → (core::Null) → dynamic> = dynamic>() → void target10 = fsource10;
-  self::B<(dynamic) → dynamic> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::B<((dynamic) → dynamic) → dynamic> = dynamic>() → void target11 = fsource11;
-  self::B<(dynamic) → dynamic> source12;
-  dynamic fsource12 = self::toF<dynamic>(source12);
-  <Y extends self::B<((dynamic) → dynamic) → (dynamic) → dynamic> = dynamic>() → void target12 = fsource12;
-}
-static method main() → dynamic {
-  self::testTopLevel();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.strong.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.strong.expect
deleted file mode 100644
index b21e661..0000000
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.strong.expect
+++ /dev/null
@@ -1,125 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object* = dynamic> = <Y extends X* = dynamic>() →* void;
-typedef Fcov<X extends core::Object* = dynamic> = () →* X*;
-typedef Fcon<contravariant X extends core::Object* = dynamic> = (X*) →* dynamic;
-typedef Finv<invariant X extends core::Object* = dynamic> = (X*) →* X*;
-typedef FcovBound<X extends core::num* = core::num*> = () →* X*;
-typedef FconBound<contravariant X extends core::num* = core::num*> = (X*) →* dynamic;
-typedef FinvBound<invariant X extends core::num* = core::num*> = (X*) →* X*;
-typedef FcovCyclicBound<X extends self::A<X*>* = self::A<dynamic>*> = () →* X*;
-typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<Null>*> = (X*) →* dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X*>* = self::A<dynamic>*> = (X*) →* X*;
-typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (Null) →* dynamic> = () →* X*;
-typedef FconCyclicCoBound<contravariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* X*;
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method toF<X extends core::Object* = dynamic>(self::toF::X* x) → <Y extends self::toF::X* = dynamic>() →* void
-  return null;
-static method testTopLevel() → void {
-  () →* dynamic source1;
-  <Y extends () →* dynamic = dynamic>() →* void fsource1 = self::toF<() →* dynamic>(source1);
-  <Y extends () →* dynamic = dynamic>() →* void target1 = fsource1;
-  (dynamic) →* dynamic source2;
-  <Y extends (dynamic) →* dynamic = dynamic>() →* void fsource2 = self::toF<(dynamic) →* dynamic>(source2);
-  <Y extends (dynamic) →* dynamic = dynamic>() →* void target2 = fsource2;
-  (dynamic) →* dynamic source3;
-  <Y extends (dynamic) →* dynamic = dynamic>() →* void fsource3 = self::toF<(dynamic) →* dynamic>(source3);
-  <Y extends (dynamic) →* dynamic = dynamic>() →* void target3 = fsource3;
-  () →* core::num* source4;
-  <Y extends () →* core::num* = dynamic>() →* void fsource4 = self::toF<() →* core::num*>(source4);
-  <Y extends () →* core::num* = dynamic>() →* void target4 = fsource4;
-  (core::num*) →* dynamic source5;
-  <Y extends (core::num*) →* dynamic = dynamic>() →* void fsource5 = self::toF<(core::num*) →* dynamic>(source5);
-  <Y extends (core::num*) →* dynamic = dynamic>() →* void target5 = fsource5;
-  (core::num*) →* core::num* source6;
-  <Y extends (core::num*) →* core::num* = dynamic>() →* void fsource6 = self::toF<(core::num*) →* core::num*>(source6);
-  <Y extends (core::num*) →* core::num* = dynamic>() →* void target6 = fsource6;
-  () →* self::A<dynamic>* source7;
-  <Y extends () →* self::A<dynamic>* = dynamic>() →* void fsource7 = self::toF<() →* self::A<dynamic>*>(source7);
-  <Y extends () →* self::A<dynamic>* = dynamic>() →* void target7 = fsource7;
-  (self::A<Null>*) →* dynamic source8;
-  <Y extends (self::A<Null>*) →* dynamic = dynamic>() →* void fsource8 = self::toF<(self::A<Null>*) →* dynamic>(source8);
-  <Y extends (self::A<Null>*) →* dynamic = dynamic>() →* void target8 = fsource8;
-  (self::A<dynamic>*) →* self::A<dynamic>* source9;
-  () →* (Null) →* dynamic source10;
-  <Y extends () →* (Null) →* dynamic = dynamic>() →* void fsource10 = self::toF<() →* (Null) →* dynamic>(source10);
-  <Y extends () →* (Null) →* dynamic = dynamic>() →* void target10 = fsource10;
-  ((dynamic) →* dynamic) →* dynamic source11;
-  <Y extends ((dynamic) →* dynamic) →* dynamic = dynamic>() →* void fsource11 = self::toF<((dynamic) →* dynamic) →* dynamic>(source11);
-  <Y extends ((dynamic) →* dynamic) →* dynamic = dynamic>() →* void target11 = fsource11;
-  ((dynamic) →* dynamic) →* (dynamic) →* dynamic source12;
-  <Y extends ((dynamic) →* dynamic) →* (dynamic) →* dynamic = dynamic>() →* void fsource12 = self::toF<((dynamic) →* dynamic) →* (dynamic) →* dynamic>(source12);
-  <Y extends ((dynamic) →* dynamic) →* (dynamic) →* dynamic = dynamic>() →* void target12 = fsource12;
-}
-static method testNested() → void {
-  self::B<() →* dynamic>* source1;
-  <Y extends self::B<() →* dynamic>* = dynamic>() →* void fsource1 = self::toF<self::B<() →* dynamic>*>(source1);
-  <Y extends self::B<() →* dynamic>* = dynamic>() →* void target1 = fsource1;
-  self::B<(dynamic) →* dynamic>* source2;
-  <Y extends self::B<(dynamic) →* dynamic>* = dynamic>() →* void fsource2 = self::toF<self::B<(dynamic) →* dynamic>*>(source2);
-  <Y extends self::B<(dynamic) →* dynamic>* = dynamic>() →* void target2 = fsource2;
-  self::B<(dynamic) →* dynamic>* source3;
-  <Y extends self::B<(dynamic) →* dynamic>* = dynamic>() →* void fsource3 = self::toF<self::B<(dynamic) →* dynamic>*>(source3);
-  <Y extends self::B<(dynamic) →* dynamic>* = dynamic>() →* void target3 = fsource3;
-  self::B<() →* core::num*>* source4;
-  <Y extends self::B<() →* core::num*>* = dynamic>() →* void fsource4 = self::toF<self::B<() →* core::num*>*>(source4);
-  <Y extends self::B<() →* core::num*>* = dynamic>() →* void target4 = fsource4;
-  self::B<(core::num*) →* dynamic>* source5;
-  <Y extends self::B<(core::num*) →* dynamic>* = dynamic>() →* void fsource5 = self::toF<self::B<(core::num*) →* dynamic>*>(source5);
-  <Y extends self::B<(core::num*) →* dynamic>* = dynamic>() →* void target5 = fsource5;
-  self::B<(core::num*) →* core::num*>* source6;
-  <Y extends self::B<(core::num*) →* core::num*>* = dynamic>() →* void fsource6 = self::toF<self::B<(core::num*) →* core::num*>*>(source6);
-  <Y extends self::B<(core::num*) →* core::num*>* = dynamic>() →* void target6 = fsource6;
-  self::B<() →* self::A<dynamic>*>* source7;
-  <Y extends self::B<() →* self::A<dynamic>*>* = dynamic>() →* void fsource7 = self::toF<self::B<() →* self::A<dynamic>*>*>(source7);
-  <Y extends self::B<() →* self::A<dynamic>*>* = dynamic>() →* void target7 = fsource7;
-  self::B<(self::A<Null>*) →* dynamic>* source8;
-  <Y extends self::B<(self::A<Null>*) →* dynamic>* = dynamic>() →* void fsource8 = self::toF<self::B<(self::A<Null>*) →* dynamic>*>(source8);
-  <Y extends self::B<(self::A<Null>*) →* dynamic>* = dynamic>() →* void target8 = fsource8;
-  self::B<(self::A<dynamic>*) →* self::A<dynamic>*>* source9;
-  self::B<() →* (Null) →* dynamic>* source10;
-  <Y extends self::B<() →* (Null) →* dynamic>* = dynamic>() →* void fsource10 = self::toF<self::B<() →* (Null) →* dynamic>*>(source10);
-  <Y extends self::B<() →* (Null) →* dynamic>* = dynamic>() →* void target10 = fsource10;
-  self::B<((dynamic) →* dynamic) →* dynamic>* source11;
-  <Y extends self::B<((dynamic) →* dynamic) →* dynamic>* = dynamic>() →* void fsource11 = self::toF<self::B<((dynamic) →* dynamic) →* dynamic>*>(source11);
-  <Y extends self::B<((dynamic) →* dynamic) →* dynamic>* = dynamic>() →* void target11 = fsource11;
-  self::B<((dynamic) →* dynamic) →* (dynamic) →* dynamic>* source12;
-  <Y extends self::B<((dynamic) →* dynamic) →* (dynamic) →* dynamic>* = dynamic>() →* void fsource12 = self::toF<self::B<((dynamic) →* dynamic) →* (dynamic) →* dynamic>*>(source12);
-  <Y extends self::B<((dynamic) →* dynamic) →* (dynamic) →* dynamic>* = dynamic>() →* void target12 = fsource12;
-}
-static method main() → dynamic {
-  self::testTopLevel();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.strong.transformed.expect
deleted file mode 100644
index b21e661..0000000
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,125 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object* = dynamic> = <Y extends X* = dynamic>() →* void;
-typedef Fcov<X extends core::Object* = dynamic> = () →* X*;
-typedef Fcon<contravariant X extends core::Object* = dynamic> = (X*) →* dynamic;
-typedef Finv<invariant X extends core::Object* = dynamic> = (X*) →* X*;
-typedef FcovBound<X extends core::num* = core::num*> = () →* X*;
-typedef FconBound<contravariant X extends core::num* = core::num*> = (X*) →* dynamic;
-typedef FinvBound<invariant X extends core::num* = core::num*> = (X*) →* X*;
-typedef FcovCyclicBound<X extends self::A<X*>* = self::A<dynamic>*> = () →* X*;
-typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<Null>*> = (X*) →* dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X*>* = self::A<dynamic>*> = (X*) →* X*;
-typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (Null) →* dynamic> = () →* X*;
-typedef FconCyclicCoBound<contravariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* X*;
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method toF<X extends core::Object* = dynamic>(self::toF::X* x) → <Y extends self::toF::X* = dynamic>() →* void
-  return null;
-static method testTopLevel() → void {
-  () →* dynamic source1;
-  <Y extends () →* dynamic = dynamic>() →* void fsource1 = self::toF<() →* dynamic>(source1);
-  <Y extends () →* dynamic = dynamic>() →* void target1 = fsource1;
-  (dynamic) →* dynamic source2;
-  <Y extends (dynamic) →* dynamic = dynamic>() →* void fsource2 = self::toF<(dynamic) →* dynamic>(source2);
-  <Y extends (dynamic) →* dynamic = dynamic>() →* void target2 = fsource2;
-  (dynamic) →* dynamic source3;
-  <Y extends (dynamic) →* dynamic = dynamic>() →* void fsource3 = self::toF<(dynamic) →* dynamic>(source3);
-  <Y extends (dynamic) →* dynamic = dynamic>() →* void target3 = fsource3;
-  () →* core::num* source4;
-  <Y extends () →* core::num* = dynamic>() →* void fsource4 = self::toF<() →* core::num*>(source4);
-  <Y extends () →* core::num* = dynamic>() →* void target4 = fsource4;
-  (core::num*) →* dynamic source5;
-  <Y extends (core::num*) →* dynamic = dynamic>() →* void fsource5 = self::toF<(core::num*) →* dynamic>(source5);
-  <Y extends (core::num*) →* dynamic = dynamic>() →* void target5 = fsource5;
-  (core::num*) →* core::num* source6;
-  <Y extends (core::num*) →* core::num* = dynamic>() →* void fsource6 = self::toF<(core::num*) →* core::num*>(source6);
-  <Y extends (core::num*) →* core::num* = dynamic>() →* void target6 = fsource6;
-  () →* self::A<dynamic>* source7;
-  <Y extends () →* self::A<dynamic>* = dynamic>() →* void fsource7 = self::toF<() →* self::A<dynamic>*>(source7);
-  <Y extends () →* self::A<dynamic>* = dynamic>() →* void target7 = fsource7;
-  (self::A<Null>*) →* dynamic source8;
-  <Y extends (self::A<Null>*) →* dynamic = dynamic>() →* void fsource8 = self::toF<(self::A<Null>*) →* dynamic>(source8);
-  <Y extends (self::A<Null>*) →* dynamic = dynamic>() →* void target8 = fsource8;
-  (self::A<dynamic>*) →* self::A<dynamic>* source9;
-  () →* (Null) →* dynamic source10;
-  <Y extends () →* (Null) →* dynamic = dynamic>() →* void fsource10 = self::toF<() →* (Null) →* dynamic>(source10);
-  <Y extends () →* (Null) →* dynamic = dynamic>() →* void target10 = fsource10;
-  ((dynamic) →* dynamic) →* dynamic source11;
-  <Y extends ((dynamic) →* dynamic) →* dynamic = dynamic>() →* void fsource11 = self::toF<((dynamic) →* dynamic) →* dynamic>(source11);
-  <Y extends ((dynamic) →* dynamic) →* dynamic = dynamic>() →* void target11 = fsource11;
-  ((dynamic) →* dynamic) →* (dynamic) →* dynamic source12;
-  <Y extends ((dynamic) →* dynamic) →* (dynamic) →* dynamic = dynamic>() →* void fsource12 = self::toF<((dynamic) →* dynamic) →* (dynamic) →* dynamic>(source12);
-  <Y extends ((dynamic) →* dynamic) →* (dynamic) →* dynamic = dynamic>() →* void target12 = fsource12;
-}
-static method testNested() → void {
-  self::B<() →* dynamic>* source1;
-  <Y extends self::B<() →* dynamic>* = dynamic>() →* void fsource1 = self::toF<self::B<() →* dynamic>*>(source1);
-  <Y extends self::B<() →* dynamic>* = dynamic>() →* void target1 = fsource1;
-  self::B<(dynamic) →* dynamic>* source2;
-  <Y extends self::B<(dynamic) →* dynamic>* = dynamic>() →* void fsource2 = self::toF<self::B<(dynamic) →* dynamic>*>(source2);
-  <Y extends self::B<(dynamic) →* dynamic>* = dynamic>() →* void target2 = fsource2;
-  self::B<(dynamic) →* dynamic>* source3;
-  <Y extends self::B<(dynamic) →* dynamic>* = dynamic>() →* void fsource3 = self::toF<self::B<(dynamic) →* dynamic>*>(source3);
-  <Y extends self::B<(dynamic) →* dynamic>* = dynamic>() →* void target3 = fsource3;
-  self::B<() →* core::num*>* source4;
-  <Y extends self::B<() →* core::num*>* = dynamic>() →* void fsource4 = self::toF<self::B<() →* core::num*>*>(source4);
-  <Y extends self::B<() →* core::num*>* = dynamic>() →* void target4 = fsource4;
-  self::B<(core::num*) →* dynamic>* source5;
-  <Y extends self::B<(core::num*) →* dynamic>* = dynamic>() →* void fsource5 = self::toF<self::B<(core::num*) →* dynamic>*>(source5);
-  <Y extends self::B<(core::num*) →* dynamic>* = dynamic>() →* void target5 = fsource5;
-  self::B<(core::num*) →* core::num*>* source6;
-  <Y extends self::B<(core::num*) →* core::num*>* = dynamic>() →* void fsource6 = self::toF<self::B<(core::num*) →* core::num*>*>(source6);
-  <Y extends self::B<(core::num*) →* core::num*>* = dynamic>() →* void target6 = fsource6;
-  self::B<() →* self::A<dynamic>*>* source7;
-  <Y extends self::B<() →* self::A<dynamic>*>* = dynamic>() →* void fsource7 = self::toF<self::B<() →* self::A<dynamic>*>*>(source7);
-  <Y extends self::B<() →* self::A<dynamic>*>* = dynamic>() →* void target7 = fsource7;
-  self::B<(self::A<Null>*) →* dynamic>* source8;
-  <Y extends self::B<(self::A<Null>*) →* dynamic>* = dynamic>() →* void fsource8 = self::toF<self::B<(self::A<Null>*) →* dynamic>*>(source8);
-  <Y extends self::B<(self::A<Null>*) →* dynamic>* = dynamic>() →* void target8 = fsource8;
-  self::B<(self::A<dynamic>*) →* self::A<dynamic>*>* source9;
-  self::B<() →* (Null) →* dynamic>* source10;
-  <Y extends self::B<() →* (Null) →* dynamic>* = dynamic>() →* void fsource10 = self::toF<self::B<() →* (Null) →* dynamic>*>(source10);
-  <Y extends self::B<() →* (Null) →* dynamic>* = dynamic>() →* void target10 = fsource10;
-  self::B<((dynamic) →* dynamic) →* dynamic>* source11;
-  <Y extends self::B<((dynamic) →* dynamic) →* dynamic>* = dynamic>() →* void fsource11 = self::toF<self::B<((dynamic) →* dynamic) →* dynamic>*>(source11);
-  <Y extends self::B<((dynamic) →* dynamic) →* dynamic>* = dynamic>() →* void target11 = fsource11;
-  self::B<((dynamic) →* dynamic) →* (dynamic) →* dynamic>* source12;
-  <Y extends self::B<((dynamic) →* dynamic) →* (dynamic) →* dynamic>* = dynamic>() →* void fsource12 = self::toF<self::B<((dynamic) →* dynamic) →* (dynamic) →* dynamic>*>(source12);
-  <Y extends self::B<((dynamic) →* dynamic) →* (dynamic) →* dynamic>* = dynamic>() →* void target12 = fsource12;
-}
-static method main() → dynamic {
-  self::testTopLevel();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.textual_outline.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.textual_outline.expect
index 7636a6d..992faa8 100644
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/top_level_variance_test.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef F<X> = void Function<Y extends X>();
 F<X> toF<X>(X x) => null;
 typedef Fcov<X> = X Function();
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.textual_outline_modelled.expect
index d694da5..7467a1f 100644
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/top_level_variance_test.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 F<X> toF<X>(X x) => null;
 
 class A<X> {}
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.expect
index 9e640df..b21e661 100644
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.expect
+++ b/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.expect
@@ -10,9 +10,9 @@
 typedef FconBound<contravariant X extends core::num* = core::num*> = (X*) →* dynamic;
 typedef FinvBound<invariant X extends core::num* = core::num*> = (X*) →* X*;
 typedef FcovCyclicBound<X extends self::A<X*>* = self::A<dynamic>*> = () →* X*;
-typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<core::Null?>*> = (X*) →* dynamic;
+typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<Null>*> = (X*) →* dynamic;
 typedef FinvCyclicBound<invariant X extends self::A<X*>* = self::A<dynamic>*> = (X*) →* X*;
-typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (core::Null?) →* dynamic> = () →* X*;
+typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (Null) →* dynamic> = () →* X*;
 typedef FconCyclicCoBound<contravariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* dynamic;
 typedef FinvCyclicCoBound<invariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* X*;
 class A<X extends core::Object* = dynamic> extends core::Object {
@@ -69,13 +69,13 @@
   () →* self::A<dynamic>* source7;
   <Y extends () →* self::A<dynamic>* = dynamic>() →* void fsource7 = self::toF<() →* self::A<dynamic>*>(source7);
   <Y extends () →* self::A<dynamic>* = dynamic>() →* void target7 = fsource7;
-  (self::A<core::Null?>*) →* dynamic source8;
-  <Y extends (self::A<core::Null?>*) →* dynamic = dynamic>() →* void fsource8 = self::toF<(self::A<core::Null?>*) →* dynamic>(source8);
-  <Y extends (self::A<core::Null?>*) →* dynamic = dynamic>() →* void target8 = fsource8;
+  (self::A<Null>*) →* dynamic source8;
+  <Y extends (self::A<Null>*) →* dynamic = dynamic>() →* void fsource8 = self::toF<(self::A<Null>*) →* dynamic>(source8);
+  <Y extends (self::A<Null>*) →* dynamic = dynamic>() →* void target8 = fsource8;
   (self::A<dynamic>*) →* self::A<dynamic>* source9;
-  () →* (core::Null?) →* dynamic source10;
-  <Y extends () →* (core::Null?) →* dynamic = dynamic>() →* void fsource10 = self::toF<() →* (core::Null?) →* dynamic>(source10);
-  <Y extends () →* (core::Null?) →* dynamic = dynamic>() →* void target10 = fsource10;
+  () →* (Null) →* dynamic source10;
+  <Y extends () →* (Null) →* dynamic = dynamic>() →* void fsource10 = self::toF<() →* (Null) →* dynamic>(source10);
+  <Y extends () →* (Null) →* dynamic = dynamic>() →* void target10 = fsource10;
   ((dynamic) →* dynamic) →* dynamic source11;
   <Y extends ((dynamic) →* dynamic) →* dynamic = dynamic>() →* void fsource11 = self::toF<((dynamic) →* dynamic) →* dynamic>(source11);
   <Y extends ((dynamic) →* dynamic) →* dynamic = dynamic>() →* void target11 = fsource11;
@@ -105,13 +105,13 @@
   self::B<() →* self::A<dynamic>*>* source7;
   <Y extends self::B<() →* self::A<dynamic>*>* = dynamic>() →* void fsource7 = self::toF<self::B<() →* self::A<dynamic>*>*>(source7);
   <Y extends self::B<() →* self::A<dynamic>*>* = dynamic>() →* void target7 = fsource7;
-  self::B<(self::A<core::Null?>*) →* dynamic>* source8;
-  <Y extends self::B<(self::A<core::Null?>*) →* dynamic>* = dynamic>() →* void fsource8 = self::toF<self::B<(self::A<core::Null?>*) →* dynamic>*>(source8);
-  <Y extends self::B<(self::A<core::Null?>*) →* dynamic>* = dynamic>() →* void target8 = fsource8;
+  self::B<(self::A<Null>*) →* dynamic>* source8;
+  <Y extends self::B<(self::A<Null>*) →* dynamic>* = dynamic>() →* void fsource8 = self::toF<self::B<(self::A<Null>*) →* dynamic>*>(source8);
+  <Y extends self::B<(self::A<Null>*) →* dynamic>* = dynamic>() →* void target8 = fsource8;
   self::B<(self::A<dynamic>*) →* self::A<dynamic>*>* source9;
-  self::B<() →* (core::Null?) →* dynamic>* source10;
-  <Y extends self::B<() →* (core::Null?) →* dynamic>* = dynamic>() →* void fsource10 = self::toF<self::B<() →* (core::Null?) →* dynamic>*>(source10);
-  <Y extends self::B<() →* (core::Null?) →* dynamic>* = dynamic>() →* void target10 = fsource10;
+  self::B<() →* (Null) →* dynamic>* source10;
+  <Y extends self::B<() →* (Null) →* dynamic>* = dynamic>() →* void fsource10 = self::toF<self::B<() →* (Null) →* dynamic>*>(source10);
+  <Y extends self::B<() →* (Null) →* dynamic>* = dynamic>() →* void target10 = fsource10;
   self::B<((dynamic) →* dynamic) →* dynamic>* source11;
   <Y extends self::B<((dynamic) →* dynamic) →* dynamic>* = dynamic>() →* void fsource11 = self::toF<self::B<((dynamic) →* dynamic) →* dynamic>*>(source11);
   <Y extends self::B<((dynamic) →* dynamic) →* dynamic>* = dynamic>() →* void target11 = fsource11;
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.outline.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/top_level_variance_test.dart.outline.expect
rename to pkg/front_end/testcases/general/top_level_variance_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.transformed.expect b/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.transformed.expect
index 9e640df..b21e661 100644
--- a/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/top_level_variance_test.dart.weak.transformed.expect
@@ -10,9 +10,9 @@
 typedef FconBound<contravariant X extends core::num* = core::num*> = (X*) →* dynamic;
 typedef FinvBound<invariant X extends core::num* = core::num*> = (X*) →* X*;
 typedef FcovCyclicBound<X extends self::A<X*>* = self::A<dynamic>*> = () →* X*;
-typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<core::Null?>*> = (X*) →* dynamic;
+typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<Null>*> = (X*) →* dynamic;
 typedef FinvCyclicBound<invariant X extends self::A<X*>* = self::A<dynamic>*> = (X*) →* X*;
-typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (core::Null?) →* dynamic> = () →* X*;
+typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (Null) →* dynamic> = () →* X*;
 typedef FconCyclicCoBound<contravariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* dynamic;
 typedef FinvCyclicCoBound<invariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* X*;
 class A<X extends core::Object* = dynamic> extends core::Object {
@@ -69,13 +69,13 @@
   () →* self::A<dynamic>* source7;
   <Y extends () →* self::A<dynamic>* = dynamic>() →* void fsource7 = self::toF<() →* self::A<dynamic>*>(source7);
   <Y extends () →* self::A<dynamic>* = dynamic>() →* void target7 = fsource7;
-  (self::A<core::Null?>*) →* dynamic source8;
-  <Y extends (self::A<core::Null?>*) →* dynamic = dynamic>() →* void fsource8 = self::toF<(self::A<core::Null?>*) →* dynamic>(source8);
-  <Y extends (self::A<core::Null?>*) →* dynamic = dynamic>() →* void target8 = fsource8;
+  (self::A<Null>*) →* dynamic source8;
+  <Y extends (self::A<Null>*) →* dynamic = dynamic>() →* void fsource8 = self::toF<(self::A<Null>*) →* dynamic>(source8);
+  <Y extends (self::A<Null>*) →* dynamic = dynamic>() →* void target8 = fsource8;
   (self::A<dynamic>*) →* self::A<dynamic>* source9;
-  () →* (core::Null?) →* dynamic source10;
-  <Y extends () →* (core::Null?) →* dynamic = dynamic>() →* void fsource10 = self::toF<() →* (core::Null?) →* dynamic>(source10);
-  <Y extends () →* (core::Null?) →* dynamic = dynamic>() →* void target10 = fsource10;
+  () →* (Null) →* dynamic source10;
+  <Y extends () →* (Null) →* dynamic = dynamic>() →* void fsource10 = self::toF<() →* (Null) →* dynamic>(source10);
+  <Y extends () →* (Null) →* dynamic = dynamic>() →* void target10 = fsource10;
   ((dynamic) →* dynamic) →* dynamic source11;
   <Y extends ((dynamic) →* dynamic) →* dynamic = dynamic>() →* void fsource11 = self::toF<((dynamic) →* dynamic) →* dynamic>(source11);
   <Y extends ((dynamic) →* dynamic) →* dynamic = dynamic>() →* void target11 = fsource11;
@@ -105,13 +105,13 @@
   self::B<() →* self::A<dynamic>*>* source7;
   <Y extends self::B<() →* self::A<dynamic>*>* = dynamic>() →* void fsource7 = self::toF<self::B<() →* self::A<dynamic>*>*>(source7);
   <Y extends self::B<() →* self::A<dynamic>*>* = dynamic>() →* void target7 = fsource7;
-  self::B<(self::A<core::Null?>*) →* dynamic>* source8;
-  <Y extends self::B<(self::A<core::Null?>*) →* dynamic>* = dynamic>() →* void fsource8 = self::toF<self::B<(self::A<core::Null?>*) →* dynamic>*>(source8);
-  <Y extends self::B<(self::A<core::Null?>*) →* dynamic>* = dynamic>() →* void target8 = fsource8;
+  self::B<(self::A<Null>*) →* dynamic>* source8;
+  <Y extends self::B<(self::A<Null>*) →* dynamic>* = dynamic>() →* void fsource8 = self::toF<self::B<(self::A<Null>*) →* dynamic>*>(source8);
+  <Y extends self::B<(self::A<Null>*) →* dynamic>* = dynamic>() →* void target8 = fsource8;
   self::B<(self::A<dynamic>*) →* self::A<dynamic>*>* source9;
-  self::B<() →* (core::Null?) →* dynamic>* source10;
-  <Y extends self::B<() →* (core::Null?) →* dynamic>* = dynamic>() →* void fsource10 = self::toF<self::B<() →* (core::Null?) →* dynamic>*>(source10);
-  <Y extends self::B<() →* (core::Null?) →* dynamic>* = dynamic>() →* void target10 = fsource10;
+  self::B<() →* (Null) →* dynamic>* source10;
+  <Y extends self::B<() →* (Null) →* dynamic>* = dynamic>() →* void fsource10 = self::toF<self::B<() →* (Null) →* dynamic>*>(source10);
+  <Y extends self::B<() →* (Null) →* dynamic>* = dynamic>() →* void target10 = fsource10;
   self::B<((dynamic) →* dynamic) →* dynamic>* source11;
   <Y extends self::B<((dynamic) →* dynamic) →* dynamic>* = dynamic>() →* void fsource11 = self::toF<self::B<((dynamic) →* dynamic) →* dynamic>*>(source11);
   <Y extends self::B<((dynamic) →* dynamic) →* dynamic>* = dynamic>() →* void target11 = fsource11;
diff --git a/pkg/front_end/testcases/general/type_literal_as_metadata.dart b/pkg/front_end/testcases/general/type_literal_as_metadata.dart
index 1eafeef..e1a7a9f 100644
--- a/pkg/front_end/testcases/general/type_literal_as_metadata.dart
+++ b/pkg/front_end/testcases/general/type_literal_as_metadata.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {
   const A();
 }
diff --git a/pkg/front_end/testcases/general/type_literal_as_metadata.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_literal_as_metadata.dart.textual_outline.expect
index 54f0474..0c2f948 100644
--- a/pkg/front_end/testcases/general/type_literal_as_metadata.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_literal_as_metadata.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A();
 }
diff --git a/pkg/front_end/testcases/general/type_literal_as_metadata.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_literal_as_metadata.dart.textual_outline_modelled.expect
index 54f0474..0c2f948 100644
--- a/pkg/front_end/testcases/general/type_literal_as_metadata.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_literal_as_metadata.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A();
 }
diff --git a/pkg/front_end/testcases/general/type_literal_as_metadata.dart.strong.expect b/pkg/front_end/testcases/general/type_literal_as_metadata.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_literal_as_metadata.dart.strong.expect
rename to pkg/front_end/testcases/general/type_literal_as_metadata.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_literal_as_metadata.dart.outline.expect b/pkg/front_end/testcases/general/type_literal_as_metadata.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_literal_as_metadata.dart.outline.expect
rename to pkg/front_end/testcases/general/type_literal_as_metadata.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_literal_as_metadata.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_literal_as_metadata.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_literal_as_metadata.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_literal_as_metadata.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/type_of_null.dart b/pkg/front_end/testcases/general/type_of_null.dart
index 9e0b34b..3bc25ea 100644
--- a/pkg/front_end/testcases/general/type_of_null.dart
+++ b/pkg/front_end/testcases/general/type_of_null.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 /*@testedFeatures=inference*/
 T map<T>(T Function() f1, T Function() f2) {}
 
diff --git a/pkg/front_end/testcases/general/type_of_null.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_of_null.dart.textual_outline.expect
index f8de85e..117df44 100644
--- a/pkg/front_end/testcases/general/type_of_null.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_of_null.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 T map<T>(T Function() f1, T Function() f2) {}
 id<T>(T t) => t;
 Null foo() => null;
diff --git a/pkg/front_end/testcases/general/type_of_null.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_of_null.dart.textual_outline_modelled.expect
index 28d7893..bfde047 100644
--- a/pkg/front_end/testcases/general/type_of_null.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_of_null.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 Null foo() => null;
 T map<T>(T Function() f1, T Function() f2) {}
 id<T>(T t) => t;
diff --git a/pkg/front_end/testcases/general/type_of_null.dart.strong.expect b/pkg/front_end/testcases/general/type_of_null.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_of_null.dart.strong.expect
rename to pkg/front_end/testcases/general/type_of_null.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_of_null.dart.outline.expect b/pkg/front_end/testcases/general/type_of_null.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_of_null.dart.outline.expect
rename to pkg/front_end/testcases/general/type_of_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_of_null.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_of_null.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_of_null.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_of_null.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart
index af96c11..8b645f8 100644
--- a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart
+++ b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 abstract class Foo<T> {
   List<T> get list;
   void setList<T>(List<T> value);
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.hierarchy.expect b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.hierarchy.expect
deleted file mode 100644
index e128e2e..0000000
--- a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.hierarchy.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.list
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.setList
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Foo<int>
-  classMembers:
-    Bar.list
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Bar.setList
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar.list
-  interfaceMembers:
-    Bar.list
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Bar.setList
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Bar.list
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.textual_outline.expect
index 84e0e68..16d1105 100644
--- a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Foo<T> {
   List<T> get list;
   void setList<T>(List<T> value);
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.textual_outline_modelled.expect
index 84e0e68..16d1105 100644
--- a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Foo<T> {
   List<T> get list;
   void setList<T>(List<T> value);
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.strong.expect b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_type_named_int.dart.strong.expect
rename to pkg/front_end/testcases/general/type_parameter_type_named_int.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.outline.expect b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_type_named_int.dart.outline.expect
rename to pkg/front_end/testcases/general/type_parameter_type_named_int.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_type_named_int.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_parameter_type_named_int.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart
index fa06830..b089e04 100644
--- a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart
+++ b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Foo<U> {
   static U foo1() { return null; }
   static List<U> foo1Prime() { return null; }
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.textual_outline.expect
index dab722e..a03a987 100644
--- a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<U> {
   static U foo1() {}
   static List<U> foo1Prime() {}
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.textual_outline_modelled.expect
index 531ae41..fdfccad 100644
--- a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo<U> {
   static List<U> Function() foo8Prime() {}
   static List<U> Function(List<U>) foo15Prime = null;
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.strong.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.strong.expect
rename to pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.outline.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.outline.expect
rename to pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_class.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart
index 043ac34..eaa9410 100644
--- a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart
+++ b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Foo<U> on List {
   static U foo1() { return null; }
   static List<U> foo1Prime() { return null; }
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.textual_outline.expect
index 35d1d71..1fd65fd 100644
--- a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Foo<U> on List {
   static U foo1() {}
   static List<U> foo1Prime() {}
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.textual_outline_modelled.expect
index 72cd4cf..c76c6e7 100644
--- a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 extension Foo<U> on List {
   static List<U> Function() foo8Prime() {}
   static List<U> Function(List<U>) foo15Prime = null;
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.strong.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.strong.expect
rename to pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.outline.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.outline.expect
rename to pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_parameter_usage_in_static_method_in_extension.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart
index c056d2b..1dbc620 100644
--- a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart
+++ b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart
@@ -1,3 +1,4 @@
+// @dart=2.9
 dynamic<int> f() {}
 main() {
   f();
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.outline.expect b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.outline.expect
deleted file mode 100644
index bf2c639..0000000
--- a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.outline.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_parameters_on_dynamic.dart:1:1: Error: Expected 0 type arguments.
-// dynamic<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.strong.expect b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.strong.expect
deleted file mode 100644
index 5e20cb1..0000000
--- a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.strong.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_parameters_on_dynamic.dart:1:1: Error: Expected 0 type arguments.
-// dynamic<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type {}
-static method main() → dynamic {
-  self::f();
-}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.strong.transformed.expect
deleted file mode 100644
index 5e20cb1..0000000
--- a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.strong.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_parameters_on_dynamic.dart:1:1: Error: Expected 0 type arguments.
-// dynamic<int> f() {}
-// ^
-//
-import self as self;
-
-static method f() → invalid-type {}
-static method main() → dynamic {
-  self::f();
-}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.textual_outline.expect
index e628591..769bfb1 100644
--- a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 dynamic<int> f() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.textual_outline_modelled.expect
index e628591..769bfb1 100644
--- a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 dynamic<int> f() {}
 main() {}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.expect b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.expect
new file mode 100644
index 0000000..bdb4a9f
--- /dev/null
+++ b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.expect
@@ -0,0 +1,14 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/type_parameters_on_dynamic.dart:2:1: Error: Expected 0 type arguments.
+// dynamic<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type {}
+static method main() → dynamic {
+  self::f();
+}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.outline.expect b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.outline.expect
new file mode 100644
index 0000000..2d32896
--- /dev/null
+++ b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.outline.expect
@@ -0,0 +1,14 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/type_parameters_on_dynamic.dart:2:1: Error: Expected 0 type arguments.
+// dynamic<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.transformed.expect b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.transformed.expect
new file mode 100644
index 0000000..bdb4a9f
--- /dev/null
+++ b/pkg/front_end/testcases/general/type_parameters_on_dynamic.dart.weak.transformed.expect
@@ -0,0 +1,14 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/type_parameters_on_dynamic.dart:2:1: Error: Expected 0 type arguments.
+// dynamic<int> f() {}
+// ^
+//
+import self as self;
+
+static method f() → invalid-type {}
+static method main() → dynamic {
+  self::f();
+}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_void.dart b/pkg/front_end/testcases/general/type_parameters_on_void.dart
index ad72c99..49f9028 100644
--- a/pkg/front_end/testcases/general/type_parameters_on_void.dart
+++ b/pkg/front_end/testcases/general/type_parameters_on_void.dart
@@ -1,5 +1,5 @@
 void<int> f() {}
-
+// @dart=2.9
 main() {
   f();
 }
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/type_parameters_on_void.dart.outline.expect b/pkg/front_end/testcases/general/type_parameters_on_void.dart.outline.expect
deleted file mode 100644
index 841412c..0000000
--- a/pkg/front_end/testcases/general/type_parameters_on_void.dart.outline.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_parameters_on_void.dart:1:5: Error: Type 'void' can't have type arguments.
-// Try removing the type arguments.
-// void<int> f() {}
-//     ^
-//
-import self as self;
-
-static method f() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/type_parameters_on_void.dart.strong.expect b/pkg/front_end/testcases/general/type_parameters_on_void.dart.strong.expect
deleted file mode 100644
index 0f39d1c..0000000
--- a/pkg/front_end/testcases/general/type_parameters_on_void.dart.strong.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_parameters_on_void.dart:1:5: Error: Type 'void' can't have type arguments.
-// Try removing the type arguments.
-// void<int> f() {}
-//     ^
-//
-import self as self;
-
-static method f() → void {}
-static method main() → dynamic {
-  self::f();
-}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_void.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_parameters_on_void.dart.strong.transformed.expect
deleted file mode 100644
index 0f39d1c..0000000
--- a/pkg/front_end/testcases/general/type_parameters_on_void.dart.strong.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/type_parameters_on_void.dart:1:5: Error: Type 'void' can't have type arguments.
-// Try removing the type arguments.
-// void<int> f() {}
-//     ^
-//
-import self as self;
-
-static method f() → void {}
-static method main() → dynamic {
-  self::f();
-}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.expect b/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.expect
new file mode 100644
index 0000000..6e6a65f
--- /dev/null
+++ b/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/type_parameters_on_void.dart:1:5: Error: Type 'void' can't have type arguments.
+// Try removing the type arguments.
+// void<int> f() {}
+//     ^
+//
+import self as self;
+
+static method f() → void {}
+static method main() → dynamic {
+  self::f();
+}
diff --git a/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.outline.expect b/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.outline.expect
new file mode 100644
index 0000000..64ebda6
--- /dev/null
+++ b/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.outline.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/type_parameters_on_void.dart:1:5: Error: Type 'void' can't have type arguments.
+// Try removing the type arguments.
+// void<int> f() {}
+//     ^
+//
+import self as self;
+
+static method f() → void
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.transformed.expect b/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.transformed.expect
new file mode 100644
index 0000000..6e6a65f
--- /dev/null
+++ b/pkg/front_end/testcases/general/type_parameters_on_void.dart.weak.transformed.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general/type_parameters_on_void.dart:1:5: Error: Type 'void' can't have type arguments.
+// Try removing the type arguments.
+// void<int> f() {}
+//     ^
+//
+import self as self;
+
+static method f() → void {}
+static method main() → dynamic {
+  self::f();
+}
diff --git a/pkg/front_end/testcases/general/type_variable_as_super.dart b/pkg/front_end/testcases/general/type_variable_as_super.dart
index dbcfaaa..032fcc4 100644
--- a/pkg/front_end/testcases/general/type_variable_as_super.dart
+++ b/pkg/front_end/testcases/general/type_variable_as_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 abstract class A<T> extends T {}
 
 abstract class B<T> extends T {
diff --git a/pkg/front_end/testcases/general/type_variable_as_super.dart.hierarchy.expect b/pkg/front_end/testcases/general/type_variable_as_super.dart.hierarchy.expect
deleted file mode 100644
index a0f0def..0000000
--- a/pkg/front_end/testcases/general/type_variable_as_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    T
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    T
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    T
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/type_variable_as_super.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_variable_as_super.dart.textual_outline.expect
index 1fb7f08..896bc60 100644
--- a/pkg/front_end/testcases/general/type_variable_as_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_variable_as_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A<T> extends T {}
 
 abstract class B<T> extends T {
diff --git a/pkg/front_end/testcases/general/type_variable_as_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_variable_as_super.dart.textual_outline_modelled.expect
index 1fb7f08..896bc60 100644
--- a/pkg/front_end/testcases/general/type_variable_as_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_variable_as_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A<T> extends T {}
 
 abstract class B<T> extends T {
diff --git a/pkg/front_end/testcases/general/type_variable_as_super.dart.strong.expect b/pkg/front_end/testcases/general/type_variable_as_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_as_super.dart.strong.expect
rename to pkg/front_end/testcases/general/type_variable_as_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_variable_as_super.dart.outline.expect b/pkg/front_end/testcases/general/type_variable_as_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_as_super.dart.outline.expect
rename to pkg/front_end/testcases/general/type_variable_as_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_variable_as_super.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_variable_as_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_as_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_variable_as_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/type_variable_bound_access.dart b/pkg/front_end/testcases/general/type_variable_bound_access.dart
index b25ab04..b98b8d5 100644
--- a/pkg/front_end/testcases/general/type_variable_bound_access.dart
+++ b/pkg/front_end/testcases/general/type_variable_bound_access.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class DynamicClass<T extends dynamic, S extends T> {
   T field1;
   T field2;
diff --git a/pkg/front_end/testcases/general/type_variable_bound_access.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_variable_bound_access.dart.textual_outline.expect
index 1b5e45c..ff1f9ff 100644
--- a/pkg/front_end/testcases/general/type_variable_bound_access.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_variable_bound_access.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class DynamicClass<T extends dynamic, S extends T> {
   T field1;
   T field2;
diff --git a/pkg/front_end/testcases/general/type_variable_bound_access.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_variable_bound_access.dart.textual_outline_modelled.expect
index fdcee0a..3eb942a 100644
--- a/pkg/front_end/testcases/general/type_variable_bound_access.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_variable_bound_access.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Class<X5 extends X4, X4 extends X3, X3 extends X2, X2 extends X1,
     X1 extends X0, X0 extends int> {
   X0 field0;
diff --git a/pkg/front_end/testcases/general/type_variable_bound_access.dart.strong.expect b/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_bound_access.dart.strong.expect
rename to pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_variable_bound_access.dart.outline.expect b/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_bound_access.dart.outline.expect
rename to pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_variable_bound_access.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_bound_access.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_variable_bound_access.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart b/pkg/front_end/testcases/general/type_variable_prefix.dart
index 3e5d27d5..905f448 100644
--- a/pkg/front_end/testcases/general/type_variable_prefix.dart
+++ b/pkg/front_end/testcases/general/type_variable_prefix.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import "dart:core" as T;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.hierarchy.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.hierarchy.expect
deleted file mode 100644
index 0cfa5ec..0000000
--- a/pkg/front_end/testcases/general/type_variable_prefix.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.textual_outline.expect
index 17664d53..ee21503 100644
--- a/pkg/front_end/testcases/general/type_variable_prefix.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_variable_prefix.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "dart:core" as T;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.textual_outline_modelled.expect
index 17664d53..ee21503 100644
--- a/pkg/front_end/testcases/general/type_variable_prefix.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_variable_prefix.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "dart:core" as T;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.strong.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_prefix.dart.strong.expect
rename to pkg/front_end/testcases/general/type_variable_prefix.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.outline.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_prefix.dart.outline.expect
rename to pkg/front_end/testcases/general/type_variable_prefix.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_variable_prefix.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_variable_prefix.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_prefix.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_variable_prefix.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart b/pkg/front_end/testcases/general/type_variable_uses.dart
index a366ce6..2c70dea 100644
--- a/pkg/front_end/testcases/general/type_variable_uses.dart
+++ b/pkg/front_end/testcases/general/type_variable_uses.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class C<T> {
   const C();
   static C<T> staticMethod() {
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart.hierarchy.expect b/pkg/front_end/testcases/general/type_variable_uses.dart.hierarchy.expect
deleted file mode 100644
index 5250d3d..0000000
--- a/pkg/front_end/testcases/general/type_variable_uses.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.staticMethod
-    Object._instanceOf
-    Object.noSuchMethod
-    C.instanceMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart.textual_outline.expect b/pkg/front_end/testcases/general/type_variable_uses.dart.textual_outline.expect
index 4ea252b..7c69cd1 100644
--- a/pkg/front_end/testcases/general/type_variable_uses.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/type_variable_uses.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<T> {
   const C();
   static C<T> staticMethod() {}
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/type_variable_uses.dart.textual_outline_modelled.expect
index d8414ce..701ccee 100644
--- a/pkg/front_end/testcases/general/type_variable_uses.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/type_variable_uses.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<T> {
   C<T> instanceMethod() {}
   const C();
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart.strong.expect b/pkg/front_end/testcases/general/type_variable_uses.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_uses.dart.strong.expect
rename to pkg/front_end/testcases/general/type_variable_uses.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart.outline.expect b/pkg/front_end/testcases/general/type_variable_uses.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_uses.dart.outline.expect
rename to pkg/front_end/testcases/general/type_variable_uses.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/type_variable_uses.dart.strong.transformed.expect b/pkg/front_end/testcases/general/type_variable_uses.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/type_variable_uses.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/type_variable_uses.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/typedef.dart b/pkg/front_end/testcases/general/typedef.dart
index 44de722..6f0832c 100644
--- a/pkg/front_end/testcases/general/typedef.dart
+++ b/pkg/front_end/testcases/general/typedef.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 typedef _NullaryFunction();
 typedef _UnaryFunction(args);
 typedef _BinaryFunction(args, message);
diff --git a/pkg/front_end/testcases/general/typedef.dart.textual_outline.expect b/pkg/front_end/testcases/general/typedef.dart.textual_outline.expect
index f652ebb..065fb43 100644
--- a/pkg/front_end/testcases/general/typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/typedef.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef _NullaryFunction();
 typedef _UnaryFunction(args);
 typedef _BinaryFunction(args, message);
diff --git a/pkg/front_end/testcases/general/typedef.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/typedef.dart.textual_outline_modelled.expect
index 7714b6b..c349c47 100644
--- a/pkg/front_end/testcases/general/typedef.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/typedef.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 typedef _BinaryFunction(args, message);
 typedef _NullaryFunction();
diff --git a/pkg/front_end/testcases/general/typedef.dart.strong.expect b/pkg/front_end/testcases/general/typedef.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/typedef.dart.strong.expect
rename to pkg/front_end/testcases/general/typedef.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/typedef.dart.outline.expect b/pkg/front_end/testcases/general/typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/typedef.dart.outline.expect
rename to pkg/front_end/testcases/general/typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/general/typedef.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/typedef.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/typedef.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/undefined.dart b/pkg/front_end/testcases/general/undefined.dart
index 6e2fc23..bbecb3d 100644
--- a/pkg/front_end/testcases/general/undefined.dart
+++ b/pkg/front_end/testcases/general/undefined.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class C {
   var x;
   void f() {}
diff --git a/pkg/front_end/testcases/general/undefined.dart.hierarchy.expect b/pkg/front_end/testcases/general/undefined.dart.hierarchy.expect
deleted file mode 100644
index 24335b5..0000000
--- a/pkg/front_end/testcases/general/undefined.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/general/undefined.dart.textual_outline.expect b/pkg/front_end/testcases/general/undefined.dart.textual_outline.expect
index 7c1f7be..a50bbc9 100644
--- a/pkg/front_end/testcases/general/undefined.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/undefined.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   var x;
   void f() {}
diff --git a/pkg/front_end/testcases/general/undefined.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/undefined.dart.textual_outline_modelled.expect
index 6775e59..a67bda8 100644
--- a/pkg/front_end/testcases/general/undefined.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/undefined.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   var x;
   void f() {}
diff --git a/pkg/front_end/testcases/general/undefined.dart.strong.expect b/pkg/front_end/testcases/general/undefined.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/undefined.dart.strong.expect
rename to pkg/front_end/testcases/general/undefined.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/undefined.dart.outline.expect b/pkg/front_end/testcases/general/undefined.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/undefined.dart.outline.expect
rename to pkg/front_end/testcases/general/undefined.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/undefined.dart.strong.transformed.expect b/pkg/front_end/testcases/general/undefined.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/undefined.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/undefined.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart
index c6b5b4d..5f79f34 100644
--- a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart
+++ b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class C {
   void set x(value) {}
 }
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.hierarchy.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.hierarchy.expect
deleted file mode 100644
index a7d997a..0000000
--- a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.textual_outline.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.textual_outline.expect
index 627bd18..f484bf2 100644
--- a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   void set x(value) {}
 }
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.textual_outline_modelled.expect
index b1044c0..88ced95 100644
--- a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   void set x(value) {}
 }
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.strong.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.strong.expect
rename to pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.outline.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.outline.expect
rename to pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.strong.transformed.expect b/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart b/pkg/front_end/testcases/general/uninitialized_fields.dart
index b8d240c..01f5986 100644
--- a/pkg/front_end/testcases/general/uninitialized_fields.dart
+++ b/pkg/front_end/testcases/general/uninitialized_fields.dart
@@ -1,6 +1,9 @@
 // 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.
+
+// @dart=2.9
+
 class Uninitialized {
   int x;
 }
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart.hierarchy.expect b/pkg/front_end/testcases/general/uninitialized_fields.dart.hierarchy.expect
deleted file mode 100644
index 92ba89a..0000000
--- a/pkg/front_end/testcases/general/uninitialized_fields.dart.hierarchy.expect
+++ /dev/null
@@ -1,95 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Uninitialized:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Uninitialized.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Uninitialized.x
-
-PartiallyInitialized:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    PartiallyInitialized.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    PartiallyInitialized.x
-
-Initialized:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Initialized.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Initialized.x
-
-Forwarding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Forwarding.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Forwarding.x
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart.textual_outline.expect b/pkg/front_end/testcases/general/uninitialized_fields.dart.textual_outline.expect
index 29870cc..cab3882 100644
--- a/pkg/front_end/testcases/general/uninitialized_fields.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/uninitialized_fields.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Uninitialized {
   int x;
 }
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/uninitialized_fields.dart.textual_outline_modelled.expect
index a6b77e3..5d156f2 100644
--- a/pkg/front_end/testcases/general/uninitialized_fields.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/uninitialized_fields.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Forwarding {
   Forwarding(int arg) : this.initialize(arg);
   Forwarding.initialize(this.x);
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart.strong.expect b/pkg/front_end/testcases/general/uninitialized_fields.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/uninitialized_fields.dart.strong.expect
rename to pkg/front_end/testcases/general/uninitialized_fields.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart.outline.expect b/pkg/front_end/testcases/general/uninitialized_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/uninitialized_fields.dart.outline.expect
rename to pkg/front_end/testcases/general/uninitialized_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/general/uninitialized_fields.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/uninitialized_fields.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/uninitialized_fields.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart b/pkg/front_end/testcases/general/unsound_promotion.dart
index f04da5f..ac9a1e3 100644
--- a/pkg/front_end/testcases/general/unsound_promotion.dart
+++ b/pkg/front_end/testcases/general/unsound_promotion.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {}
 
 class B {}
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.hierarchy.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.hierarchy.expect
deleted file mode 100644
index c1e95c6..0000000
--- a/pkg/front_end/testcases/general/unsound_promotion.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.strong.transformed.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.strong.transformed.expect
deleted file mode 100644
index 7251f88..0000000
--- a/pkg/front_end/testcases/general/unsound_promotion.dart.strong.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general/unsound_promotion.dart:21:16: Error: Can't infer a type for 'T', it can be either 'S' or 'A'.
-//  - 'A' is from 'pkg/front_end/testcases/general/unsound_promotion.dart'.
-// Try adding a type argument selecting one of the options.
-//     var list = g(s);
-//                ^
-//
-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* = self::A*>(self::g::T* t) → core::List<self::g::T*>* {
-  self::list = <self::g::T*>[];
-  core::print(self::list.{core::Object::runtimeType});
-  return self::list as{TypeError} core::List<self::g::T*>*;
-}
-static method f<S extends core::Object* = dynamic>(self::f::S* s) → core::List<self::f::S*>* {
-  if(s is self::A*) {
-    core::List<self::f::S* & self::A* /* '*' & '*' = '*' */>* list = self::g<self::f::S* & self::A* /* '*' & '*' = '*' */>(s{self::f::S* & self::A* /* '*' & '*' = '*' */});
-    return list;
-  }
-  return null;
-}
-static method main() → dynamic {
-  self::f<self::B*>(new self::C::•());
-  core::print(self::list.{core::Object::runtimeType});
-  core::List<self::A*>* aList;
-  aList = self::list;
-  core::Object* o = aList;
-  aList = o as{TypeError} core::List<self::A*>*;
-}
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.textual_outline.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.textual_outline.expect
index 0e5f983..4a30c88 100644
--- a/pkg/front_end/testcases/general/unsound_promotion.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/unsound_promotion.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 
 class B {}
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.textual_outline_modelled.expect
index b3488fc..1dbc714 100644
--- a/pkg/front_end/testcases/general/unsound_promotion.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/unsound_promotion.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 List<A> list;
 List<S> f<S>(S s) {}
 List<T> g<T extends A>(T t) {}
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.strong.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/unsound_promotion.dart.strong.expect
rename to pkg/front_end/testcases/general/unsound_promotion.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.outline.expect b/pkg/front_end/testcases/general/unsound_promotion.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/unsound_promotion.dart.outline.expect
rename to pkg/front_end/testcases/general/unsound_promotion.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/unused_methods.dart b/pkg/front_end/testcases/general/unused_methods.dart
index 5d2c38c..a70db6e 100644
--- a/pkg/front_end/testcases/general/unused_methods.dart
+++ b/pkg/front_end/testcases/general/unused_methods.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class UnusedClass {
   UnusedClass() {
     print('Unused');
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.hierarchy.expect b/pkg/front_end/testcases/general/unused_methods.dart.hierarchy.expect
deleted file mode 100644
index bd3ac0d..0000000
--- a/pkg/front_end/testcases/general/unused_methods.dart.hierarchy.expect
+++ /dev/null
@@ -1,164 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-UnusedClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-UsedAsBaseClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    UsedAsBaseClass.calledFromSubclass
-    Object.toString
-    UsedAsBaseClass.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-UsedAsInterface:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    UsedAsInterface.usedInSubclass
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-InstantiatedButMethodsUnused:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    InstantiatedButMethodsUnused.usedInSubclass
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ClassA:
-  superclasses:
-    Object
-      -> UsedAsBaseClass
-  interfaces: UsedAsInterface, InstantiatedButMethodsUnused
-  classMembers:
-    UsedAsBaseClass.calledFromSubclass
-    Object.toString
-    ClassA.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    UsedAsBaseClass.calledFromSubclass
-    Object.toString
-    ClassA.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-ClassB:
-  superclasses:
-    Object
-      -> UsedAsBaseClass
-  interfaces: UsedAsInterface, InstantiatedButMethodsUnused
-  classMembers:
-    ClassB.calledFromSubclass
-    Object.toString
-    ClassB.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    ClassB.calledFromSubclass
-    Object.toString
-    ClassB.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.textual_outline.expect b/pkg/front_end/testcases/general/unused_methods.dart.textual_outline.expect
index d30480d..443ea22 100644
--- a/pkg/front_end/testcases/general/unused_methods.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/unused_methods.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class UnusedClass {
   UnusedClass() {}
 }
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/unused_methods.dart.textual_outline_modelled.expect
index fe88e83..4a09745 100644
--- a/pkg/front_end/testcases/general/unused_methods.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/unused_methods.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class UsedAsBaseClass {
   void calledFromB() {}
   void calledFromSubclass() {}
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.strong.expect b/pkg/front_end/testcases/general/unused_methods.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/unused_methods.dart.strong.expect
rename to pkg/front_end/testcases/general/unused_methods.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.outline.expect b/pkg/front_end/testcases/general/unused_methods.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/unused_methods.dart.outline.expect
rename to pkg/front_end/testcases/general/unused_methods.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/unused_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/general/unused_methods.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/unused_methods.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/unused_methods.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/var_as_type_name.dart b/pkg/front_end/testcases/general/var_as_type_name.dart
index aed26bd..dc79310 100644
--- a/pkg/front_end/testcases/general/var_as_type_name.dart
+++ b/pkg/front_end/testcases/general/var_as_type_name.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   Map<String, var> m;
 }
diff --git a/pkg/front_end/testcases/general/var_as_type_name.dart.hierarchy.expect b/pkg/front_end/testcases/general/var_as_type_name.dart.hierarchy.expect
deleted file mode 100644
index 86fe8bf..0000000
--- a/pkg/front_end/testcases/general/var_as_type_name.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.m
diff --git a/pkg/front_end/testcases/general/var_as_type_name.dart.textual_outline.expect b/pkg/front_end/testcases/general/var_as_type_name.dart.textual_outline.expect
index 9a74a39..d013230 100644
--- a/pkg/front_end/testcases/general/var_as_type_name.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/var_as_type_name.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   Map<String, var> m;
 }
diff --git a/pkg/front_end/testcases/general/var_as_type_name.dart.strong.expect b/pkg/front_end/testcases/general/var_as_type_name.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/var_as_type_name.dart.strong.expect
rename to pkg/front_end/testcases/general/var_as_type_name.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/var_as_type_name.dart.outline.expect b/pkg/front_end/testcases/general/var_as_type_name.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/var_as_type_name.dart.outline.expect
rename to pkg/front_end/testcases/general/var_as_type_name.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/var_as_type_name.dart.strong.transformed.expect b/pkg/front_end/testcases/general/var_as_type_name.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/var_as_type_name.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/var_as_type_name.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/vm_type_ops.dart b/pkg/front_end/testcases/general/vm_type_ops.dart
index a7adf35..dea0537 100644
--- a/pkg/front_end/testcases/general/vm_type_ops.dart
+++ b/pkg/front_end/testcases/general/vm_type_ops.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // Copied from pkg/vm/testcases/bytecode/type_ops.dart
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/general/vm_type_ops.dart.textual_outline.expect b/pkg/front_end/testcases/general/vm_type_ops.dart.textual_outline.expect
index 2acf1f6..ab65d0d 100644
--- a/pkg/front_end/testcases/general/vm_type_ops.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/vm_type_ops.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 class B extends A<String> {}
diff --git a/pkg/front_end/testcases/general/vm_type_ops.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/vm_type_ops.dart.textual_outline_modelled.expect
index e28a446..fbadedf 100644
--- a/pkg/front_end/testcases/general/vm_type_ops.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/vm_type_ops.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 List<Iterable> globalVar;
 
 abstract class F<T> {
diff --git a/pkg/front_end/testcases/general/vm_type_ops.dart.strong.expect b/pkg/front_end/testcases/general/vm_type_ops.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/vm_type_ops.dart.strong.expect
rename to pkg/front_end/testcases/general/vm_type_ops.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/vm_type_ops.dart.outline.expect b/pkg/front_end/testcases/general/vm_type_ops.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/vm_type_ops.dart.outline.expect
rename to pkg/front_end/testcases/general/vm_type_ops.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/vm_type_ops.dart.strong.transformed.expect b/pkg/front_end/testcases/general/vm_type_ops.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/vm_type_ops.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/vm_type_ops.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/void_methods.dart b/pkg/front_end/testcases/general/void_methods.dart
index 5e8d6f7..a313fb6 100644
--- a/pkg/front_end/testcases/general/void_methods.dart
+++ b/pkg/front_end/testcases/general/void_methods.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Foo {
   List list = [1, 2, 3];
   set first(x) => list[0] = x;
diff --git a/pkg/front_end/testcases/general/void_methods.dart.hierarchy.expect b/pkg/front_end/testcases/general/void_methods.dart.hierarchy.expect
deleted file mode 100644
index 77a190c..0000000
--- a/pkg/front_end/testcases/general/void_methods.dart.hierarchy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.list
-    Foo.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.clear
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.list
-    Foo.first
diff --git a/pkg/front_end/testcases/general/void_methods.dart.textual_outline.expect b/pkg/front_end/testcases/general/void_methods.dart.textual_outline.expect
index a23d97f..bf49b71 100644
--- a/pkg/front_end/testcases/general/void_methods.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/void_methods.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   List list = [1, 2, 3];
   set first(x) => list[0] = x;
diff --git a/pkg/front_end/testcases/general/void_methods.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/void_methods.dart.textual_outline_modelled.expect
index f5f0084..4637b10 100644
--- a/pkg/front_end/testcases/general/void_methods.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/void_methods.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   List list = [1, 2, 3];
   operator []=(x, y) => list[x] = y;
diff --git a/pkg/front_end/testcases/general/void_methods.dart.strong.expect b/pkg/front_end/testcases/general/void_methods.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/void_methods.dart.strong.expect
rename to pkg/front_end/testcases/general/void_methods.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/void_methods.dart.outline.expect b/pkg/front_end/testcases/general/void_methods.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/void_methods.dart.outline.expect
rename to pkg/front_end/testcases/general/void_methods.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/void_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/general/void_methods.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/void_methods.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/void_methods.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart b/pkg/front_end/testcases/general/warn_unresolved_sends.dart
index ba78add..92e87a5 100644
--- a/pkg/front_end/testcases/general/warn_unresolved_sends.dart
+++ b/pkg/front_end/testcases/general/warn_unresolved_sends.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class C {
   var superField;
   superMethod() {}
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.hierarchy.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.hierarchy.expect
deleted file mode 100644
index eb50940..0000000
--- a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.hierarchy.expect
+++ /dev/null
@@ -1,105 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.getterOnly
-    Object.toString
-    C.superField
-    C.setterOnly
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.superMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.getterOnly
-    C.superField
-    C.setterOnly
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.getterOnly
-    Object.toString
-    C.superField
-    C.setterOnly
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.field
-    D.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.superMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.test
-  classSetters:
-    C.getterOnly
-    C.superField
-    D.setterOnly
-    D.field
-
-E:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    D.getterOnly
-    Object.toString
-    C.superField
-    C.setterOnly
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.field
-    D.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    E.missingField
-    C.superMethod
-    Object.hashCode
-    E.missingMethod
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.test
-  classSetters:
-    C.getterOnly
-    C.superField
-    D.setterOnly
-    D.field
-    E.missingField
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.textual_outline.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.textual_outline.expect
index 9862754..55d70d6 100644
--- a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   var superField;
   superMethod() {}
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.textual_outline_modelled.expect
index 73c7281..0d861b4 100644
--- a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   get getterOnly => null;
   get setterOnly => null;
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.strong.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/warn_unresolved_sends.dart.strong.expect
rename to pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.outline.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/warn_unresolved_sends.dart.outline.expect
rename to pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.strong.transformed.expect b/pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/warn_unresolved_sends.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/warn_unresolved_sends.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart
index 37dc716..fd3815d 100644
--- a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart
+++ b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A<X extends int> {}
 
 class B {
diff --git a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.textual_outline.expect b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.textual_outline.expect
index 06dc10a..591893b 100644
--- a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends int> {}
 
 class B {
diff --git a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.textual_outline_modelled.expect
index 4fd7430..18fe55d 100644
--- a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends int> {}
 
 class B {
diff --git a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.strong.expect b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.strong.expect
rename to pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.outline.expect b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.outline.expect
rename to pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.strong.transformed.expect b/pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/well_boundness_checks_in_outline.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart
index 37e1db0..2332f9c 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'main_lib.dart';
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline.expect
index 085740d..ca22c81 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib.dart';
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline_modelled.expect
index 085740d..ca22c81 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'main_lib.dart';
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.strong.expect
rename to pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.outline.expect
rename to pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main_lib.dart b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main_lib.dart
index f02f058..3b4fe56 100644
--- a/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/abstract_members_from_dill/main_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   @override
   noSuchMethod(Invocation invocation);
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart
index f678004..40c340f 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'extension_from_dill_lib.dart';
 
 main() {
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline.expect
index 76f9b18..480afbd 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'extension_from_dill_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline_modelled.expect
index 76f9b18..480afbd 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'extension_from_dill_lib.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.strong.expect
rename to pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.outline.expect
rename to pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib.dart b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib.dart
index 8d058b3..3703720 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, 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=2.9
 export 'extension_from_dill_lib2.dart';
diff --git a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib2.dart b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib2.dart
index baf81eb..b0e671a 100644
--- a/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib2.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/extension_from_dill/extension_from_dill_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 extension Extension on String {
   foo() => 42;
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/const_lib.dart b/pkg/front_end/testcases/general/with_dependencies/issue43538/const_lib.dart
index f1dbca9..d66d12c 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/const_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/const_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class A {
   const A({
     this.d = 3.14,
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart
index a73de4b..a821a38 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'const_lib.dart';
 
 const crossModule = B();
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline.expect
index d57e7dc..a012e33 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'const_lib.dart';
 
 const crossModule = B();
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline_modelled.expect
index 63f830f..ab711ec 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'const_lib.dart';
 
 const crossModule = B();
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.strong.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.outline.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue43538/main.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart
index fe9d179..0e9dfeb 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import "issue_43084_lib.dart";
 
 main() {
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline.expect
index 6d40493..9591f62 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_43084_lib.dart";
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline_modelled.expect
index 6d40493..9591f62 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_43084_lib.dart";
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.strong.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.outline.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart
index 75163af..647ad1d 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084/issue_43084_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Foo<X> {
 }
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart
index b4a113d..d2b59cd 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import "issue_43084_lib.dart";
 
 test() {
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline.expect
index 14d741d..7d463a1 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_43084_lib.dart";
 
 test() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline_modelled.expect
index ce7dcd7..3881e5a 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_43084_lib.dart";
 
 main() {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.strong.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.outline.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084_lib.dart b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084_lib.dart
index 43f8523..bc47337 100644
--- a/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/issue_43084_2/issue_43084_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2020, 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=2.9
 typedef F = Function();
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart
index 9f8234d..1d71704 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline.expect
index 9887e21..3bbec562 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline_modelled.expect
index 9887e21..3bbec562 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "mixin_from_dill_lib1.dart" as lib1;
 import "mixin_from_dill_lib2.dart" as lib2;
 
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.expect
rename to pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.outline.expect
rename to pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib1.dart b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib1.dart
index 38ee449..31bba91 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib1.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Foo extends B with D {}
 abstract class B implements C {
   bool operator==(dynamic) {
diff --git a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib2.dart b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib2.dart
index 38ee449..31bba91 100644
--- a/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib2.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/mixin_from_dill/mixin_from_dill_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Foo extends B with D {}
 abstract class B implements C {
   bool operator==(dynamic) {
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart
index 5a443a4..e540b74 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect
index 33ce9da..7b65d90 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect
index 33ce9da..7b65d90 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.expect
rename to pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.outline.expect
rename to pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.transformed.expect
rename to pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart
index 5a443a4..e540b74 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.outline.expect
deleted file mode 100644
index c556a30..0000000
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.outline.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library;
-import self as self;
-import "stub_or_not_lib1.dart" as stu;
-
-import "org-dartlang-testcase:///stub_or_not_lib1.dart";
-
-class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
-    ;
-}
-static method main() → dynamic
-  ;
-
-library;
-import self as stu;
-import "dart:core" as core;
-import "stub_or_not_lib2.dart" as stu2;
-
-import "org-dartlang-testcase:///stub_or_not_lib2.dart";
-
-abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
-    ;
-  method handleEvent(covariant stu2::EvenFileB* entry) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
-    ;
-}
-abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
-    ;
-  method handleEvent(covariant stu::EvenFileBPrime* entry) → void
-    ;
-}
-abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
-    ;
-  abstract member-signature method handleEvent(covariant stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
-}
-
-library;
-import self as stu2;
-import "dart:core" as core;
-
-abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
-    ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.expect
deleted file mode 100644
index a45bc9f..0000000
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.expect
+++ /dev/null
@@ -1,89 +0,0 @@
-library;
-import self as self;
-import "stub_or_not_lib1.dart" as stu;
-
-import "org-dartlang-testcase:///stub_or_not_lib1.dart";
-
-class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
-    : super stu::Foo::•()
-    ;
-}
-static method main() → dynamic {}
-
-library;
-import self as stu;
-import "dart:core" as core;
-import "stub_or_not_lib2.dart" as stu2;
-
-import "org-dartlang-testcase:///stub_or_not_lib2.dart";
-
-abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
-    : super core::Object::•()
-    ;
-  method handleEvent(covariant stu2::EvenFileB* entry) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
-    : super stu2::EvenFileB::•()
-    ;
-}
-abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
-    : super stu::Qux::•()
-    ;
-  method handleEvent(covariant stu::EvenFileBPrime* entry) → void {}
-}
-abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
-    : super stu::Baz::•()
-    ;
-  abstract member-signature method handleEvent(covariant stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
-}
-
-library;
-import self as stu2;
-import "dart:core" as core;
-
-abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
-    : super core::Object::•()
-    ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.transformed.expect
deleted file mode 100644
index a45bc9f..0000000
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.strong.transformed.expect
+++ /dev/null
@@ -1,89 +0,0 @@
-library;
-import self as self;
-import "stub_or_not_lib1.dart" as stu;
-
-import "org-dartlang-testcase:///stub_or_not_lib1.dart";
-
-class ProblemClass extends stu::Foo {
-  synthetic constructor •() → self::ProblemClass*
-    : super stu::Foo::•()
-    ;
-}
-static method main() → dynamic {}
-
-library;
-import self as stu;
-import "dart:core" as core;
-import "stub_or_not_lib2.dart" as stu2;
-
-import "org-dartlang-testcase:///stub_or_not_lib2.dart";
-
-abstract class Qux extends core::Object implements stu2::EventFileA {
-  synthetic constructor •() → stu::Qux*
-    : super core::Object::•()
-    ;
-  method handleEvent(covariant stu2::EvenFileB* entry) → void {}
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class EvenFileBPrime extends stu2::EvenFileB {
-  synthetic constructor •() → stu::EvenFileBPrime*
-    : super stu2::EvenFileB::•()
-    ;
-}
-abstract class Baz extends stu::Qux {
-  synthetic constructor •() → stu::Baz*
-    : super stu::Qux::•()
-    ;
-  method handleEvent(covariant stu::EvenFileBPrime* entry) → void {}
-}
-abstract class Foo extends stu::Baz implements stu::Qux {
-  synthetic constructor •() → stu::Foo*
-    : super stu::Baz::•()
-    ;
-  abstract member-signature method handleEvent(covariant stu2::EvenFileB* entry) → void; -> stu::Qux::handleEvent
-}
-
-library;
-import self as stu2;
-import "dart:core" as core;
-
-abstract class EventFileA extends core::Object {
-  synthetic constructor •() → stu2::EventFileA*
-    : super core::Object::•()
-    ;
-  abstract method handleEvent(stu2::EvenFileB* entry) → void;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class EvenFileB extends core::Object {
-  synthetic constructor •() → stu2::EvenFileB*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect
index 33ce9da..7b65d90 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect
index 33ce9da..7b65d90 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'stub_or_not_lib1.dart';
 
 class ProblemClass extends Foo {}
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.expect
similarity index 100%
copy from pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.expect
copy to pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.outline.expect
copy to pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.transformed.expect
similarity index 100%
copy from pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.dart.strong.transformed.expect
copy to pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not.no_link.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart
index ae62042..07c2343 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'stub_or_not_lib2.dart';
 
 abstract class Qux implements EventFileA {
diff --git a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart
index 9a30c0e..3286464 100644
--- a/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/stub_or_not/stub_or_not_lib2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class EventFileA {
   void handleEvent(EvenFileB entry);
 }
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart
index 9007356..4e03138 100644
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart
@@ -1,6 +1,6 @@
 import "variance_from_dill_lib.dart";
 typedef G<T> = Function(F<T>);
-
+// @dart=2.9
 main() {
   print(G);
 }
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.outline.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.outline.expect
deleted file mode 100644
index ffc3306..0000000
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.outline.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///variance_from_dill_lib.dart";
-
-typedef G<unrelated T extends core::Object* = dynamic> = (() →* dynamic) →* dynamic;
-static method main() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.strong.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.strong.expect
deleted file mode 100644
index 8283fbb..0000000
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.strong.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///variance_from_dill_lib.dart";
-
-typedef G<unrelated T extends core::Object* = dynamic> = (() →* dynamic) →* dynamic;
-static method main() → dynamic {
-  core::print(#C1);
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
-
-constants  {
-  #C1 = TypeLiteralConstant((() →* dynamic) →* dynamic)
-}
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.strong.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.strong.transformed.expect
deleted file mode 100644
index 8283fbb..0000000
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.strong.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///variance_from_dill_lib.dart";
-
-typedef G<unrelated T extends core::Object* = dynamic> = (() →* dynamic) →* dynamic;
-static method main() → dynamic {
-  core::print(#C1);
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
-
-constants  {
-  #C1 = TypeLiteralConstant((() →* dynamic) →* dynamic)
-}
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.expect
new file mode 100644
index 0000000..321193c
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.expect
@@ -0,0 +1,20 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///variance_from_dill_lib.dart";
+
+typedef G<unrelated T extends core::Object? = dynamic> = (() → dynamic) → dynamic;
+static method main() → dynamic {
+  core::print(#C1);
+}
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
+
+constants  {
+  #C1 = TypeLiteralConstant((() →* dynamic) →* dynamic)
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.outline.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.outline.expect
new file mode 100644
index 0000000..396339f
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.outline.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///variance_from_dill_lib.dart";
+
+typedef G<unrelated T extends core::Object? = dynamic> = (() → dynamic) → dynamic;
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.transformed.expect b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.transformed.expect
new file mode 100644
index 0000000..321193c
--- /dev/null
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill.dart.weak.transformed.expect
@@ -0,0 +1,20 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///variance_from_dill_lib.dart";
+
+typedef G<unrelated T extends core::Object? = dynamic> = (() → dynamic) → dynamic;
+static method main() → dynamic {
+  core::print(#C1);
+}
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+typedef F<unrelated T extends core::Object* = dynamic> = () →* dynamic;
+
+constants  {
+  #C1 = TypeLiteralConstant((() →* dynamic) →* dynamic)
+}
diff --git a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill_lib.dart b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill_lib.dart
index 3c62f22..17a28f9 100644
--- a/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill_lib.dart
+++ b/pkg/front_end/testcases/general/with_dependencies/variance_from_dill/variance_from_dill_lib.dart
@@ -1 +1,2 @@
+// @dart=2.9
 typedef F<T> = Function();
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.hierarchy.expect
deleted file mode 100644
index bdad7e9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.hierarchy.expect
+++ /dev/null
@@ -1,408 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-DeltaBlue:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    DeltaBlue.run
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Strength:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Strength.weakest
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Strength.nextWeaker
-    Strength.value
-    Strength.stronger
-    Object._instanceOf
-    Strength.name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Strength.weaker
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Strength.strongest
-  classSetters:
-
-Constraint:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Constraint.markUnsatisfied
-    Constraint.chooseMethod
-    Constraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    Constraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    Constraint.markInputs
-    Object._identityHashCode
-    Constraint.recalculate
-    Constraint.execute
-    Constraint.output
-    Constraint.addConstraint
-    Constraint.isSatisfied
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Constraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-
-UnaryConstraint:
-  superclasses:
-    Object
-      -> Constraint
-  interfaces:
-  classMembers:
-    UnaryConstraint.markUnsatisfied
-    UnaryConstraint.chooseMethod
-    UnaryConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    UnaryConstraint.myOutput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    UnaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    UnaryConstraint.markInputs
-    Object._identityHashCode
-    UnaryConstraint.recalculate
-    Constraint.execute
-    UnaryConstraint.output
-    Constraint.addConstraint
-    UnaryConstraint.isSatisfied
-    Object.hashCode
-    UnaryConstraint.satisfied
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    UnaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    UnaryConstraint.satisfied
-
-StayConstraint:
-  superclasses:
-    Object
-      -> Constraint
-        -> UnaryConstraint
-  interfaces:
-  classMembers:
-    UnaryConstraint.markUnsatisfied
-    UnaryConstraint.chooseMethod
-    UnaryConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    UnaryConstraint.myOutput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    UnaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    UnaryConstraint.markInputs
-    Object._identityHashCode
-    UnaryConstraint.recalculate
-    StayConstraint.execute
-    UnaryConstraint.output
-    Constraint.addConstraint
-    UnaryConstraint.isSatisfied
-    Object.hashCode
-    UnaryConstraint.satisfied
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    UnaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    UnaryConstraint.satisfied
-
-EditConstraint:
-  superclasses:
-    Object
-      -> Constraint
-        -> UnaryConstraint
-  interfaces:
-  classMembers:
-    UnaryConstraint.markUnsatisfied
-    UnaryConstraint.chooseMethod
-    UnaryConstraint.addToGraph
-    Object.toString
-    EditConstraint.isInput
-    UnaryConstraint.myOutput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    UnaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    UnaryConstraint.markInputs
-    Object._identityHashCode
-    UnaryConstraint.recalculate
-    EditConstraint.execute
-    UnaryConstraint.output
-    Constraint.addConstraint
-    UnaryConstraint.isSatisfied
-    Object.hashCode
-    UnaryConstraint.satisfied
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    UnaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    UnaryConstraint.satisfied
-
-BinaryConstraint:
-  superclasses:
-    Object
-      -> Constraint
-  interfaces:
-  classMembers:
-    BinaryConstraint.markUnsatisfied
-    BinaryConstraint.chooseMethod
-    BinaryConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    BinaryConstraint.v2
-    BinaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    BinaryConstraint.markInputs
-    Object._identityHashCode
-    BinaryConstraint.recalculate
-    Constraint.execute
-    BinaryConstraint.output
-    Constraint.addConstraint
-    BinaryConstraint.isSatisfied
-    Object.hashCode
-    BinaryConstraint.input
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    BinaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    BinaryConstraint.v2
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-
-ScaleConstraint:
-  superclasses:
-    Object
-      -> Constraint
-        -> BinaryConstraint
-  interfaces:
-  classMembers:
-    BinaryConstraint.markUnsatisfied
-    BinaryConstraint.chooseMethod
-    ScaleConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    ScaleConstraint.scale
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    BinaryConstraint.v2
-    BinaryConstraint.inputsKnown
-    ScaleConstraint.offset
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    ScaleConstraint.markInputs
-    Object._identityHashCode
-    ScaleConstraint.recalculate
-    ScaleConstraint.execute
-    BinaryConstraint.output
-    Constraint.addConstraint
-    BinaryConstraint.isSatisfied
-    Object.hashCode
-    BinaryConstraint.input
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    ScaleConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    BinaryConstraint.v2
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-
-EqualityConstraint:
-  superclasses:
-    Object
-      -> Constraint
-        -> BinaryConstraint
-  interfaces:
-  classMembers:
-    BinaryConstraint.markUnsatisfied
-    BinaryConstraint.chooseMethod
-    BinaryConstraint.addToGraph
-    Object.toString
-    Constraint.isInput
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Constraint.satisfy
-    BinaryConstraint.v2
-    BinaryConstraint.inputsKnown
-    Object._instanceOf
-    Object.noSuchMethod
-    Constraint.destroyConstraint
-    BinaryConstraint.markInputs
-    Object._identityHashCode
-    BinaryConstraint.recalculate
-    EqualityConstraint.execute
-    BinaryConstraint.output
-    Constraint.addConstraint
-    BinaryConstraint.isSatisfied
-    Object.hashCode
-    BinaryConstraint.input
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    BinaryConstraint.removeFromGraph
-    Constraint.strength
-  classSetters:
-    BinaryConstraint.v2
-    BinaryConstraint.direction
-    BinaryConstraint.v1
-
-Variable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Variable.mark
-    Variable.stay
-    Object.toString
-    Variable.constraints
-    Variable.walkStrength
-    Variable.determinedBy
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Variable.value
-    Object._instanceOf
-    Variable.name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Variable.removeConstraint
-    Variable.addConstraint
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Variable.mark
-    Variable.stay
-    Variable.constraints
-    Variable.walkStrength
-    Variable.determinedBy
-    Variable.value
-
-Planner:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Planner.addConstraintsConsumingTo
-    Planner.removePropagateFrom
-    Object.toString
-    Planner.incrementalRemove
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Planner.newMark
-    Planner.addPropagate
-    Planner.currentMark
-    Planner.incrementalAdd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Planner.makePlan
-    Planner.extractPlanFromConstraints
-  classSetters:
-    Planner.currentMark
-
-Plan:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Plan.size
-    Plan.list
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Plan.execute
-    Plan.addConstraint
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Plan.list
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.outline.expect
deleted file mode 100644
index acbb4c1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.outline.expect
+++ /dev/null
@@ -1,264 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class DeltaBlue extends core::Object {
-  synthetic constructor •() → self::DeltaBlue*
-    ;
-  method run() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Strength extends core::Object /*hasConstConstructor*/  {
-  final field core::int* value;
-  final field core::String* name;
-  const constructor •(core::int* value, core::String* name) → self::Strength*
-    : self::Strength::value = value, self::Strength::name = name, super core::Object::•()
-    ;
-  method nextWeaker() → self::Strength*
-    ;
-  static method stronger(self::Strength* s1, self::Strength* s2) → core::bool*
-    ;
-  static method weaker(self::Strength* s1, self::Strength* s2) → core::bool*
-    ;
-  static method weakest(self::Strength* s1, self::Strength* s2) → self::Strength*
-    ;
-  static method strongest(self::Strength* s1, self::Strength* s2) → self::Strength*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Constraint extends core::Object /*hasConstConstructor*/  {
-  final field self::Strength* strength;
-  const constructor •(self::Strength* strength) → self::Constraint*
-    : 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
-    ;
-  method satisfy(dynamic mark) → self::Constraint*
-    ;
-  method destroyConstraint() → void
-    ;
-  method isInput() → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class UnaryConstraint extends self::Constraint {
-  final field self::Variable* myOutput;
-  field core::bool* satisfied;
-  constructor •(self::Variable* myOutput, self::Strength* strength) → self::UnaryConstraint*
-    ;
-  method addToGraph() → void
-    ;
-  method chooseMethod(core::int* mark) → void
-    ;
-  method isSatisfied() → core::bool*
-    ;
-  method markInputs(core::int* mark) → void
-    ;
-  method output() → self::Variable*
-    ;
-  method recalculate() → void
-    ;
-  method markUnsatisfied() → void
-    ;
-  method inputsKnown(core::int* mark) → core::bool*
-    ;
-  method removeFromGraph() → void
-    ;
-}
-class StayConstraint extends self::UnaryConstraint {
-  constructor •(self::Variable* v, self::Strength* str) → self::StayConstraint*
-    ;
-  method execute() → void
-    ;
-}
-class EditConstraint extends self::UnaryConstraint {
-  constructor •(self::Variable* v, self::Strength* str) → self::EditConstraint*
-    ;
-  method isInput() → core::bool*
-    ;
-  method execute() → void
-    ;
-}
-abstract class BinaryConstraint extends self::Constraint {
-  field self::Variable* v1;
-  field self::Variable* v2;
-  field core::int* direction;
-  constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::BinaryConstraint*
-    ;
-  method chooseMethod(core::int* mark) → void
-    ;
-  method addToGraph() → void
-    ;
-  method isSatisfied() → core::bool*
-    ;
-  method markInputs(core::int* mark) → void
-    ;
-  method input() → self::Variable*
-    ;
-  method output() → self::Variable*
-    ;
-  method recalculate() → void
-    ;
-  method markUnsatisfied() → void
-    ;
-  method inputsKnown(core::int* mark) → core::bool*
-    ;
-  method removeFromGraph() → void
-    ;
-}
-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) → self::ScaleConstraint*
-    ;
-  method addToGraph() → void
-    ;
-  method removeFromGraph() → void
-    ;
-  method markInputs(core::int* mark) → void
-    ;
-  method execute() → void
-    ;
-  method recalculate() → void
-    ;
-}
-class EqualityConstraint extends self::BinaryConstraint {
-  constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::EqualityConstraint*
-    ;
-  method execute() → void
-    ;
-}
-class Variable extends core::Object {
-  field core::List<self::Constraint*>* constraints;
-  field self::Constraint* determinedBy;
-  field core::int* mark;
-  field self::Strength* walkStrength;
-  field core::bool* stay;
-  field core::int* value;
-  final field core::String* name;
-  constructor •(core::String* name, core::int* value) → self::Variable*
-    ;
-  method addConstraint(self::Constraint* c) → void
-    ;
-  method removeConstraint(self::Constraint* c) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Planner extends core::Object {
-  field core::int* currentMark;
-  synthetic constructor •() → self::Planner*
-    ;
-  method incrementalAdd(self::Constraint* c) → void
-    ;
-  method incrementalRemove(self::Constraint* c) → void
-    ;
-  method newMark() → core::int*
-    ;
-  method makePlan(core::List<self::Constraint*>* sources) → self::Plan*
-    ;
-  method extractPlanFromConstraints(core::List<self::Constraint*>* constraints) → self::Plan*
-    ;
-  method addPropagate(self::Constraint* c, core::int* mark) → core::bool*
-    ;
-  method removePropagateFrom(self::Variable* out) → core::List<self::Constraint*>*
-    ;
-  method addConstraintsConsumingTo(self::Variable* v, core::List<self::Constraint*>* coll) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Plan extends core::Object {
-  field core::List<self::Constraint*>* list;
-  synthetic constructor •() → self::Plan*
-    ;
-  method addConstraint(self::Constraint* c) → void
-    ;
-  method size() → core::int*
-    ;
-  method execute() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field self::Strength* REQUIRED = const self::Strength::•(0, "required");
-static const field self::Strength* STRONG_PREFERRED = const self::Strength::•(1, "strongPreferred");
-static const field self::Strength* PREFERRED = const self::Strength::•(2, "preferred");
-static const field self::Strength* STRONG_DEFAULT = const self::Strength::•(3, "strongDefault");
-static const field self::Strength* NORMAL = const self::Strength::•(4, "normal");
-static const field self::Strength* WEAK_DEFAULT = const self::Strength::•(5, "weakDefault");
-static const field self::Strength* 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;
-static method main() → dynamic
-  ;
-static method chainTest(core::int* n) → void
-  ;
-static method projectionTest(core::int* n) → void
-  ;
-static method change(self::Variable* v, core::int* newValue) → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.strong.expect
deleted file mode 100644
index 2a474d9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.strong.expect
+++ /dev/null
@@ -1,535 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class DeltaBlue extends core::Object {
-  synthetic constructor •() → self::DeltaBlue*
-    : super core::Object::•()
-    ;
-  method run() → void {
-    self::chainTest(100);
-    self::projectionTest(100);
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Strength extends core::Object /*hasConstConstructor*/  {
-  final field core::int* value;
-  final field core::String* name;
-  const constructor •(core::int* value, core::String* name) → self::Strength*
-    : self::Strength::value = value, self::Strength::name = name, super core::Object::•()
-    ;
-  method nextWeaker() → self::Strength*
-    return (#C19).{core::List::[]}(this.{self::Strength::value});
-  static method stronger(self::Strength* s1, self::Strength* s2) → core::bool* {
-    return s1.{self::Strength::value}.{core::num::<}(s2.{self::Strength::value});
-  }
-  static method weaker(self::Strength* s1, self::Strength* s2) → core::bool* {
-    return s1.{self::Strength::value}.{core::num::>}(s2.{self::Strength::value});
-  }
-  static method weakest(self::Strength* s1, self::Strength* s2) → self::Strength* {
-    return self::Strength::weaker(s1, s2) ?{self::Strength*} s1 : s2;
-  }
-  static method strongest(self::Strength* s1, self::Strength* s2) → self::Strength* {
-    return self::Strength::stronger(s1, s2) ?{self::Strength*} s1 : s2;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Constraint extends core::Object /*hasConstConstructor*/  {
-  final field self::Strength* strength;
-  const constructor •(self::Strength* strength) → self::Constraint*
-    : 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.{self::Constraint::addToGraph}();
-    self::planner.{self::Planner::incrementalAdd}(this);
-  }
-  method satisfy(dynamic mark) → self::Constraint* {
-    this.{self::Constraint::chooseMethod}(mark as{TypeError,ForDynamic} core::int*);
-    if(!this.{self::Constraint::isSatisfied}()) {
-      if(this.{self::Constraint::strength}.{self::Strength::==}(#C22)) {
-        core::print("Could not satisfy a required constraint!");
-      }
-      return null;
-    }
-    this.{self::Constraint::markInputs}(mark as{TypeError,ForDynamic} core::int*);
-    self::Variable* out = this.{self::Constraint::output}();
-    self::Constraint* overridden = out.{self::Variable::determinedBy};
-    if(!overridden.{self::Constraint::==}(null))
-      overridden.{self::Constraint::markUnsatisfied}();
-    out.{self::Variable::determinedBy} = this;
-    if(!self::planner.{self::Planner::addPropagate}(this, mark as{TypeError,ForDynamic} core::int*))
-      core::print("Cycle encountered");
-    out.{self::Variable::mark} = mark as{TypeError,ForDynamic} core::int*;
-    return overridden;
-  }
-  method destroyConstraint() → void {
-    if(this.{self::Constraint::isSatisfied}())
-      self::planner.{self::Planner::incrementalRemove}(this);
-    this.{self::Constraint::removeFromGraph}();
-  }
-  method isInput() → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class UnaryConstraint extends self::Constraint {
-  final field self::Variable* myOutput;
-  field core::bool* satisfied = false;
-  constructor •(self::Variable* myOutput, self::Strength* strength) → self::UnaryConstraint*
-    : self::UnaryConstraint::myOutput = myOutput, super self::Constraint::•(strength) {
-    this.{self::Constraint::addConstraint}();
-  }
-  method addToGraph() → void {
-    this.{self::UnaryConstraint::myOutput}.{self::Variable::addConstraint}(this);
-    this.{self::UnaryConstraint::satisfied} = false;
-  }
-  method chooseMethod(core::int* mark) → void {
-    this.{self::UnaryConstraint::satisfied} = !this.{self::UnaryConstraint::myOutput}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::UnaryConstraint::myOutput}.{self::Variable::walkStrength});
-  }
-  method isSatisfied() → core::bool*
-    return this.{self::UnaryConstraint::satisfied};
-  method markInputs(core::int* mark) → void {}
-  method output() → self::Variable*
-    return this.{self::UnaryConstraint::myOutput};
-  method recalculate() → void {
-    this.{self::UnaryConstraint::myOutput}.{self::Variable::walkStrength} = this.{self::Constraint::strength};
-    this.{self::UnaryConstraint::myOutput}.{self::Variable::stay} = !this.{self::Constraint::isInput}();
-    if(this.{self::UnaryConstraint::myOutput}.{self::Variable::stay})
-      this.{self::Constraint::execute}();
-  }
-  method markUnsatisfied() → void {
-    this.{self::UnaryConstraint::satisfied} = false;
-  }
-  method inputsKnown(core::int* mark) → core::bool*
-    return true;
-  method removeFromGraph() → void {
-    if(!this.{self::UnaryConstraint::myOutput}.{self::Variable::==}(null))
-      this.{self::UnaryConstraint::myOutput}.{self::Variable::removeConstraint}(this);
-    this.{self::UnaryConstraint::satisfied} = false;
-  }
-}
-class StayConstraint extends self::UnaryConstraint {
-  constructor •(self::Variable* v, self::Strength* str) → self::StayConstraint*
-    : super self::UnaryConstraint::•(v, str)
-    ;
-  method execute() → void {}
-}
-class EditConstraint extends self::UnaryConstraint {
-  constructor •(self::Variable* v, self::Strength* str) → self::EditConstraint*
-    : 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 = #C1;
-  constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::BinaryConstraint*
-    : self::BinaryConstraint::v1 = v1, self::BinaryConstraint::v2 = v2, super self::Constraint::•(strength) {
-    this.{self::Constraint::addConstraint}();
-  }
-  method chooseMethod(core::int* mark) → void {
-    if(this.{self::BinaryConstraint::v1}.{self::Variable::mark}.{core::num::==}(mark)) {
-      this.{self::BinaryConstraint::direction} = !this.{self::BinaryConstraint::v2}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength}) ?{core::int*} #C4 : #C1;
-    }
-    if(this.{self::BinaryConstraint::v2}.{self::Variable::mark}.{core::num::==}(mark)) {
-      this.{self::BinaryConstraint::direction} = !this.{self::BinaryConstraint::v1}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}) ?{core::int*} #C20 : #C1;
-    }
-    if(self::Strength::weaker(this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength})) {
-      this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}) ?{core::int*} #C20 : #C1;
-    }
-    else {
-      this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength}) ?{core::int*} #C4 : #C20;
-    }
-  }
-  method addToGraph() → void {
-    this.{self::BinaryConstraint::v1}.{self::Variable::addConstraint}(this);
-    this.{self::BinaryConstraint::v2}.{self::Variable::addConstraint}(this);
-    this.{self::BinaryConstraint::direction} = #C1;
-  }
-  method isSatisfied() → core::bool*
-    return !this.{self::BinaryConstraint::direction}.{core::num::==}(#C1);
-  method markInputs(core::int* mark) → void {
-    this.{self::BinaryConstraint::input}().{self::Variable::mark} = mark;
-  }
-  method input() → self::Variable*
-    return this.{self::BinaryConstraint::direction}.{core::num::==}(#C4) ?{self::Variable*} this.{self::BinaryConstraint::v1} : this.{self::BinaryConstraint::v2};
-  method output() → self::Variable*
-    return this.{self::BinaryConstraint::direction}.{core::num::==}(#C4) ?{self::Variable*} this.{self::BinaryConstraint::v2} : this.{self::BinaryConstraint::v1};
-  method recalculate() → void {
-    self::Variable* ihn = this.{self::BinaryConstraint::input}();
-    self::Variable* out = this.{self::BinaryConstraint::output}();
-    out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}, ihn.{self::Variable::walkStrength});
-    out.{self::Variable::stay} = ihn.{self::Variable::stay};
-    if(out.{self::Variable::stay})
-      this.{self::Constraint::execute}();
-  }
-  method markUnsatisfied() → void {
-    this.{self::BinaryConstraint::direction} = #C1;
-  }
-  method inputsKnown(core::int* mark) → core::bool* {
-    self::Variable* i = this.{self::BinaryConstraint::input}();
-    return i.{self::Variable::mark}.{core::num::==}(mark) || i.{self::Variable::stay} || i.{self::Variable::determinedBy}.{self::Constraint::==}(null);
-  }
-  method removeFromGraph() → void {
-    if(!this.{self::BinaryConstraint::v1}.{self::Variable::==}(null))
-      this.{self::BinaryConstraint::v1}.{self::Variable::removeConstraint}(this);
-    if(!this.{self::BinaryConstraint::v2}.{self::Variable::==}(null))
-      this.{self::BinaryConstraint::v2}.{self::Variable::removeConstraint}(this);
-    this.{self::BinaryConstraint::direction} = #C1;
-  }
-}
-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) → self::ScaleConstraint*
-    : self::ScaleConstraint::scale = scale, self::ScaleConstraint::offset = offset, super self::BinaryConstraint::•(src, dest, strength)
-    ;
-  method addToGraph() → void {
-    super.{self::BinaryConstraint::addToGraph}();
-    this.{self::ScaleConstraint::scale}.{self::Variable::addConstraint}(this);
-    this.{self::ScaleConstraint::offset}.{self::Variable::addConstraint}(this);
-  }
-  method removeFromGraph() → void {
-    super.{self::BinaryConstraint::removeFromGraph}();
-    if(!this.{self::ScaleConstraint::scale}.{self::Variable::==}(null))
-      this.{self::ScaleConstraint::scale}.{self::Variable::removeConstraint}(this);
-    if(!this.{self::ScaleConstraint::offset}.{self::Variable::==}(null))
-      this.{self::ScaleConstraint::offset}.{self::Variable::removeConstraint}(this);
-  }
-  method markInputs(core::int* mark) → void {
-    super.{self::BinaryConstraint::markInputs}(mark);
-    this.{self::ScaleConstraint::scale}.{self::Variable::mark} = this.{self::ScaleConstraint::offset}.{self::Variable::mark} = mark;
-  }
-  method execute() → void {
-    if(this.{self::BinaryConstraint::direction}.{core::num::==}(#C4)) {
-      this.{self::BinaryConstraint::v2}.{self::Variable::value} = this.{self::BinaryConstraint::v1}.{self::Variable::value}.{core::num::*}(this.{self::ScaleConstraint::scale}.{self::Variable::value}).{core::num::+}(this.{self::ScaleConstraint::offset}.{self::Variable::value});
-    }
-    else {
-      this.{self::BinaryConstraint::v1}.{self::Variable::value} = this.{self::BinaryConstraint::v2}.{self::Variable::value}.{core::num::-}(this.{self::ScaleConstraint::offset}.{self::Variable::value}).{core::num::~/}(this.{self::ScaleConstraint::scale}.{self::Variable::value});
-    }
-  }
-  method recalculate() → void {
-    self::Variable* ihn = this.{self::BinaryConstraint::input}();
-    self::Variable* out = this.{self::BinaryConstraint::output}();
-    out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}, ihn.{self::Variable::walkStrength});
-    out.{self::Variable::stay} = ihn.{self::Variable::stay} && this.{self::ScaleConstraint::scale}.{self::Variable::stay} && this.{self::ScaleConstraint::offset}.{self::Variable::stay};
-    if(out.{self::Variable::stay})
-      this.{self::ScaleConstraint::execute}();
-  }
-}
-class EqualityConstraint extends self::BinaryConstraint {
-  constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::EqualityConstraint*
-    : super self::BinaryConstraint::•(v1, v2, strength)
-    ;
-  method execute() → void {
-    this.{self::BinaryConstraint::output}().{self::Variable::value} = this.{self::BinaryConstraint::input}().{self::Variable::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 = #C18;
-  field core::bool* stay = true;
-  field core::int* value;
-  final field core::String* name;
-  constructor •(core::String* name, core::int* value) → self::Variable*
-    : self::Variable::name = name, self::Variable::value = value, super core::Object::•()
-    ;
-  method addConstraint(self::Constraint* c) → void {
-    this.{self::Variable::constraints}.{core::List::add}(c);
-  }
-  method removeConstraint(self::Constraint* c) → void {
-    this.{self::Variable::constraints}.{core::List::remove}(c);
-    if(this.{self::Variable::determinedBy}.{self::Constraint::==}(c))
-      this.{self::Variable::determinedBy} = null;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Planner extends core::Object {
-  field core::int* currentMark = 0;
-  synthetic constructor •() → self::Planner*
-    : super core::Object::•()
-    ;
-  method incrementalAdd(self::Constraint* c) → void {
-    core::int* mark = this.{self::Planner::newMark}();
-    for (self::Constraint* overridden = c.{self::Constraint::satisfy}(mark); !overridden.{self::Constraint::==}(null); overridden = overridden.{self::Constraint::satisfy}(mark))
-      ;
-  }
-  method incrementalRemove(self::Constraint* c) → void {
-    self::Variable* out = c.{self::Constraint::output}();
-    c.{self::Constraint::markUnsatisfied}();
-    c.{self::Constraint::removeFromGraph}();
-    core::List<self::Constraint*>* unsatisfied = this.{self::Planner::removePropagateFrom}(out);
-    self::Strength* strength = #C22;
-    do {
-      for (core::int* i = 0; i.{core::num::<}(unsatisfied.{core::List::length}); i = i.{core::num::+}(1)) {
-        self::Constraint* u = unsatisfied.{core::List::[]}(i);
-        if(u.{self::Constraint::strength}.{self::Strength::==}(strength))
-          this.{self::Planner::incrementalAdd}(u);
-      }
-      strength = strength.{self::Strength::nextWeaker}();
-    }
-    while (!strength.{self::Strength::==}(#C18))
-  }
-  method newMark() → core::int*
-    return this.{self::Planner::currentMark} = this.{self::Planner::currentMark}.{core::num::+}(1);
-  method makePlan(core::List<self::Constraint*>* sources) → self::Plan* {
-    core::int* mark = this.{self::Planner::newMark}();
-    self::Plan* plan = new self::Plan::•();
-    core::List<self::Constraint*>* todo = sources;
-    while (todo.{core::List::length}.{core::num::>}(0)) {
-      self::Constraint* c = todo.{core::List::removeLast}();
-      if(!c.{self::Constraint::output}().{self::Variable::mark}.{core::num::==}(mark) && c.{self::Constraint::inputsKnown}(mark)) {
-        plan.{self::Plan::addConstraint}(c);
-        c.{self::Constraint::output}().{self::Variable::mark} = mark;
-        this.{self::Planner::addConstraintsConsumingTo}(c.{self::Constraint::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.{core::num::<}(constraints.{core::List::length}); i = i.{core::num::+}(1)) {
-      self::Constraint* c = constraints.{core::List::[]}(i);
-      if(c.{self::Constraint::isInput}() && c.{self::Constraint::isSatisfied}())
-        sources.{core::List::add}(c);
-    }
-    return this.{self::Planner::makePlan}(sources);
-  }
-  method addPropagate(self::Constraint* c, core::int* mark) → core::bool* {
-    core::List<self::Constraint*>* todo = <self::Constraint*>[c];
-    while (todo.{core::List::length}.{core::num::>}(0)) {
-      self::Constraint* d = todo.{core::List::removeLast}();
-      if(d.{self::Constraint::output}().{self::Variable::mark}.{core::num::==}(mark)) {
-        this.{self::Planner::incrementalRemove}(c);
-        return false;
-      }
-      d.{self::Constraint::recalculate}();
-      this.{self::Planner::addConstraintsConsumingTo}(d.{self::Constraint::output}(), todo);
-    }
-    return true;
-  }
-  method removePropagateFrom(self::Variable* out) → core::List<self::Constraint*>* {
-    out.{self::Variable::determinedBy} = null;
-    out.{self::Variable::walkStrength} = #C18;
-    out.{self::Variable::stay} = true;
-    core::List<self::Constraint*>* unsatisfied = <self::Constraint*>[];
-    core::List<self::Variable*>* todo = <self::Variable*>[out];
-    while (todo.{core::List::length}.{core::num::>}(0)) {
-      self::Variable* v = todo.{core::List::removeLast}();
-      for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
-        self::Constraint* c = v.{self::Variable::constraints}.{core::List::[]}(i);
-        if(!c.{self::Constraint::isSatisfied}())
-          unsatisfied.{core::List::add}(c);
-      }
-      self::Constraint* determining = v.{self::Variable::determinedBy};
-      for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
-        self::Constraint* next = v.{self::Variable::constraints}.{core::List::[]}(i);
-        if(!next.{self::Constraint::==}(determining) && next.{self::Constraint::isSatisfied}()) {
-          next.{self::Constraint::recalculate}();
-          todo.{core::List::add}(next.{self::Constraint::output}());
-        }
-      }
-    }
-    return unsatisfied;
-  }
-  method addConstraintsConsumingTo(self::Variable* v, core::List<self::Constraint*>* coll) → void {
-    self::Constraint* determining = v.{self::Variable::determinedBy};
-    for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
-      self::Constraint* c = v.{self::Variable::constraints}.{core::List::[]}(i);
-      if(!c.{self::Constraint::==}(determining) && c.{self::Constraint::isSatisfied}())
-        coll.{core::List::add}(c);
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Plan extends core::Object {
-  field core::List<self::Constraint*>* list = <self::Constraint*>[];
-  synthetic constructor •() → self::Plan*
-    : super core::Object::•()
-    ;
-  method addConstraint(self::Constraint* c) → void {
-    this.{self::Plan::list}.{core::List::add}(c);
-  }
-  method size() → core::int*
-    return this.{self::Plan::list}.{core::List::length};
-  method execute() → void {
-    for (core::int* i = 0; i.{core::num::<}(this.{self::Plan::list}.{core::List::length}); i = i.{core::num::+}(1)) {
-      this.{self::Plan::list}.{core::List::[]}(i).{self::Constraint::execute}();
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field self::Strength* REQUIRED = #C22;
-static const field self::Strength* STRONG_PREFERRED = #C3;
-static const field self::Strength* PREFERRED = #C6;
-static const field self::Strength* STRONG_DEFAULT = #C9;
-static const field self::Strength* NORMAL = #C12;
-static const field self::Strength* WEAK_DEFAULT = #C15;
-static const field self::Strength* WEAKEST = #C18;
-static const field core::int* NONE = #C1;
-static const field core::int* FORWARD = #C4;
-static const field core::int* BACKWARD = #C20;
-static field self::Planner* planner;
-static method main() → dynamic {
-  new self::DeltaBlue::•().{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.{core::num::<=}(n); i = i.{core::num::+}(1)) {
-    self::Variable* v = new self::Variable::•("v${i}", 0);
-    if(!prev.{self::Variable::==}(null))
-      new self::EqualityConstraint::•(prev, v, #C22);
-    if(i.{core::num::==}(0))
-      first = v;
-    if(i.{core::num::==}(n))
-      last = v;
-    prev = v;
-  }
-  new self::StayConstraint::•(last, #C9);
-  self::EditConstraint* edit = new self::EditConstraint::•(first, #C6);
-  self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(<self::Constraint*>[edit]);
-  for (core::int* i = 0; i.{core::num::<}(100); i = i.{core::num::+}(1)) {
-    first.{self::Variable::value} = i;
-    plan.{self::Plan::execute}();
-    if(!last.{self::Variable::value}.{core::num::==}(i)) {
-      core::print("Chain test failed:");
-      core::print("Expected last value to be ${i} but it was ${last.{self::Variable::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.{core::num::<}(n); i = i.{core::num::+}(1)) {
-    src = new self::Variable::•("src", i);
-    dst = new self::Variable::•("dst", i);
-    dests.{core::List::add}(dst);
-    new self::StayConstraint::•(src, #C12);
-    new self::ScaleConstraint::•(src, scale, offset, dst, #C22);
-  }
-  self::change(src, 17);
-  if(!dst.{self::Variable::value}.{core::num::==}(1170))
-    core::print("Projection 1 failed");
-  self::change(dst, 1050);
-  if(!src.{self::Variable::value}.{core::num::==}(5))
-    core::print("Projection 2 failed");
-  self::change(scale, 5);
-  for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1)); i = i.{core::num::+}(1)) {
-    if(!dests.{core::List::[]}(i).{self::Variable::value}.{core::num::==}(i.{core::num::*}(5).{core::num::+}(1000)))
-      core::print("Projection 3 failed");
-  }
-  self::change(offset, 2000);
-  for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1)); i = i.{core::num::+}(1)) {
-    if(!dests.{core::List::[]}(i).{self::Variable::value}.{core::num::==}(i.{core::num::*}(5).{core::num::+}(2000)))
-      core::print("Projection 4 failed");
-  }
-}
-static method change(self::Variable* v, core::int* newValue) → void {
-  self::EditConstraint* edit = new self::EditConstraint::•(v, #C6);
-  self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(<self::EditConstraint*>[edit]);
-  for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
-    v.{self::Variable::value} = newValue;
-    plan.{self::Plan::execute}();
-  }
-  edit.{self::Constraint::destroyConstraint}();
-}
-
-constants  {
-  #C1 = 1
-  #C2 = "strongPreferred"
-  #C3 = self::Strength {value:#C1, name:#C2}
-  #C4 = 2
-  #C5 = "preferred"
-  #C6 = self::Strength {value:#C4, name:#C5}
-  #C7 = 3
-  #C8 = "strongDefault"
-  #C9 = self::Strength {value:#C7, name:#C8}
-  #C10 = 4
-  #C11 = "normal"
-  #C12 = self::Strength {value:#C10, name:#C11}
-  #C13 = 5
-  #C14 = "weakDefault"
-  #C15 = self::Strength {value:#C13, name:#C14}
-  #C16 = 6
-  #C17 = "weakest"
-  #C18 = self::Strength {value:#C16, name:#C17}
-  #C19 = <self::Strength*>[#C3, #C6, #C9, #C12, #C15, #C18]
-  #C20 = 0
-  #C21 = "required"
-  #C22 = self::Strength {value:#C20, name:#C21}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.strong.transformed.expect
deleted file mode 100644
index 2a474d9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.strong.transformed.expect
+++ /dev/null
@@ -1,535 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class DeltaBlue extends core::Object {
-  synthetic constructor •() → self::DeltaBlue*
-    : super core::Object::•()
-    ;
-  method run() → void {
-    self::chainTest(100);
-    self::projectionTest(100);
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Strength extends core::Object /*hasConstConstructor*/  {
-  final field core::int* value;
-  final field core::String* name;
-  const constructor •(core::int* value, core::String* name) → self::Strength*
-    : self::Strength::value = value, self::Strength::name = name, super core::Object::•()
-    ;
-  method nextWeaker() → self::Strength*
-    return (#C19).{core::List::[]}(this.{self::Strength::value});
-  static method stronger(self::Strength* s1, self::Strength* s2) → core::bool* {
-    return s1.{self::Strength::value}.{core::num::<}(s2.{self::Strength::value});
-  }
-  static method weaker(self::Strength* s1, self::Strength* s2) → core::bool* {
-    return s1.{self::Strength::value}.{core::num::>}(s2.{self::Strength::value});
-  }
-  static method weakest(self::Strength* s1, self::Strength* s2) → self::Strength* {
-    return self::Strength::weaker(s1, s2) ?{self::Strength*} s1 : s2;
-  }
-  static method strongest(self::Strength* s1, self::Strength* s2) → self::Strength* {
-    return self::Strength::stronger(s1, s2) ?{self::Strength*} s1 : s2;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Constraint extends core::Object /*hasConstConstructor*/  {
-  final field self::Strength* strength;
-  const constructor •(self::Strength* strength) → self::Constraint*
-    : 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.{self::Constraint::addToGraph}();
-    self::planner.{self::Planner::incrementalAdd}(this);
-  }
-  method satisfy(dynamic mark) → self::Constraint* {
-    this.{self::Constraint::chooseMethod}(mark as{TypeError,ForDynamic} core::int*);
-    if(!this.{self::Constraint::isSatisfied}()) {
-      if(this.{self::Constraint::strength}.{self::Strength::==}(#C22)) {
-        core::print("Could not satisfy a required constraint!");
-      }
-      return null;
-    }
-    this.{self::Constraint::markInputs}(mark as{TypeError,ForDynamic} core::int*);
-    self::Variable* out = this.{self::Constraint::output}();
-    self::Constraint* overridden = out.{self::Variable::determinedBy};
-    if(!overridden.{self::Constraint::==}(null))
-      overridden.{self::Constraint::markUnsatisfied}();
-    out.{self::Variable::determinedBy} = this;
-    if(!self::planner.{self::Planner::addPropagate}(this, mark as{TypeError,ForDynamic} core::int*))
-      core::print("Cycle encountered");
-    out.{self::Variable::mark} = mark as{TypeError,ForDynamic} core::int*;
-    return overridden;
-  }
-  method destroyConstraint() → void {
-    if(this.{self::Constraint::isSatisfied}())
-      self::planner.{self::Planner::incrementalRemove}(this);
-    this.{self::Constraint::removeFromGraph}();
-  }
-  method isInput() → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class UnaryConstraint extends self::Constraint {
-  final field self::Variable* myOutput;
-  field core::bool* satisfied = false;
-  constructor •(self::Variable* myOutput, self::Strength* strength) → self::UnaryConstraint*
-    : self::UnaryConstraint::myOutput = myOutput, super self::Constraint::•(strength) {
-    this.{self::Constraint::addConstraint}();
-  }
-  method addToGraph() → void {
-    this.{self::UnaryConstraint::myOutput}.{self::Variable::addConstraint}(this);
-    this.{self::UnaryConstraint::satisfied} = false;
-  }
-  method chooseMethod(core::int* mark) → void {
-    this.{self::UnaryConstraint::satisfied} = !this.{self::UnaryConstraint::myOutput}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::UnaryConstraint::myOutput}.{self::Variable::walkStrength});
-  }
-  method isSatisfied() → core::bool*
-    return this.{self::UnaryConstraint::satisfied};
-  method markInputs(core::int* mark) → void {}
-  method output() → self::Variable*
-    return this.{self::UnaryConstraint::myOutput};
-  method recalculate() → void {
-    this.{self::UnaryConstraint::myOutput}.{self::Variable::walkStrength} = this.{self::Constraint::strength};
-    this.{self::UnaryConstraint::myOutput}.{self::Variable::stay} = !this.{self::Constraint::isInput}();
-    if(this.{self::UnaryConstraint::myOutput}.{self::Variable::stay})
-      this.{self::Constraint::execute}();
-  }
-  method markUnsatisfied() → void {
-    this.{self::UnaryConstraint::satisfied} = false;
-  }
-  method inputsKnown(core::int* mark) → core::bool*
-    return true;
-  method removeFromGraph() → void {
-    if(!this.{self::UnaryConstraint::myOutput}.{self::Variable::==}(null))
-      this.{self::UnaryConstraint::myOutput}.{self::Variable::removeConstraint}(this);
-    this.{self::UnaryConstraint::satisfied} = false;
-  }
-}
-class StayConstraint extends self::UnaryConstraint {
-  constructor •(self::Variable* v, self::Strength* str) → self::StayConstraint*
-    : super self::UnaryConstraint::•(v, str)
-    ;
-  method execute() → void {}
-}
-class EditConstraint extends self::UnaryConstraint {
-  constructor •(self::Variable* v, self::Strength* str) → self::EditConstraint*
-    : 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 = #C1;
-  constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::BinaryConstraint*
-    : self::BinaryConstraint::v1 = v1, self::BinaryConstraint::v2 = v2, super self::Constraint::•(strength) {
-    this.{self::Constraint::addConstraint}();
-  }
-  method chooseMethod(core::int* mark) → void {
-    if(this.{self::BinaryConstraint::v1}.{self::Variable::mark}.{core::num::==}(mark)) {
-      this.{self::BinaryConstraint::direction} = !this.{self::BinaryConstraint::v2}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength}) ?{core::int*} #C4 : #C1;
-    }
-    if(this.{self::BinaryConstraint::v2}.{self::Variable::mark}.{core::num::==}(mark)) {
-      this.{self::BinaryConstraint::direction} = !this.{self::BinaryConstraint::v1}.{self::Variable::mark}.{core::num::==}(mark) && self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}) ?{core::int*} #C20 : #C1;
-    }
-    if(self::Strength::weaker(this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength})) {
-      this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v1}.{self::Variable::walkStrength}) ?{core::int*} #C20 : #C1;
-    }
-    else {
-      this.{self::BinaryConstraint::direction} = self::Strength::stronger(this.{self::Constraint::strength}, this.{self::BinaryConstraint::v2}.{self::Variable::walkStrength}) ?{core::int*} #C4 : #C20;
-    }
-  }
-  method addToGraph() → void {
-    this.{self::BinaryConstraint::v1}.{self::Variable::addConstraint}(this);
-    this.{self::BinaryConstraint::v2}.{self::Variable::addConstraint}(this);
-    this.{self::BinaryConstraint::direction} = #C1;
-  }
-  method isSatisfied() → core::bool*
-    return !this.{self::BinaryConstraint::direction}.{core::num::==}(#C1);
-  method markInputs(core::int* mark) → void {
-    this.{self::BinaryConstraint::input}().{self::Variable::mark} = mark;
-  }
-  method input() → self::Variable*
-    return this.{self::BinaryConstraint::direction}.{core::num::==}(#C4) ?{self::Variable*} this.{self::BinaryConstraint::v1} : this.{self::BinaryConstraint::v2};
-  method output() → self::Variable*
-    return this.{self::BinaryConstraint::direction}.{core::num::==}(#C4) ?{self::Variable*} this.{self::BinaryConstraint::v2} : this.{self::BinaryConstraint::v1};
-  method recalculate() → void {
-    self::Variable* ihn = this.{self::BinaryConstraint::input}();
-    self::Variable* out = this.{self::BinaryConstraint::output}();
-    out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}, ihn.{self::Variable::walkStrength});
-    out.{self::Variable::stay} = ihn.{self::Variable::stay};
-    if(out.{self::Variable::stay})
-      this.{self::Constraint::execute}();
-  }
-  method markUnsatisfied() → void {
-    this.{self::BinaryConstraint::direction} = #C1;
-  }
-  method inputsKnown(core::int* mark) → core::bool* {
-    self::Variable* i = this.{self::BinaryConstraint::input}();
-    return i.{self::Variable::mark}.{core::num::==}(mark) || i.{self::Variable::stay} || i.{self::Variable::determinedBy}.{self::Constraint::==}(null);
-  }
-  method removeFromGraph() → void {
-    if(!this.{self::BinaryConstraint::v1}.{self::Variable::==}(null))
-      this.{self::BinaryConstraint::v1}.{self::Variable::removeConstraint}(this);
-    if(!this.{self::BinaryConstraint::v2}.{self::Variable::==}(null))
-      this.{self::BinaryConstraint::v2}.{self::Variable::removeConstraint}(this);
-    this.{self::BinaryConstraint::direction} = #C1;
-  }
-}
-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) → self::ScaleConstraint*
-    : self::ScaleConstraint::scale = scale, self::ScaleConstraint::offset = offset, super self::BinaryConstraint::•(src, dest, strength)
-    ;
-  method addToGraph() → void {
-    super.{self::BinaryConstraint::addToGraph}();
-    this.{self::ScaleConstraint::scale}.{self::Variable::addConstraint}(this);
-    this.{self::ScaleConstraint::offset}.{self::Variable::addConstraint}(this);
-  }
-  method removeFromGraph() → void {
-    super.{self::BinaryConstraint::removeFromGraph}();
-    if(!this.{self::ScaleConstraint::scale}.{self::Variable::==}(null))
-      this.{self::ScaleConstraint::scale}.{self::Variable::removeConstraint}(this);
-    if(!this.{self::ScaleConstraint::offset}.{self::Variable::==}(null))
-      this.{self::ScaleConstraint::offset}.{self::Variable::removeConstraint}(this);
-  }
-  method markInputs(core::int* mark) → void {
-    super.{self::BinaryConstraint::markInputs}(mark);
-    this.{self::ScaleConstraint::scale}.{self::Variable::mark} = this.{self::ScaleConstraint::offset}.{self::Variable::mark} = mark;
-  }
-  method execute() → void {
-    if(this.{self::BinaryConstraint::direction}.{core::num::==}(#C4)) {
-      this.{self::BinaryConstraint::v2}.{self::Variable::value} = this.{self::BinaryConstraint::v1}.{self::Variable::value}.{core::num::*}(this.{self::ScaleConstraint::scale}.{self::Variable::value}).{core::num::+}(this.{self::ScaleConstraint::offset}.{self::Variable::value});
-    }
-    else {
-      this.{self::BinaryConstraint::v1}.{self::Variable::value} = this.{self::BinaryConstraint::v2}.{self::Variable::value}.{core::num::-}(this.{self::ScaleConstraint::offset}.{self::Variable::value}).{core::num::~/}(this.{self::ScaleConstraint::scale}.{self::Variable::value});
-    }
-  }
-  method recalculate() → void {
-    self::Variable* ihn = this.{self::BinaryConstraint::input}();
-    self::Variable* out = this.{self::BinaryConstraint::output}();
-    out.{self::Variable::walkStrength} = self::Strength::weakest(this.{self::Constraint::strength}, ihn.{self::Variable::walkStrength});
-    out.{self::Variable::stay} = ihn.{self::Variable::stay} && this.{self::ScaleConstraint::scale}.{self::Variable::stay} && this.{self::ScaleConstraint::offset}.{self::Variable::stay};
-    if(out.{self::Variable::stay})
-      this.{self::ScaleConstraint::execute}();
-  }
-}
-class EqualityConstraint extends self::BinaryConstraint {
-  constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::EqualityConstraint*
-    : super self::BinaryConstraint::•(v1, v2, strength)
-    ;
-  method execute() → void {
-    this.{self::BinaryConstraint::output}().{self::Variable::value} = this.{self::BinaryConstraint::input}().{self::Variable::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 = #C18;
-  field core::bool* stay = true;
-  field core::int* value;
-  final field core::String* name;
-  constructor •(core::String* name, core::int* value) → self::Variable*
-    : self::Variable::name = name, self::Variable::value = value, super core::Object::•()
-    ;
-  method addConstraint(self::Constraint* c) → void {
-    this.{self::Variable::constraints}.{core::List::add}(c);
-  }
-  method removeConstraint(self::Constraint* c) → void {
-    this.{self::Variable::constraints}.{core::List::remove}(c);
-    if(this.{self::Variable::determinedBy}.{self::Constraint::==}(c))
-      this.{self::Variable::determinedBy} = null;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Planner extends core::Object {
-  field core::int* currentMark = 0;
-  synthetic constructor •() → self::Planner*
-    : super core::Object::•()
-    ;
-  method incrementalAdd(self::Constraint* c) → void {
-    core::int* mark = this.{self::Planner::newMark}();
-    for (self::Constraint* overridden = c.{self::Constraint::satisfy}(mark); !overridden.{self::Constraint::==}(null); overridden = overridden.{self::Constraint::satisfy}(mark))
-      ;
-  }
-  method incrementalRemove(self::Constraint* c) → void {
-    self::Variable* out = c.{self::Constraint::output}();
-    c.{self::Constraint::markUnsatisfied}();
-    c.{self::Constraint::removeFromGraph}();
-    core::List<self::Constraint*>* unsatisfied = this.{self::Planner::removePropagateFrom}(out);
-    self::Strength* strength = #C22;
-    do {
-      for (core::int* i = 0; i.{core::num::<}(unsatisfied.{core::List::length}); i = i.{core::num::+}(1)) {
-        self::Constraint* u = unsatisfied.{core::List::[]}(i);
-        if(u.{self::Constraint::strength}.{self::Strength::==}(strength))
-          this.{self::Planner::incrementalAdd}(u);
-      }
-      strength = strength.{self::Strength::nextWeaker}();
-    }
-    while (!strength.{self::Strength::==}(#C18))
-  }
-  method newMark() → core::int*
-    return this.{self::Planner::currentMark} = this.{self::Planner::currentMark}.{core::num::+}(1);
-  method makePlan(core::List<self::Constraint*>* sources) → self::Plan* {
-    core::int* mark = this.{self::Planner::newMark}();
-    self::Plan* plan = new self::Plan::•();
-    core::List<self::Constraint*>* todo = sources;
-    while (todo.{core::List::length}.{core::num::>}(0)) {
-      self::Constraint* c = todo.{core::List::removeLast}();
-      if(!c.{self::Constraint::output}().{self::Variable::mark}.{core::num::==}(mark) && c.{self::Constraint::inputsKnown}(mark)) {
-        plan.{self::Plan::addConstraint}(c);
-        c.{self::Constraint::output}().{self::Variable::mark} = mark;
-        this.{self::Planner::addConstraintsConsumingTo}(c.{self::Constraint::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.{core::num::<}(constraints.{core::List::length}); i = i.{core::num::+}(1)) {
-      self::Constraint* c = constraints.{core::List::[]}(i);
-      if(c.{self::Constraint::isInput}() && c.{self::Constraint::isSatisfied}())
-        sources.{core::List::add}(c);
-    }
-    return this.{self::Planner::makePlan}(sources);
-  }
-  method addPropagate(self::Constraint* c, core::int* mark) → core::bool* {
-    core::List<self::Constraint*>* todo = <self::Constraint*>[c];
-    while (todo.{core::List::length}.{core::num::>}(0)) {
-      self::Constraint* d = todo.{core::List::removeLast}();
-      if(d.{self::Constraint::output}().{self::Variable::mark}.{core::num::==}(mark)) {
-        this.{self::Planner::incrementalRemove}(c);
-        return false;
-      }
-      d.{self::Constraint::recalculate}();
-      this.{self::Planner::addConstraintsConsumingTo}(d.{self::Constraint::output}(), todo);
-    }
-    return true;
-  }
-  method removePropagateFrom(self::Variable* out) → core::List<self::Constraint*>* {
-    out.{self::Variable::determinedBy} = null;
-    out.{self::Variable::walkStrength} = #C18;
-    out.{self::Variable::stay} = true;
-    core::List<self::Constraint*>* unsatisfied = <self::Constraint*>[];
-    core::List<self::Variable*>* todo = <self::Variable*>[out];
-    while (todo.{core::List::length}.{core::num::>}(0)) {
-      self::Variable* v = todo.{core::List::removeLast}();
-      for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
-        self::Constraint* c = v.{self::Variable::constraints}.{core::List::[]}(i);
-        if(!c.{self::Constraint::isSatisfied}())
-          unsatisfied.{core::List::add}(c);
-      }
-      self::Constraint* determining = v.{self::Variable::determinedBy};
-      for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
-        self::Constraint* next = v.{self::Variable::constraints}.{core::List::[]}(i);
-        if(!next.{self::Constraint::==}(determining) && next.{self::Constraint::isSatisfied}()) {
-          next.{self::Constraint::recalculate}();
-          todo.{core::List::add}(next.{self::Constraint::output}());
-        }
-      }
-    }
-    return unsatisfied;
-  }
-  method addConstraintsConsumingTo(self::Variable* v, core::List<self::Constraint*>* coll) → void {
-    self::Constraint* determining = v.{self::Variable::determinedBy};
-    for (core::int* i = 0; i.{core::num::<}(v.{self::Variable::constraints}.{core::List::length}); i = i.{core::num::+}(1)) {
-      self::Constraint* c = v.{self::Variable::constraints}.{core::List::[]}(i);
-      if(!c.{self::Constraint::==}(determining) && c.{self::Constraint::isSatisfied}())
-        coll.{core::List::add}(c);
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Plan extends core::Object {
-  field core::List<self::Constraint*>* list = <self::Constraint*>[];
-  synthetic constructor •() → self::Plan*
-    : super core::Object::•()
-    ;
-  method addConstraint(self::Constraint* c) → void {
-    this.{self::Plan::list}.{core::List::add}(c);
-  }
-  method size() → core::int*
-    return this.{self::Plan::list}.{core::List::length};
-  method execute() → void {
-    for (core::int* i = 0; i.{core::num::<}(this.{self::Plan::list}.{core::List::length}); i = i.{core::num::+}(1)) {
-      this.{self::Plan::list}.{core::List::[]}(i).{self::Constraint::execute}();
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field self::Strength* REQUIRED = #C22;
-static const field self::Strength* STRONG_PREFERRED = #C3;
-static const field self::Strength* PREFERRED = #C6;
-static const field self::Strength* STRONG_DEFAULT = #C9;
-static const field self::Strength* NORMAL = #C12;
-static const field self::Strength* WEAK_DEFAULT = #C15;
-static const field self::Strength* WEAKEST = #C18;
-static const field core::int* NONE = #C1;
-static const field core::int* FORWARD = #C4;
-static const field core::int* BACKWARD = #C20;
-static field self::Planner* planner;
-static method main() → dynamic {
-  new self::DeltaBlue::•().{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.{core::num::<=}(n); i = i.{core::num::+}(1)) {
-    self::Variable* v = new self::Variable::•("v${i}", 0);
-    if(!prev.{self::Variable::==}(null))
-      new self::EqualityConstraint::•(prev, v, #C22);
-    if(i.{core::num::==}(0))
-      first = v;
-    if(i.{core::num::==}(n))
-      last = v;
-    prev = v;
-  }
-  new self::StayConstraint::•(last, #C9);
-  self::EditConstraint* edit = new self::EditConstraint::•(first, #C6);
-  self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(<self::Constraint*>[edit]);
-  for (core::int* i = 0; i.{core::num::<}(100); i = i.{core::num::+}(1)) {
-    first.{self::Variable::value} = i;
-    plan.{self::Plan::execute}();
-    if(!last.{self::Variable::value}.{core::num::==}(i)) {
-      core::print("Chain test failed:");
-      core::print("Expected last value to be ${i} but it was ${last.{self::Variable::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.{core::num::<}(n); i = i.{core::num::+}(1)) {
-    src = new self::Variable::•("src", i);
-    dst = new self::Variable::•("dst", i);
-    dests.{core::List::add}(dst);
-    new self::StayConstraint::•(src, #C12);
-    new self::ScaleConstraint::•(src, scale, offset, dst, #C22);
-  }
-  self::change(src, 17);
-  if(!dst.{self::Variable::value}.{core::num::==}(1170))
-    core::print("Projection 1 failed");
-  self::change(dst, 1050);
-  if(!src.{self::Variable::value}.{core::num::==}(5))
-    core::print("Projection 2 failed");
-  self::change(scale, 5);
-  for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1)); i = i.{core::num::+}(1)) {
-    if(!dests.{core::List::[]}(i).{self::Variable::value}.{core::num::==}(i.{core::num::*}(5).{core::num::+}(1000)))
-      core::print("Projection 3 failed");
-  }
-  self::change(offset, 2000);
-  for (core::int* i = 0; i.{core::num::<}(n.{core::num::-}(1)); i = i.{core::num::+}(1)) {
-    if(!dests.{core::List::[]}(i).{self::Variable::value}.{core::num::==}(i.{core::num::*}(5).{core::num::+}(2000)))
-      core::print("Projection 4 failed");
-  }
-}
-static method change(self::Variable* v, core::int* newValue) → void {
-  self::EditConstraint* edit = new self::EditConstraint::•(v, #C6);
-  self::Plan* plan = self::planner.{self::Planner::extractPlanFromConstraints}(<self::EditConstraint*>[edit]);
-  for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
-    v.{self::Variable::value} = newValue;
-    plan.{self::Plan::execute}();
-  }
-  edit.{self::Constraint::destroyConstraint}();
-}
-
-constants  {
-  #C1 = 1
-  #C2 = "strongPreferred"
-  #C3 = self::Strength {value:#C1, name:#C2}
-  #C4 = 2
-  #C5 = "preferred"
-  #C6 = self::Strength {value:#C4, name:#C5}
-  #C7 = 3
-  #C8 = "strongDefault"
-  #C9 = self::Strength {value:#C7, name:#C8}
-  #C10 = 4
-  #C11 = "normal"
-  #C12 = self::Strength {value:#C10, name:#C11}
-  #C13 = 5
-  #C14 = "weakDefault"
-  #C15 = self::Strength {value:#C13, name:#C14}
-  #C16 = 6
-  #C17 = "weakest"
-  #C18 = self::Strength {value:#C16, name:#C17}
-  #C19 = <self::Strength*>[#C3, #C6, #C9, #C12, #C15, #C18]
-  #C20 = 0
-  #C21 = "required"
-  #C22 = self::Strength {value:#C20, name:#C21}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.weak.outline.expect
new file mode 100644
index 0000000..a1719a9
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/DeltaBlue.dart.weak.outline.expect
@@ -0,0 +1,275 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class DeltaBlue extends core::Object {
+  synthetic constructor •() → self::DeltaBlue*
+    ;
+  method run() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Strength extends core::Object /*hasConstConstructor*/  {
+  final field core::int* value;
+  final field core::String* name;
+  const constructor •(core::int* value, core::String* name) → self::Strength*
+    : self::Strength::value = value, self::Strength::name = name, super core::Object::•()
+    ;
+  method nextWeaker() → self::Strength*
+    ;
+  static method stronger(self::Strength* s1, self::Strength* s2) → core::bool*
+    ;
+  static method weaker(self::Strength* s1, self::Strength* s2) → core::bool*
+    ;
+  static method weakest(self::Strength* s1, self::Strength* s2) → self::Strength*
+    ;
+  static method strongest(self::Strength* s1, self::Strength* s2) → self::Strength*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Constraint extends core::Object /*hasConstConstructor*/  {
+  final field self::Strength* strength;
+  const constructor •(self::Strength* strength) → self::Constraint*
+    : 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
+    ;
+  method satisfy(dynamic mark) → self::Constraint*
+    ;
+  method destroyConstraint() → void
+    ;
+  method isInput() → core::bool*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class UnaryConstraint extends self::Constraint {
+  final field self::Variable* myOutput;
+  field core::bool* satisfied;
+  constructor •(self::Variable* myOutput, self::Strength* strength) → self::UnaryConstraint*
+    ;
+  method addToGraph() → void
+    ;
+  method chooseMethod(core::int* mark) → void
+    ;
+  method isSatisfied() → core::bool*
+    ;
+  method markInputs(core::int* mark) → void
+    ;
+  method output() → self::Variable*
+    ;
+  method recalculate() → void
+    ;
+  method markUnsatisfied() → void
+    ;
+  method inputsKnown(core::int* mark) → core::bool*
+    ;
+  method removeFromGraph() → void
+    ;
+}
+class StayConstraint extends self::UnaryConstraint {
+  constructor •(self::Variable* v, self::Strength* str) → self::StayConstraint*
+    ;
+  method execute() → void
+    ;
+}
+class EditConstraint extends self::UnaryConstraint {
+  constructor •(self::Variable* v, self::Strength* str) → self::EditConstraint*
+    ;
+  method isInput() → core::bool*
+    ;
+  method execute() → void
+    ;
+}
+abstract class BinaryConstraint extends self::Constraint {
+  field self::Variable* v1;
+  field self::Variable* v2;
+  field core::int* direction;
+  constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::BinaryConstraint*
+    ;
+  method chooseMethod(core::int* mark) → void
+    ;
+  method addToGraph() → void
+    ;
+  method isSatisfied() → core::bool*
+    ;
+  method markInputs(core::int* mark) → void
+    ;
+  method input() → self::Variable*
+    ;
+  method output() → self::Variable*
+    ;
+  method recalculate() → void
+    ;
+  method markUnsatisfied() → void
+    ;
+  method inputsKnown(core::int* mark) → core::bool*
+    ;
+  method removeFromGraph() → void
+    ;
+}
+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) → self::ScaleConstraint*
+    ;
+  method addToGraph() → void
+    ;
+  method removeFromGraph() → void
+    ;
+  method markInputs(core::int* mark) → void
+    ;
+  method execute() → void
+    ;
+  method recalculate() → void
+    ;
+}
+class EqualityConstraint extends self::BinaryConstraint {
+  constructor •(self::Variable* v1, self::Variable* v2, self::Strength* strength) → self::EqualityConstraint*
+    ;
+  method execute() → void
+    ;
+}
+class Variable extends core::Object {
+  field core::List<self::Constraint*>* constraints;
+  field self::Constraint* determinedBy;
+  field core::int* mark;
+  field self::Strength* walkStrength;
+  field core::bool* stay;
+  field core::int* value;
+  final field core::String* name;
+  constructor •(core::String* name, core::int* value) → self::Variable*
+    ;
+  method addConstraint(self::Constraint* c) → void
+    ;
+  method removeConstraint(self::Constraint* c) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Planner extends core::Object {
+  field core::int* currentMark;
+  synthetic constructor •() → self::Planner*
+    ;
+  method incrementalAdd(self::Constraint* c) → void
+    ;
+  method incrementalRemove(self::Constraint* c) → void
+    ;
+  method newMark() → core::int*
+    ;
+  method makePlan(core::List<self::Constraint*>* sources) → self::Plan*
+    ;
+  method extractPlanFromConstraints(core::List<self::Constraint*>* constraints) → self::Plan*
+    ;
+  method addPropagate(self::Constraint* c, core::int* mark) → core::bool*
+    ;
+  method removePropagateFrom(self::Variable* out) → core::List<self::Constraint*>*
+    ;
+  method addConstraintsConsumingTo(self::Variable* v, core::List<self::Constraint*>* coll) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Plan extends core::Object {
+  field core::List<self::Constraint*>* list;
+  synthetic constructor •() → self::Plan*
+    ;
+  method addConstraint(self::Constraint* c) → void
+    ;
+  method size() → core::int*
+    ;
+  method execute() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field self::Strength* REQUIRED = const self::Strength::•(0, "required");
+static const field self::Strength* STRONG_PREFERRED = const self::Strength::•(1, "strongPreferred");
+static const field self::Strength* PREFERRED = const self::Strength::•(2, "preferred");
+static const field self::Strength* STRONG_DEFAULT = const self::Strength::•(3, "strongDefault");
+static const field self::Strength* NORMAL = const self::Strength::•(4, "normal");
+static const field self::Strength* WEAK_DEFAULT = const self::Strength::•(5, "weakDefault");
+static const field self::Strength* 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;
+static method main() → dynamic
+  ;
+static method chainTest(core::int* n) → void
+  ;
+static method projectionTest(core::int* n) → void
+  ;
+static method change(self::Variable* v, core::int* newValue) → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///DeltaBlue.dart:90:24 -> InstanceConstant(const Strength{Strength.value: 0, Strength.name: "required"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///DeltaBlue.dart:91:32 -> InstanceConstant(const Strength{Strength.value: 1, Strength.name: "strongPreferred"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///DeltaBlue.dart:92:25 -> InstanceConstant(const Strength{Strength.value: 2, Strength.name: "preferred"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///DeltaBlue.dart:93:30 -> InstanceConstant(const Strength{Strength.value: 3, Strength.name: "strongDefault"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///DeltaBlue.dart:94:22 -> InstanceConstant(const Strength{Strength.value: 4, Strength.name: "normal"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///DeltaBlue.dart:95:28 -> InstanceConstant(const Strength{Strength.value: 5, Strength.name: "weakDefault"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///DeltaBlue.dart:96:23 -> InstanceConstant(const Strength{Strength.value: 6, Strength.name: "weakest"})
+Extra constant evaluation: evaluated: 10, effectively constant: 7
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.hierarchy.expect
deleted file mode 100644
index 99a7137..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.hierarchy.expect
+++ /dev/null
@@ -1,614 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Interface1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Interface2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Interface2.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Interface2.interfaceMethod1
-
-Interface3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Interface3.interfaceMethod3
-  classSetters:
-
-A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    A.aMethod
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    A.aMethod
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> A
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    Object.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    Object.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-MyClass:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    MyClass.aaMethod
-    Object.toString
-    Object.runtimeType
-    MyClass.aMethod
-    Object._simpleInstanceOf
-    MyClass.bMethod
-    Object._instanceOf
-    MyClass.cMethod
-    Object.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    MyClass.property2
-  classSetters:
-    A.property3
-    A.property1
-    MyClass.property2
-  interfaceMembers:
-    MyClass.aaMethod
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    MyClass.aMethod
-    Object._simpleInstanceOf
-    MyClass.bMethod
-    Object._instanceOf
-    MyClass.cMethod
-    Object.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-    MyClass.property2
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    MyClass.property2
-
-MyMock1:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock1.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock1.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-MyMock2:
-  Longest path to Object: 5
-  superclasses:
-    Object
-      -> A
-        -> B
-          -> MyMock1
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock2.MyMock1.noSuchMethod%MyMock2.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock2.MyMock1.noSuchMethod%MyMock2.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-MyMock3:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces: Interface1, Interface2, Interface3
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock3.Object.noSuchMethod%MyMock3.noSuchMethod
-    A.abstractMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-  classSetters:
-    A.property3
-    A.property1
-    A.property2
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    B.aMethod
-    Object._simpleInstanceOf
-    B.bMethod
-    Object._instanceOf
-    MyMock3.Object.noSuchMethod%MyMock3.noSuchMethod
-    A.abstractMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.property1
-    Interface3.interfaceMethod3
-  interfaceSetters:
-    A.property3
-    Interface2.interfaceMethod1
-    A.property1
-    A.property2
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces: Interface2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Interface2.interfaceMethod2
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Interface2.interfaceMethod1
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.interfaceMethod1
-
-F:
-  superclasses:
-    Object
-      -> E
-  interfaces: Interface1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.interfaceMethod1
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Interface1.interfaceMethod1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.interfaceMethod1
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-H:
-  superclasses:
-    Object
-      -> G
-  interfaces: Foo
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Bar.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-J:
-  superclasses:
-    Object
-      -> I
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.outline.expect
deleted file mode 100644
index 76a1188..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.outline.expect
+++ /dev/null
@@ -1,374 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:21:16: Error: Can't inherit members that conflict with each other.
-// abstract class A implements Interface1, Interface2, Interface3 {
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is the other inherited member.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:35: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_nnbd_opt_out/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
-//   abstractMethod();
-//   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
-//   void set property1(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
-//   void set property3(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
-//   void interfaceMethod2() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
-//   void interfaceMethod3() {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:56: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_nnbd_opt_out/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
-//   abstractMethod();
-//   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
-//   void set property1(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:25:12: Context: 'A.property2=' is defined here.
-//   void set property2(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
-//   void set property3(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
-//   void interfaceMethod2() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
-//   void interfaceMethod3() {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:66:16: Error: Can't inherit members that conflict with each other.
-// abstract class D extends C implements Interface2 {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is one inherited member.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:61:8: Context: This is the other inherited member.
-//   void interfaceMethod1(_) {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:74:16: Error: Can't inherit members that conflict with each other.
-// abstract class F extends E implements Interface1 {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:69:12: Context: This is the other inherited member.
-//   void set interfaceMethod1(_) {}
-//            ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:86:16: Error: Can't inherit members that conflict with each other.
-// abstract class H extends G implements Foo {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:77:8: Context: This is one inherited member.
-//   void foo() {}
-//        ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:81:14: Context: This is the other inherited member.
-//   Object get foo => null;
-//              ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:98:16: Error: Can't inherit members that conflict with each other.
-// abstract class J extends I implements Bar {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:89:14: Context: This is one inherited member.
-//   Object get foo => null;
-//              ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:93: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*
-    ;
-  method interfaceMethod1() → void
-    ;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Interface2 extends core::Object {
-  field dynamic interfaceMethod1;
-  synthetic constructor •() → self::Interface2*
-    ;
-  method interfaceMethod2() → void
-    ;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Interface3 extends core::Object {
-  synthetic constructor •() → self::Interface3*
-    ;
-  method interfaceMethod3() → void
-    ;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class A extends core::Object implements self::Interface1, self::Interface2, self::Interface3 {
-  synthetic constructor •() → self::A*
-    ;
-  method aMethod() → dynamic
-    ;
-  abstract method abstractMethod() → dynamic;
-  abstract set property1(dynamic _) → void;
-  abstract set property2(dynamic _) → void;
-  abstract set property3(dynamic _) → void;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B extends self::A {
-  final field dynamic property1;
-  synthetic constructor •() → self::B*
-    ;
-  method aMethod() → dynamic
-    ;
-  method bMethod() → dynamic
-    ;
-}
-class MyClass extends self::B {
-  field dynamic property2;
-  synthetic constructor •() → self::MyClass*
-    ;
-  method aaMethod() → dynamic
-    ;
-  method aMethod() → dynamic
-    ;
-  method bMethod() → dynamic
-    ;
-  method cMethod() → dynamic
-    ;
-}
-class MyMock1 extends self::B {
-  synthetic constructor •() → self::MyMock1*
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    ;
-  no-such-method-forwarder method interfaceMethod2() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-  no-such-method-forwarder method abstractMethod() → dynamic
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#abstractMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} dynamic;
-  no-such-method-forwarder method interfaceMethod1() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-  no-such-method-forwarder method interfaceMethod3() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod3, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-  no-such-method-forwarder set property3(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-  no-such-method-forwarder set interfaceMethod1(dynamic value) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-  no-such-method-forwarder set property2(dynamic _) → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property2=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-}
-class MyMock2 extends self::MyMock1 {
-  synthetic constructor •() → self::MyMock2*
-    ;
-  abstract method noSuchMethod(core::Invocation* _) → dynamic;
-}
-class MyMock3 extends self::B {
-  synthetic constructor •() → self::MyMock3*
-    ;
-  abstract method noSuchMethod(core::Invocation* _) → dynamic;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method interfaceMethod1(dynamic _) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class D extends self::C implements self::Interface2 {
-  synthetic constructor •() → self::D*
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    ;
-  set interfaceMethod1(dynamic _) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class F extends self::E implements self::Interface1 {
-  synthetic constructor •() → self::F*
-    ;
-}
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    ;
-  method foo() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class G extends core::Object {
-  synthetic constructor •() → self::G*
-    ;
-  get foo() → core::Object*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class H extends self::G implements self::Foo {
-  synthetic constructor •() → self::H*
-    ;
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    ;
-  get foo() → core::Object*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    ;
-  method foo() → core::Object*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class J extends self::I implements self::Bar {
-  synthetic constructor •() → self::J*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.strong.expect
deleted file mode 100644
index 42326ef..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.strong.expect
+++ /dev/null
@@ -1,392 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:21:16: Error: Can't inherit members that conflict with each other.
-// abstract class A implements Interface1, Interface2, Interface3 {
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is the other inherited member.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:35: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_nnbd_opt_out/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
-//   abstractMethod();
-//   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
-//   void set property1(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
-//   void set property3(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
-//   void interfaceMethod2() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
-//   void interfaceMethod3() {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:56: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_nnbd_opt_out/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
-//   abstractMethod();
-//   ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
-//   void set property1(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:25:12: Context: 'A.property2=' is defined here.
-//   void set property2(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
-//   void set property3(_);
-//            ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
-//   void interfaceMethod2() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
-//   void interfaceMethod3() {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:66:16: Error: Can't inherit members that conflict with each other.
-// abstract class D extends C implements Interface2 {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is one inherited member.
-//   var interfaceMethod1;
-//       ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:61:8: Context: This is the other inherited member.
-//   void interfaceMethod1(_) {}
-//        ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:74:16: Error: Can't inherit members that conflict with each other.
-// abstract class F extends E implements Interface1 {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
-//   void interfaceMethod1() {}
-//        ^^^^^^^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:69:12: Context: This is the other inherited member.
-//   void set interfaceMethod1(_) {}
-//            ^^^^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:86:16: Error: Can't inherit members that conflict with each other.
-// abstract class H extends G implements Foo {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:77:8: Context: This is one inherited member.
-//   void foo() {}
-//        ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:81:14: Context: This is the other inherited member.
-//   Object get foo => null;
-//              ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:98:16: Error: Can't inherit members that conflict with each other.
-// abstract class J extends I implements Bar {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:89:14: Context: This is one inherited member.
-//   Object get foo => null;
-//              ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:93: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 {}
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Interface2 extends core::Object {
-  field dynamic interfaceMethod1 = null;
-  synthetic constructor •() → self::Interface2*
-    : super core::Object::•()
-    ;
-  method interfaceMethod2() → void {}
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Interface3 extends core::Object {
-  synthetic constructor •() → self::Interface3*
-    : super core::Object::•()
-    ;
-  method interfaceMethod3() → void {}
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {}
-}
-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(#C1, 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(#C5, 0, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} dynamic;
-  no-such-method-forwarder method interfaceMethod1() → void
-    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#C6, 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(#C7, 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(#C8, 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(#C9, 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(#C10, 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;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method interfaceMethod1(dynamic _) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class G extends core::Object {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  get foo() → core::Object*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class I extends core::Object {
-  synthetic constructor •() → self::I*
-    : super core::Object::•()
-    ;
-  method foo() → core::Object* {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class J extends self::I implements self::Bar {
-  synthetic constructor •() → self::J*
-    : super self::I::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = #interfaceMethod2
-  #C2 = <core::Type*>[]
-  #C3 = <dynamic>[]
-  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
-  #C5 = #abstractMethod
-  #C6 = #interfaceMethod1
-  #C7 = #interfaceMethod3
-  #C8 = #property3=
-  #C9 = #interfaceMethod1=
-  #C10 = #property1=
-  #C11 = #property2=
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.strong.transformed.expect
deleted file mode 100644
index a76d03a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.strong.transformed.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/abstract_members.dart:19:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
-//  - 'abstractMethod'
-//  - 'property3='
-//  - 'property1='
-// 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 {
-//       ^^^^^^^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  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 set property3(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.weak.outline.expect
new file mode 100644
index 0000000..d363b6c
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.weak.outline.expect
@@ -0,0 +1,456 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:21:16: Error: Can't inherit members that conflict with each other.
+// abstract class A implements Interface1, Interface2, Interface3 {
+//                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is the other inherited member.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:29:16: Error: Can't inherit members that conflict with each other.
+// abstract class B extends A {
+//                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is the other inherited member.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:35:7: Error: Can't inherit members that conflict with each other.
+// class MyClass extends B {
+//       ^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is the other inherited member.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:35: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_nnbd_opt_out/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
+//   abstractMethod();
+//   ^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
+//   void set property1(_);
+//            ^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
+//   void set property3(_);
+//            ^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
+//   void interfaceMethod2() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
+//   void interfaceMethod3() {}
+//        ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:44:7: Error: Can't inherit members that conflict with each other.
+// class MyMock1 extends B {
+//       ^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is the other inherited member.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:50:7: Error: Can't inherit members that conflict with each other.
+// class MyMock2 extends MyMock1 {
+//       ^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is the other inherited member.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:56:7: Error: Can't inherit members that conflict with each other.
+// class MyMock3 extends B {
+//       ^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is the other inherited member.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:56: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_nnbd_opt_out/abstract_members.dart:23:3: Context: 'A.abstractMethod' is defined here.
+//   abstractMethod();
+//   ^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:24:12: Context: 'A.property1=' is defined here.
+//   void set property1(_);
+//            ^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:25:12: Context: 'A.property2=' is defined here.
+//   void set property2(_);
+//            ^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:26:12: Context: 'A.property3=' is defined here.
+//   void set property3(_);
+//            ^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: 'Interface1.interfaceMethod1' is defined here.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: 'Interface2.interfaceMethod1' is defined here.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:12:8: Context: 'Interface2.interfaceMethod2' is defined here.
+//   void interfaceMethod2() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:18:8: Context: 'Interface3.interfaceMethod3' is defined here.
+//   void interfaceMethod3() {}
+//        ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:66:16: Error: Can't inherit members that conflict with each other.
+// abstract class D extends C implements Interface2 {}
+//                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:14:7: Context: This is one inherited member.
+//   var interfaceMethod1;
+//       ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:61:8: Context: This is the other inherited member.
+//   void interfaceMethod1(_) {}
+//        ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:74:16: Error: Can't inherit members that conflict with each other.
+// abstract class F extends E implements Interface1 {}
+//                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:8:8: Context: This is one inherited member.
+//   void interfaceMethod1() {}
+//        ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:69:12: Context: This is the other inherited member.
+//   void set interfaceMethod1(_) {}
+//            ^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:86:16: Error: Can't inherit members that conflict with each other.
+// abstract class H extends G implements Foo {}
+//                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:77:8: Context: This is one inherited member.
+//   void foo() {}
+//        ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:81:14: Context: This is the other inherited member.
+//   Object get foo => null;
+//              ^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:98:16: Error: Can't inherit members that conflict with each other.
+// abstract class J extends I implements Bar {}
+//                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:89:14: Context: This is one inherited member.
+//   Object get foo => null;
+//              ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart:93: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*
+    ;
+  method interfaceMethod1() → void
+    ;
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Interface2 extends core::Object {
+  field dynamic interfaceMethod1;
+  synthetic constructor •() → self::Interface2*
+    ;
+  method interfaceMethod2() → void
+    ;
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Interface3 extends core::Object {
+  synthetic constructor •() → self::Interface3*
+    ;
+  method interfaceMethod3() → void
+    ;
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class A extends core::Object implements self::Interface1, self::Interface2, self::Interface3 {
+  synthetic constructor •() → self::A*
+    ;
+  method aMethod() → dynamic
+    ;
+  abstract method abstractMethod() → dynamic;
+  abstract set property1(dynamic _) → void;
+  abstract set property2(dynamic _) → void;
+  abstract set property3(dynamic _) → void;
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class B extends self::A {
+  final field dynamic property1;
+  synthetic constructor •() → self::B*
+    ;
+  method aMethod() → dynamic
+    ;
+  method bMethod() → dynamic
+    ;
+}
+class MyClass extends self::B {
+  field dynamic property2;
+  synthetic constructor •() → self::MyClass*
+    ;
+  method aaMethod() → dynamic
+    ;
+  method aMethod() → dynamic
+    ;
+  method bMethod() → dynamic
+    ;
+  method cMethod() → dynamic
+    ;
+}
+class MyMock1 extends self::B {
+  synthetic constructor •() → self::MyMock1*
+    ;
+  method noSuchMethod(core::Invocation* _) → dynamic
+    ;
+  no-such-method-forwarder method interfaceMethod2() → void
+    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod2, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder method abstractMethod() → dynamic
+    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#abstractMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} dynamic;
+  no-such-method-forwarder method interfaceMethod1() → void
+    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder method interfaceMethod3() → void
+    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod3, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set property3(dynamic _) → void
+    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set interfaceMethod1(dynamic value) → void
+    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod1=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set property1(dynamic _) → void
+    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set property2(dynamic _) → void
+    return this.{self::MyMock1::noSuchMethod}(new core::_InvocationMirror::_withType(#property2=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+class MyMock2 extends self::MyMock1 {
+  synthetic constructor •() → self::MyMock2*
+    ;
+  abstract method noSuchMethod(core::Invocation* _) → dynamic;
+}
+class MyMock3 extends self::B {
+  synthetic constructor •() → self::MyMock3*
+    ;
+  abstract method noSuchMethod(core::Invocation* _) → dynamic;
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  method interfaceMethod1(dynamic _) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class D extends self::C implements self::Interface2 {
+  synthetic constructor •() → self::D*
+    ;
+}
+class E extends core::Object {
+  synthetic constructor •() → self::E*
+    ;
+  set interfaceMethod1(dynamic _) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class F extends self::E implements self::Interface1 {
+  synthetic constructor •() → self::F*
+    ;
+}
+class Foo extends core::Object {
+  synthetic constructor •() → self::Foo*
+    ;
+  method foo() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class G extends core::Object {
+  synthetic constructor •() → self::G*
+    ;
+  get foo() → core::Object*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class H extends self::G implements self::Foo {
+  synthetic constructor •() → self::H*
+    ;
+}
+class Bar extends core::Object {
+  synthetic constructor •() → self::Bar*
+    ;
+  get foo() → core::Object*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class I extends core::Object {
+  synthetic constructor •() → self::I*
+    ;
+  method foo() → core::Object*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class J extends self::I implements self::Bar {
+  synthetic constructor •() → self::J*
+    ;
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:12:8 -> SymbolConstant(#interfaceMethod2)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:12:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:12:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:12:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:23:3 -> SymbolConstant(#abstractMethod)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:23:3 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:23:3 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:23:3 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:8:8 -> SymbolConstant(#interfaceMethod1)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:8:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:8:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:8:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:18:8 -> SymbolConstant(#interfaceMethod3)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:18:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:18:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:18:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:26:12 -> SymbolConstant(#property3=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:26:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:26:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:14:7 -> SymbolConstant(#interfaceMethod1=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:14:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:14:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:24:12 -> SymbolConstant(#property1=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:24:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:24:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_members.dart:25:12 -> SymbolConstant(#property2=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_members.dart:25:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_members.dart:25:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 73, effectively constant: 28
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.weak.transformed.expect
deleted file mode 100644
index a76d03a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_members.dart.weak.transformed.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/abstract_members.dart:19:7: Error: The non-abstract class 'MyClass' is missing implementations for these members:
-//  - 'abstractMethod'
-//  - 'property3='
-//  - 'property1='
-// 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 {
-//       ^^^^^^^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  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 set property3(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#property3=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
-  no-such-method-forwarder set property1(dynamic _) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#property1=, 2, const <core::Type>[], core::List::unmodifiable<dynamic>(<dynamic>[_]), core::Map::unmodifiable<core::Symbol, dynamic>(const <core::Symbol, dynamic>{})));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.hierarchy.expect
deleted file mode 100644
index 344af9a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,105 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.A.foo%B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> C
-  interfaces: B, A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.A.foo%B.foo
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.outline.expect
deleted file mode 100644
index 3e41108..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.outline.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  method foo() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  abstract method foo() → self::B*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C implements self::B {
-  synthetic constructor •() → self::D*
-    ;
-  no-such-method-forwarder method foo() → self::B*
-    return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} self::B*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.strong.expect
deleted file mode 100644
index 9556be5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.strong.expect
+++ /dev/null
@@ -1,58 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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,ForDynamic} 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_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.strong.transformed.expect
deleted file mode 100644
index 9556be5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.strong.transformed.expect
+++ /dev/null
@@ -1,58 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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,ForDynamic} 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_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect
new file mode 100644
index 0000000..04c9a27
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/abstract_overrides_concrete_with_no_such_method.dart.weak.outline.expect
@@ -0,0 +1,56 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  method foo() → self::A*
+    ;
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+  abstract method foo() → self::B*;
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  method noSuchMethod(core::Invocation* _) → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends self::C implements self::B {
+  synthetic constructor •() → self::D*
+    ;
+  no-such-method-forwarder method foo() → self::B*
+    return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#foo, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} self::B*;
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///abstract_overrides_concrete_with_no_such_method.dart:12:5 -> SymbolConstant(#foo)
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_overrides_concrete_with_no_such_method.dart:12:5 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///abstract_overrides_concrete_with_no_such_method.dart:12:5 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///abstract_overrides_concrete_with_no_such_method.dart:12:5 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 9, effectively constant: 4
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.hierarchy.expect
deleted file mode 100644
index 390a1b2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.hierarchy.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.testD
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.testC
-  classSetters:
-    C.onlySetter
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    C.testD
-    D.onlySetter
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.testC
-  classSetters:
-    D.onlySetter
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.outline.expect
deleted file mode 100644
index 5216778..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  set onlySetter(dynamic value) → void
-    ;
-  method testC() → dynamic
-    ;
-  method testD() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  get onlySetter() → core::String*
-    ;
-  set onlySetter(dynamic value) → void
-    ;
-}
-static set onlySetter(dynamic value) → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.strong.expect
deleted file mode 100644
index 073c934..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.strong.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:18:13: Error: The getter 'onlySetter' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
-//       print(onlySetter);
-//             ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:27:11: Error: The getter 'onlySetter' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
-//     print(onlySetter);
-//           ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:42:11: Error: 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(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:18:13: Error: The getter 'onlySetter' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
-      print(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(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:27:11: Error: The getter 'onlySetter' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
-    print(onlySetter);
-          ^^^^^^^^^^");
-    this.{self::C::onlySetter} = "hest";
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:42:11: Error: Getter not found: 'onlySetter'.
-    print(onlySetter);
-          ^^^^^^^^^^");
-    throw "No error thrown";
-  }
-  on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
-    core::print("Expected error: ${e}");
-  }
-  self::onlySetter = "fisk";
-  new self::C::•().{self::C::testC}();
-  new self::D::•().{self::C::testD}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.strong.transformed.expect
deleted file mode 100644
index 073c934..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.strong.transformed.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:18:13: Error: The getter 'onlySetter' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
-//       print(onlySetter);
-//             ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:27:11: Error: The getter 'onlySetter' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
-//     print(onlySetter);
-//           ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:42:11: Error: 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(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:18:13: Error: The getter 'onlySetter' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
-      print(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(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:27:11: Error: The getter 'onlySetter' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
-    print(onlySetter);
-          ^^^^^^^^^^");
-    this.{self::C::onlySetter} = "hest";
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart:42:11: Error: Getter not found: 'onlySetter'.
-    print(onlySetter);
-          ^^^^^^^^^^");
-    throw "No error thrown";
-  }
-  on core::NoSuchMethodError* catch(final core::NoSuchMethodError* e) {
-    core::print("Expected error: ${e}");
-  }
-  self::onlySetter = "fisk";
-  new self::C::•().{self::C::testC}();
-  new self::D::•().{self::C::testD}();
-}
diff --git a/pkg/front_end/testcases/general/accessors.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/accessors.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/accessors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.legacy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.legacy.expect
deleted file mode 100644
index add5d55..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.legacy.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated W extends core::Object = dynamic, X extends core::Object = dynamic, contravariant Y extends core::Object = dynamic, invariant Z extends core::Object = dynamic> = (Y, (Z) → Z) → X;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.legacy.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.legacy.transformed.expect
deleted file mode 100644
index add5d55..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated W extends core::Object = dynamic, X extends core::Object = dynamic, contravariant Y extends core::Object = dynamic, invariant Z extends core::Object = dynamic> = (Y, (Z) → Z) → X;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.strong.expect
deleted file mode 100644
index f7afd1b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.strong.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated W extends core::Object* = dynamic, X extends core::Object* = dynamic, contravariant Y extends core::Object* = dynamic, invariant Z extends core::Object* = dynamic> = (Y*, (Z*) →* Z*) →* X*;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.strong.transformed.expect
deleted file mode 100644
index f7afd1b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.strong.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<unrelated W extends core::Object* = dynamic, X extends core::Object* = dynamic, contravariant Y extends core::Object* = dynamic, invariant Z extends core::Object* = dynamic> = (Y*, (Z*) →* Z*) →* X*;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/all_variances.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.outline.expect
deleted file mode 100644
index 09deb9b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.outline.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart:9:1: Error: 'main' is exported from both 'pkg/front_end/testcases/general_nnbd_opt_out/hello.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/map.dart'.
-// export 'map.dart' show main;
-// ^
-//
-import self as self;
-
-export "org-dartlang-testcase:///hello.dart";
-export "org-dartlang-testcase:///map.dart";
-
-static const field dynamic _exports# = "{\"main\":\"'main' is exported from both 'pkg/front_end/testcases/general_nnbd_opt_out/hello.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/map.dart'.\"}" /* from null */;
-
-library;
-import self as self2;
-
-static method main() → dynamic
-  ;
-
-library;
-import self as self3;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.strong.expect
deleted file mode 100644
index 8e8305d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.strong.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart:9:1: Error: 'main' is exported from both 'pkg/front_end/testcases/general_nnbd_opt_out/hello.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/hello.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/map.dart'.\"}"
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.strong.transformed.expect
deleted file mode 100644
index 8e8305d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.strong.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart:9:1: Error: 'main' is exported from both 'pkg/front_end/testcases/general_nnbd_opt_out/hello.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/hello.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/map.dart'.\"}"
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.weak.outline.expect
new file mode 100644
index 0000000..c8204e7
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart.weak.outline.expect
@@ -0,0 +1,26 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/ambiguous_exports.dart:9:1: Error: 'main' is exported from both 'pkg/front_end/testcases/general_nnbd_opt_out/hello.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/map.dart'.
+// export 'map.dart' show main;
+// ^
+//
+import self as self;
+
+export "org-dartlang-testcase:///hello.dart" show main;
+export "org-dartlang-testcase:///map.dart" show main;
+
+static const field dynamic _exports# = "{\"main\":\"'main' is exported from both 'pkg/front_end/testcases/general_nnbd_opt_out/hello.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/map.dart'.\"}" /* from null */;
+
+library;
+import self as self2;
+
+static method main() → dynamic
+  ;
+
+library;
+import self as self3;
+
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart.strong.expect
deleted file mode 100644
index 021015c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart.strong.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart:12: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_nnbd_opt_out/annotation_eof.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart.strong.transformed.expect
deleted file mode 100644
index 021015c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart.strong.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart:12: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_nnbd_opt_out/annotation_eof.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/annotation_eof.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.hierarchy.expect
deleted file mode 100644
index 6abd62f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Fisk.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.bar
-    Foo.cafebabe
-    Foo.toString
-    Foo.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Foo.baz
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.outline.expect
deleted file mode 100644
index c71bb7a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.outline.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Fisk<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Foo extends core::Object /*isEnum*/  {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Foo*>* values = const <self::Foo*>[self::Foo::bar, self::Foo::baz, self::Foo::cafebabe];
-  @self::hest
-  static const field self::Foo* bar = const self::Foo::•(0, "Foo.bar");
-  @self::Fisk::fisk<core::int*>(self::hest)
-  static const field self::Foo* baz = const self::Foo::•(1, "Foo.baz");
-  static const field self::Foo* cafebabe = const self::Foo::•(2, "Foo.cafebabe");
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* hest = 42;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.strong.expect
deleted file mode 100644
index f51aa86..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.strong.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Fisk<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Foo extends core::Object /*isEnum*/  {
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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<core::int*> {x:#C11}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.strong.transformed.expect
deleted file mode 100644
index f51aa86..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.strong.transformed.expect
+++ /dev/null
@@ -1,61 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Fisk<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Foo extends core::Object /*isEnum*/  {
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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<core::int*> {x:#C11}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.outline.expect
new file mode 100644
index 0000000..a6cc905
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_on_enum_values.dart.weak.outline.expect
@@ -0,0 +1,57 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Fisk<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
+  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::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Foo extends core::Object /*isEnum*/  {
+  final field core::int* index;
+  final field core::String* _name;
+  static const field core::List<self::Foo*>* values = const <self::Foo*>[self::Foo::bar, self::Foo::baz, self::Foo::cafebabe];
+  @self::hest
+  static const field self::Foo* bar = const self::Foo::•(0, "Foo.bar");
+  @self::Fisk::fisk<core::int*>(self::hest)
+  static const field self::Foo* baz = const self::Foo::•(1, "Foo.baz");
+  static const field self::Foo* cafebabe = const self::Foo::•(2, "Foo.cafebabe");
+  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};
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field core::int* hest = 42;
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///annotation_on_enum_values.dart:17:6 -> ListConstant(const <Foo*>[const Foo{Foo.index: 0, Foo._name: "Foo.bar"}, const Foo{Foo.index: 1, Foo._name: "Foo.baz"}, const Foo{Foo.index: 2, Foo._name: "Foo.cafebabe"}])
+Evaluated: StaticGet @ org-dartlang-testcase:///annotation_on_enum_values.dart:18:4 -> IntConstant(42)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_on_enum_values.dart:19:3 -> InstanceConstant(const Foo{Foo.index: 0, Foo._name: "Foo.bar"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_on_enum_values.dart:20:4 -> InstanceConstant(const Fisk<int*>{Fisk.x: 42})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_on_enum_values.dart:21:3 -> InstanceConstant(const Foo{Foo.index: 1, Foo._name: "Foo.baz"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_on_enum_values.dart:22:3 -> InstanceConstant(const Foo{Foo.index: 2, Foo._name: "Foo.cafebabe"})
+Extra constant evaluation: evaluated: 11, effectively constant: 6
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.hierarchy.expect
deleted file mode 100644
index ad9c025..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.outline.expect
deleted file mode 100644
index bb4145a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.outline.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-@test::a
-@test::A::•(1)
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F1 = () →* void;
-typedef F2 = () →* void;
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* value) → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-@self::a
-@self::A::•(2)
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::Object* a = const core::Object::•();
-@self::a
-@self::A::•(3)
-static field core::int* f1;
-@self::a
-@self::A::•(3)
-static field core::int* f2;
-@self::a
-@self::A::•(4)
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.strong.expect
deleted file mode 100644
index be64079..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.strong.expect
+++ /dev/null
@@ -1,59 +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 /*hasConstConstructor*/  {
-  const constructor •(core::int* value) → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-@#C1
-@#C2
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/annotation_top.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.strong.transformed.expect
deleted file mode 100644
index be64079..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.strong.transformed.expect
+++ /dev/null
@@ -1,59 +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 /*hasConstConstructor*/  {
-  const constructor •(core::int* value) → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-@#C1
-@#C2
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/annotation_top.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.weak.outline.expect
new file mode 100644
index 0000000..c9729ec
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_top.dart.weak.outline.expect
@@ -0,0 +1,65 @@
+@test::a
+@test::A::•(1)
+library test;
+import self as self;
+import "dart:core" as core;
+
+typedef F1 = () →* void;
+typedef F2 = () →* void;
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •(core::int* value) → self::A*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+@self::a
+@self::A::•(2)
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field core::Object* a = const core::Object::•();
+@self::a
+@self::A::•(3)
+static field core::int* f1;
+@self::a
+@self::A::•(3)
+static field core::int* f2;
+@self::a
+@self::A::•(4)
+static method main() → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///annotation_top.dart:7:2 -> InstanceConstant(const Object{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_top.dart:8:2 -> InstanceConstant(const A{})
+Evaluated: StaticGet @ org-dartlang-testcase:///annotation_top.dart:17:2 -> InstanceConstant(const Object{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_top.dart:18:2 -> InstanceConstant(const A{})
+Evaluated: StaticGet @ org-dartlang-testcase:///annotation_top.dart:33:2 -> InstanceConstant(const Object{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_top.dart:34:2 -> InstanceConstant(const A{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_top.dart:11:24 -> InstanceConstant(const Object{})
+Evaluated: StaticGet @ org-dartlang-testcase:///annotation_top.dart:29:2 -> InstanceConstant(const Object{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_top.dart:30:2 -> InstanceConstant(const A{})
+Evaluated: StaticGet @ org-dartlang-testcase:///annotation_top.dart:29:2 -> InstanceConstant(const Object{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///annotation_top.dart:30:2 -> InstanceConstant(const A{})
+Extra constant evaluation: evaluated: 11, effectively constant: 11
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals.dart.strong.expect
deleted file mode 100644
index d6f9911..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals.dart.strong.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_nnbd_opt_out/annotation_typedef_formals.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals.dart.strong.transformed.expect
deleted file mode 100644
index d6f9911..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals.dart.strong.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_nnbd_opt_out/annotation_typedef_formals.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals_resolution.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals_resolution.dart.strong.expect
deleted file mode 100644
index 9bab9c9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals_resolution.dart.strong.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_nnbd_opt_out/annotation_typedef_formals_resolution.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals_resolution.dart.strong.transformed.expect
deleted file mode 100644
index 9bab9c9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals_resolution.dart.strong.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_nnbd_opt_out/annotation_typedef_formals_resolution.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals_resolution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals_resolution.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/annotation_typedef_formals_resolution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.hierarchy.expect
deleted file mode 100644
index b37c1fd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Baz:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Baz.hest
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Baz.fisk
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.outline.expect
deleted file mode 100644
index 9a54fb8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.outline.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef hest_t = ({named: dynamic}) →* dynamic;
-class Bar extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  const constructor named(dynamic x) → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Baz extends core::Object {
-  constructor •(dynamic constructorFormal) → self::Baz*
-    ;
-  static factory bazFactory(dynamic factoryFormal) → self::Baz*
-    ;
-  method fisk(dynamic formal1, dynamic formal2, dynamic formal3, dynamic formal4, [dynamic optional]) → dynamic
-    ;
-  method hest({dynamic named}) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* foo = 42;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.strong.expect
deleted file mode 100644
index b2dcd1b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.strong.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef hest_t = ({@#C1 dynamic named}) →* dynamic;
-class Bar extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  const constructor named(dynamic x) → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 core::String* localWithInitializer = "hello";
-    @#C1 @#C2 dynamic localGroupPart1;
-    @#C1 @#C2 dynamic localGroupPart2;
-    function naebdyr(@#C1 dynamic nestedFormal) → core::Null?
-      return null;
-    (dynamic) →* core::Null? roedmus = (@#C1 dynamic closureFormal) → core::Null? => null;
-  }
-  method hest({@#C1 dynamic named = #C3}) → dynamic
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/annotation_variable_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.strong.transformed.expect
deleted file mode 100644
index b2dcd1b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.strong.transformed.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef hest_t = ({@#C1 dynamic named}) →* dynamic;
-class Bar extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  const constructor named(dynamic x) → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 core::String* localWithInitializer = "hello";
-    @#C1 @#C2 dynamic localGroupPart1;
-    @#C1 @#C2 dynamic localGroupPart2;
-    function naebdyr(@#C1 dynamic nestedFormal) → core::Null?
-      return null;
-    (dynamic) →* core::Null? roedmus = (@#C1 dynamic closureFormal) → core::Null? => null;
-  }
-  method hest({@#C1 dynamic named = #C3}) → dynamic
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/annotation_variable_declaration.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/annotation_variable_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.hierarchy.expect
deleted file mode 100644
index 0d45c08..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.hierarchy.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Baz:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.outline.expect
deleted file mode 100644
index 0c9b4a0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.outline.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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Foo extends self::Base {
-  synthetic constructor •() → self::Foo*
-    ;
-}
-class Bar extends self::Base {
-  synthetic constructor •() → self::Bar*
-    ;
-}
-class Baz extends self::Base {
-  synthetic constructor •() → self::Baz*
-    ;
-}
-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
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.strong.expect
deleted file mode 100644
index e1c5f67..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.strong.expect
+++ /dev/null
@@ -1,52 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/argument.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.strong.transformed.expect
deleted file mode 100644
index e1c5f67..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.strong.transformed.expect
+++ /dev/null
@@ -1,52 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/argument.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/argument.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.strong.expect
deleted file mode 100644
index a408458..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.strong.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart:10:6: Error: Too many positional arguments: 0 allowed, but 1 found.
-// Try removing the extra positional arguments.
-//   foo(null);
-//      ^
-// pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart:7:1: Context: Found this candidate, but the arguments don't match.
-// foo() {}
-// ^^^
-//
-import self as self;
-
-static method foo() → dynamic {}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart:10:6: Error: Too many positional arguments: 0 allowed, but 1 found.
-Try removing the extra positional arguments.
-  foo(null);
-     ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.strong.transformed.expect
deleted file mode 100644
index a408458..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.strong.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart:10:6: Error: Too many positional arguments: 0 allowed, but 1 found.
-// Try removing the extra positional arguments.
-//   foo(null);
-//      ^
-// pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart:7:1: Context: Found this candidate, but the arguments don't match.
-// foo() {}
-// ^^^
-//
-import self as self;
-
-static method foo() → dynamic {}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart:10:6: Error: Too many positional arguments: 0 allowed, but 1 found.
-Try removing the extra positional arguments.
-  foo(null);
-     ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/argument_mismatch.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/arithmetic.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/arithmetic.dart.strong.expect
deleted file mode 100644
index ed95ed2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/arithmetic.dart.strong.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* {
-  core::int* z = x.{core::num::+}(y);
-  return z.{core::int::<<}(4);
-}
-static method loop(core::List<dynamic>* xs) → void {
-  core::int* _ = xs.{core::List::length};
-  for (core::int* i = 0; i.{core::num::<}(xs.{core::List::length}); i = i.{core::num::+}(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_nnbd_opt_out/arithmetic.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/arithmetic.dart.strong.transformed.expect
deleted file mode 100644
index ed95ed2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/arithmetic.dart.strong.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* {
-  core::int* z = x.{core::num::+}(y);
-  return z.{core::int::<<}(4);
-}
-static method loop(core::List<dynamic>* xs) → void {
-  core::int* _ = xs.{core::List::length};
-  for (core::int* i = 0; i.{core::num::<}(xs.{core::List::length}); i = i.{core::num::+}(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_nnbd_opt_out/arithmetic.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/arithmetic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/arithmetic.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/arithmetic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.strong.expect
deleted file mode 100644
index 964b0b4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.strong.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 () → core::Type* => self::main::T*;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.strong.transformed.expect
deleted file mode 100644
index 964b0b4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.strong.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 () → core::Type* => self::main::T*;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/arrow_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.outline.expect
deleted file mode 100644
index 0c51a8a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "package:expect/expect.dart";
-
-class A extends core::Object {
-  field dynamic x;
-  field dynamic y;
-  constructor •(dynamic x) → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.strong.expect
deleted file mode 100644
index 4cc0285..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.strong.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart:15:11: Error: Can't assign to the final variable 'x'.
-//           x = 3;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "package:expect/expect.dart";
-
-class A extends core::Object {
-  field dynamic x;
-  field dynamic y;
-  constructor •(dynamic x) → self::A*
-    : self::A::x = x, self::A::y = () → core::Null? {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart:15:11: Error: Can't assign to the final variable 'x'.
-          x = 3;
-          ^";
-    }, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.strong.transformed.expect
deleted file mode 100644
index 4cc0285..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.strong.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart:15:11: Error: Can't assign to the final variable 'x'.
-//           x = 3;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "package:expect/expect.dart";
-
-class A extends core::Object {
-  field dynamic x;
-  field dynamic y;
-  constructor •(dynamic x) → self::A*
-    : self::A::x = x, self::A::y = () → core::Null? {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart:15:11: Error: Can't assign to the final variable 'x'.
-          x = 3;
-          ^";
-    }, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/assign_to_initializing_formal.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/assign_to_initializing_formal.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/assign_to_initializing_formal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.outline.expect
deleted file mode 100644
index ee58d22..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.outline.expect
+++ /dev/null
@@ -1,22 +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;
-static method asyncString() → asy::Future<core::String*>*
-  ;
-static method asyncString2() → asy::Future<core::String*>*
-  ;
-static method syncStarString() → core::Iterable<core::String*>*
-  ;
-static method syncStarString2() → core::Iterable<core::String*>*
-  ;
-static method asyncStarString() → asy::Stream<core::String*>*
-  ;
-static method asyncStarString2() → asy::Stream<core::String*>*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.strong.expect
deleted file mode 100644
index 4a640a9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.strong.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 = <core::String*>["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_nnbd_opt_out/async_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.strong.transformed.expect
deleted file mode 100644
index c8cb04c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.strong.transformed.expect
+++ /dev/null
@@ -1,210 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-import "dart:_internal" as _in;
-
-import "dart:async";
-
-static field core::List<core::String*>* stringList = <core::String*>["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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method syncStarString() → core::Iterable<core::String*>* /* originally sync* */ {
-  function :sync_op_gen() → (core::_SyncIterator<core::String*>*) →* core::bool* {
-    core::int* :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    return (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_gen);
-}
-static method syncStarString2() → core::Iterable<core::String*>* /* originally sync* */ {
-  function :sync_op_gen() → (core::_SyncIterator<core::String*>*) →* core::bool* {
-    core::int* :await_jump_var = 0;
-    dynamic :await_ctx_var;
-    return (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_gen);
-}
-static method asyncStarString() → asy::Stream<core::String*>* /* originally async* */ {
-  asy::_AsyncStarStreamController<core::String*>* :controller;
-  dynamic :controller_stream;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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}(_in::unsafeCast<core::String*>(:result)))
-            return null;
-          else
-            [yield] null;
-        }
-        return;
-      }
-      on dynamic catch(dynamic exception, core::StackTrace* 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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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, core::StackTrace* 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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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 = _in::unsafeCast<core::String*>(:result);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/general/async_function.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/async_function.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/async_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.hierarchy.expect
deleted file mode 100644
index 3ec82b1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Node:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Node.toSimpleString
-    Node.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Node.name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Node.nested
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.outline.expect
deleted file mode 100644
index 7d1bc82..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.outline.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-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]) → self::Node*
-    ;
-  method toString() → core::String*
-    ;
-  method toSimpleString() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.strong.expect
deleted file mode 100644
index 24bc63a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.strong.expect
+++ /dev/null
@@ -1,41 +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 core::List<self::Node*>* #t1 = this.{self::Node::nested} in #t1.{core::List::==}(null) ?{core::String*} null : #t1.{core::Iterable::join}(", ")}]>";
-  method toSimpleString() → dynamic {
-    core::Iterable<dynamic>* tmp = let final core::List<self::Node*>* #t2 = this.{self::Node::nested} in #t2.{core::List::==}(null) ?{core::Iterable<dynamic>*} null : #t2.{core::Iterable::map}<dynamic>((self::Node* child) → dynamic => child.{self::Node::toSimpleString}());
-    return "${this.{self::Node::name}} ${let final core::Iterable<dynamic>* #t3 = tmp in #t3.{core::Object::==}(null) ?{core::String*} null : #t3.{core::Iterable::join}(" ")}".{core::String::trim}();
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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", <self::Node*>[new self::Node::•("2", <self::Node*>[]), await asy::Future::value<self::Node*>(new self::Node::•("3", <self::Node*>[await asy::Future::value<self::Node*>(new self::Node::•("4", <self::Node*>[new self::Node::•("5", <self::Node*>[await asy::Future::value<self::Node*>(new self::Node::•("6", <self::Node*>[await asy::Future::value<self::Node*>(new self::Node::•("7", <self::Node*>[]))])), await asy::Future::value<self::Node*>(new self::Node::•("8", <self::Node*>[])), await asy::Future::value<self::Node*>(new self::Node::•("9", <self::Node*>[]))])]))])), await asy::Future::value<self::Node*>(new self::Node::•("10", <self::Node*>[]))]);
-  core::String* actual = node.{self::Node::toSimpleString}() as{TypeError,ForDynamic} core::String*;
-  core::print(actual);
-  if(!actual.{core::String::==}(expected)) {
-    throw "Expected '${expected}' but got '${actual}'";
-  }
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.strong.transformed.expect
deleted file mode 100644
index ee2359b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.strong.transformed.expect
+++ /dev/null
@@ -1,80 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-import "dart:_internal" as _in;
-
-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 core::List<self::Node*>* #t1 = this.{self::Node::nested} in #t1.{core::List::==}(null) ?{core::String*} null : #t1.{core::Iterable::join}(", ")}]>";
-  method toSimpleString() → dynamic {
-    core::Iterable<dynamic>* tmp = let final core::List<self::Node*>* #t2 = this.{self::Node::nested} in #t2.{core::List::==}(null) ?{core::Iterable<dynamic>*} null : #t2.{core::Iterable::map}<dynamic>((self::Node* child) → dynamic => child.{self::Node::toSimpleString}());
-    return "${this.{self::Node::name}} ${let final core::Iterable<dynamic>* #t3 = tmp in #t3.{core::Object::==}(null) ?{core::String*} null : #t3.{core::Iterable::join}(" ")}".{core::String::trim}();
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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", <self::Node*>[]);
-        [yield] let dynamic #t4 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("7", <self::Node*>[])), :async_op_then, :async_op_error, :async_op) in null;
-        [yield] let dynamic #t5 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("6", <self::Node*>[_in::unsafeCast<self::Node*>(:result)])), :async_op_then, :async_op_error, :async_op) in null;
-        :async_temporary_1 = _in::unsafeCast<self::Node*>(:result);
-        [yield] let dynamic #t6 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("8", <self::Node*>[])), :async_op_then, :async_op_error, :async_op) in null;
-        :async_temporary_0 = _in::unsafeCast<self::Node*>(:result);
-        [yield] let dynamic #t7 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("9", <self::Node*>[])), :async_op_then, :async_op_error, :async_op) in null;
-        [yield] let dynamic #t8 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("4", <self::Node*>[new self::Node::•("5", <self::Node*>[_in::unsafeCast<self::Node*>(:async_temporary_1), _in::unsafeCast<self::Node*>(:async_temporary_0), _in::unsafeCast<self::Node*>(:result)])])), :async_op_then, :async_op_error, :async_op) in null;
-        [yield] let dynamic #t9 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("3", <self::Node*>[_in::unsafeCast<self::Node*>(:result)])), :async_op_then, :async_op_error, :async_op) in null;
-        :async_temporary_0 = _in::unsafeCast<self::Node*>(:result);
-        [yield] let dynamic #t10 = asy::_awaitHelper(asy::Future::value<self::Node*>(new self::Node::•("10", <self::Node*>[])), :async_op_then, :async_op_error, :async_op) in null;
-        self::Node* node = new self::Node::•("1", <self::Node*>[_in::unsafeCast<self::Node*>(:async_temporary_2), _in::unsafeCast<self::Node*>(:async_temporary_0), _in::unsafeCast<self::Node*>(:result)]);
-        core::String* actual = node.{self::Node::toSimpleString}() as{TypeError,ForDynamic} core::String*;
-        core::print(actual);
-        if(!actual.{core::String::==}(expected)) {
-          throw "Expected '${expected}' but got '${actual}'";
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/async_nested.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/async_nested.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/async_nested.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.strong.expect
deleted file mode 100644
index 5b1be33..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.strong.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_nnbd_opt_out/await.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.strong.transformed.expect
deleted file mode 100644
index e8481b7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.strong.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-import "dart:_internal" as _in;
-
-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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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(_in::unsafeCast<core::String*>(:result));
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/general/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/await.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.outline.expect
deleted file mode 100644
index b470953..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.outline.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class C extends core::Object {
-  static field core::int* staticField;
-  field core::int* field;
-  synthetic constructor •() → self::C*
-    ;
-  static get staticGetter() → core::int*
-    ;
-  static set staticSetter(dynamic val) → void
-    ;
-  static method staticFoo(core::int* param) → core::int*
-    ;
-  get getter() → core::int*
-    ;
-  set setter(dynamic val) → void
-    ;
-  method foo(core::int* param) → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* globalVariable;
-static final field core::bool* assertStatementsEnabled;
-static method topLevelFoo(core::int* param) → core::int*
-  ;
-static get topLevelGetter() → core::int*
-  ;
-static set topLevelSetter(dynamic val) → void
-  ;
-static method dummy() → dynamic
-  ;
-static method staticMembers() → dynamic
-  ;
-static method topLevelMembers() → dynamic
-  ;
-static method instanceMembers() → dynamic
-  ;
-static method others() → dynamic
-  ;
-static method conditionals() → dynamic
-  ;
-static method asserts() → dynamic
-  ;
-static method controlFlow() → dynamic
-  ;
-static method future<T extends core::Object* = dynamic>(self::future::T* value) → asy::FutureOr<self::future::T*>*
-  ;
-static method id<T extends core::Object* = dynamic>(self::id::T* value) → asy::FutureOr<self::id::T*>*
-  ;
-static method intStream() → asy::Stream<core::int*>*
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method expectList(core::List<dynamic>* expected, core::List<dynamic>* actual) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.strong.expect
deleted file mode 100644
index 4d830b1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.strong.expect
+++ /dev/null
@@ -1,260 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class C extends core::Object {
-  static field core::int* staticField = 1;
-  field core::int* field = 1;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static get staticGetter() → core::int*
-    return self::C::staticField;
-  static set staticSetter(dynamic val) → void {
-    self::C::staticField = val as{TypeError,ForDynamic} core::int*;
-  }
-  static method staticFoo(core::int* param) → core::int*
-    return param;
-  get getter() → core::int*
-    return this.{self::C::field};
-  set setter(dynamic val) → void {
-    this.{self::C::field} = val as{TypeError,ForDynamic} core::int*;
-  }
-  method foo(core::int* param) → core::int*
-    return param;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* globalVariable = 1;
-static final field core::bool* assertStatementsEnabled = (() → core::bool* {
-  try {
-    assert(false);
-    return false;
-  }
-  on dynamic catch(final dynamic _) {
-    return true;
-  }
-}).call();
-static method topLevelFoo(core::int* param) → core::int*
-  return 1;
-static get topLevelGetter() → core::int*
-  return self::globalVariable;
-static set topLevelSetter(dynamic val) → void {
-  self::globalVariable = val as{TypeError,ForDynamic} core::int*;
-}
-static method dummy() → dynamic
-  return 1;
-static method staticMembers() → dynamic async {
-  core::num* a = self::C::staticField.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, a);
-  core::num* f = (self::C::staticField = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, f);
-  core::num* b = self::C::staticGetter.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, b);
-  core::num* c = (self::C::staticSetter = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, c);
-  core::num* d = self::C::staticFoo(2).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(3, d);
-  core::num* e = self::C::staticField.{core::num::+}(self::C::staticGetter).{core::num::+}(self::C::staticSetter = 1).{core::num::+}(self::C::staticFoo(1)).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(5, e);
-}
-static method topLevelMembers() → dynamic async {
-  core::num* a = self::globalVariable.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, a);
-  core::num* b = self::topLevelGetter.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, b);
-  core::num* c = (self::topLevelSetter = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, c);
-  core::num* d = self::topLevelFoo(1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, d);
-  core::num* e = self::globalVariable.{core::num::+}(self::topLevelGetter).{core::num::+}(self::topLevelSetter = 1).{core::num::+}(self::topLevelFoo(1)).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(5, e);
-}
-static method instanceMembers() → dynamic async {
-  self::C* inst = new self::C::•();
-  core::num* a = inst.{self::C::field}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, a);
-  core::num* b = inst.{self::C::getter}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, b);
-  core::num* c = (inst.{self::C::setter} = 1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, c);
-  core::num* d = inst.{self::C::foo}(1).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, d);
-  core::num* e = inst.{self::C::field}.{core::num::+}(inst.{self::C::getter}).{core::num::+}(inst.{self::C::setter} = 1).{core::num::+}(inst.{self::C::foo}(1)).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(5, e);
-}
-static method others() → dynamic async {
-  core::String* a = "${self::globalVariable} ${await self::dummy()} ".{core::String::+}(await "someString");
-  self::expect("1 1 someString", a);
-  self::C* c = new self::C::•();
-  core::num* d = c.{self::C::field}.{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  core::int* cnt = 2;
-  core::List<core::int*>* b = <core::int*>[1, 2, 3];
-  b.{core::List::[]=}(cnt, await self::dummy() as{TypeError,ForDynamic} core::int*);
-  self::expect(1, b.{core::List::[]}(cnt));
-  core::num* e = b.{core::List::[]}(0).{core::num::+}(await self::dummy() as{TypeError,ForDynamic} core::num);
-  self::expect(2, e);
-}
-static method conditionals() → dynamic async {
-  core::bool* a = false;
-  core::bool* b = true;
-  core::bool* c = a || b || await self::dummy() as{TypeError,ForDynamic} core::bool*;
-  self::expect(true, c);
-  dynamic d = a || b ?{dynamic} a : await self::dummy();
-  self::expect(false, d);
-  dynamic e = a is core::int* ?{dynamic} await self::dummy() : 2;
-  self::expect(2, e);
-  try {
-    dynamic f = a is core::int* ?{dynamic} await self::dummy() : 2;
-  }
-  on dynamic catch(final dynamic e) {
-  }
-}
-static method asserts() → dynamic async {
-  for (final core::Function* #t1 in <core::Function*>[#C1, #C2]) {
-    final <T extends core::Object* = dynamic>(T*) →* asy::FutureOr<T*>* func = #t1 as{TypeError} <T extends core::Object* = dynamic>(T*) →* asy::FutureOr<T*>*;
-    assert(await func.call<core::bool*>(true));
-    assert(self::id<core::bool*>(true) as{TypeError} core::bool*, await func.call<core::String*>("message"));
-    assert(await func.call<core::bool*>(true), await func.call<core::String*>("message"));
-    try {
-      assert(await func.call<core::bool*>(false), await func.call<core::String*>("message"));
-      if(self::assertStatementsEnabled)
-        throw "Didn't throw";
-    }
-    on core::AssertionError* catch(final core::AssertionError* e) {
-      self::expect("message", e.{core::AssertionError::message});
-    }
-  }
-}
-static method controlFlow() → dynamic async {
-  for (final core::Function* #t2 in <core::Function*>[#C1, #C2]) {
-    final <T extends core::Object* = dynamic>(T*) →* asy::FutureOr<T*>* func = #t2 as{TypeError} <T extends core::Object* = dynamic>(T*) →* asy::FutureOr<T*>*;
-    core::int* c = 0;
-    for (core::int* i = await func.call<core::int*>(0); await func.call<core::bool*>(i.{core::num::<}(5)); await func.call<core::int*>(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3)) {
-      c = c.{core::num::+}(1);
-    }
-    self::expect(5, c);
-    c = 0;
-    while (await func.call<core::bool*>(c.{core::num::<}(5)))
-      c = c.{core::num::+}(1);
-    self::expect(5, c);
-    c = 0;
-    do {
-      c = c.{core::num::+}(1);
-    }
-    while (await func.call<core::bool*>(c.{core::num::<}(5)))
-    self::expect(5, c);
-    if(await func.call<core::bool*>(c.{core::num::==}(5))) {
-      self::expect(5, c);
-    }
-    else {
-      throw "unreachable";
-    }
-    try {
-      throw await func.call<core::String*>("string");
-    }
-    on core::String* catch(no-exception-var) {
-    }
-    try {
-      await throw "string";
-    }
-    on core::String* catch(no-exception-var) {
-    }
-    try
-      try {
-        try
-          try {
-            throw "string";
-          }
-          on dynamic catch(final dynamic e) {
-            self::expect("string", e);
-            self::expect(0, await func.call<core::int*>(0));
-            rethrow;
-          }
-        finally {
-          self::expect(0, await func.call<core::int*>(0));
-        }
-      }
-      on dynamic catch(final dynamic e) {
-        self::expect(0, await func.call<core::int*>(0));
-        self::expect("string", e);
-      }
-    finally {
-      self::expect(0, await func.call<core::int*>(0));
-    }
-    #L1:
-    switch(await func.call<core::int*>(2)) {
-      #L2:
-      case #C3:
-        {
-          break #L1;
-        }
-      #L3:
-      default:
-        {
-          throw "unreachable";
-        }
-    }
-    self::expect(42, await(() → asy::Future<dynamic>* async {
-      return await func.call<dynamic>(42);
-    }).call());
-    self::expect(42, await(() → asy::Future<dynamic>* async {
-      return func.call<dynamic>(42);
-    }).call());
-    function testStream1() → asy::Stream<core::int*>* async* {
-      yield await func.call<core::int*>(42);
-    }
-    self::expectList(<dynamic>[42], await testStream1.call().{asy::Stream::toList}());
-    function testStream2() → asy::Stream<core::int*>* async* {
-      yield* await func.call<asy::Stream<core::int*>*>(self::intStream());
-    }
-    self::expectList(<dynamic>[42], await testStream2.call().{asy::Stream::toList}());
-  }
-}
-static method future<T extends core::Object* = dynamic>(self::future::T* value) → asy::FutureOr<self::future::T*>* async 
-  return value;
-static method id<T extends core::Object* = dynamic>(self::id::T* value) → asy::FutureOr<self::id::T*>*
-  return value;
-static method intStream() → asy::Stream<core::int*>* async* {
-  yield 42;
-}
-static method main() → dynamic async {
-  for (core::int* i = 0; i.{core::num::<}(11); i = i.{core::num::+}(1)) {
-    await self::staticMembers();
-    await self::topLevelMembers();
-    await self::instanceMembers();
-    await self::conditionals();
-    await self::others();
-    await self::asserts();
-    await self::controlFlow();
-  }
-}
-static method expect(dynamic expected, dynamic actual) → dynamic {
-  if(!expected.{core::Object::==}(actual))
-    throw "Expected ${expected}, actual ${actual}";
-}
-static method expectList(core::List<dynamic>* expected, core::List<dynamic>* actual) → dynamic {
-  if(!expected.{core::List::length}.{core::num::==}(actual.{core::List::length})) {
-    throw "Expected ${expected}, actual ${actual}";
-  }
-  for (core::int* i = 0; i.{core::num::<}(expected.{core::List::length}); i = i.{core::num::+}(1)) {
-    self::expect(expected.{core::List::[]}(i), actual.{core::List::[]}(i));
-  }
-}
-
-constants  {
-  #C1 = tearoff self::id
-  #C2 = tearoff self::future
-  #C3 = 2
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.strong.transformed.expect
deleted file mode 100644
index 72a8cdc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.strong.transformed.expect
+++ /dev/null
@@ -1,823 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-import "dart:_internal" as _in;
-
-import "dart:async";
-
-class C extends core::Object {
-  static field core::int* staticField = 1;
-  field core::int* field = 1;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  static get staticGetter() → core::int*
-    return self::C::staticField;
-  static set staticSetter(dynamic val) → void {
-    self::C::staticField = val as{TypeError,ForDynamic} core::int*;
-  }
-  static method staticFoo(core::int* param) → core::int*
-    return param;
-  get getter() → core::int*
-    return this.{self::C::field};
-  set setter(dynamic val) → void {
-    this.{self::C::field} = val as{TypeError,ForDynamic} core::int*;
-  }
-  method foo(core::int* param) → core::int*
-    return param;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* globalVariable = 1;
-static final field core::bool* assertStatementsEnabled = (() → core::bool* {
-  try {
-    assert(false);
-    return false;
-  }
-  on dynamic catch(final dynamic _) {
-    return true;
-  }
-}).call();
-static method topLevelFoo(core::int* param) → core::int*
-  return 1;
-static get topLevelGetter() → core::int*
-  return self::globalVariable;
-static set topLevelSetter(dynamic val) → void {
-  self::globalVariable = val as{TypeError,ForDynamic} core::int*;
-}
-static method dummy() → dynamic
-  return 1;
-static method staticMembers() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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;
-  dynamic :async_temporary_3;
-  dynamic :async_temporary_4;
-  dynamic :async_temporary_5;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :async_temporary_0 = self::C::staticField;
-        [yield] let dynamic #t1 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, a);
-        :async_temporary_1 = self::C::staticField = 1;
-        [yield] let dynamic #t2 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* f = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, f);
-        :async_temporary_2 = self::C::staticGetter;
-        [yield] let dynamic #t3 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* b = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, b);
-        :async_temporary_3 = self::C::staticSetter = 1;
-        [yield] let dynamic #t4 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* c = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, c);
-        :async_temporary_4 = self::C::staticFoo(2);
-        [yield] let dynamic #t5 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* d = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(3, d);
-        :async_temporary_5 = self::C::staticField.{core::num::+}(self::C::staticGetter).{core::num::+}(self::C::staticSetter = 1).{core::num::+}(self::C::staticFoo(1));
-        [yield] let dynamic #t6 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* e = _in::unsafeCast<core::int*>(:async_temporary_5).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(5, e);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method topLevelMembers() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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;
-  dynamic :async_temporary_3;
-  dynamic :async_temporary_4;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L2:
-      {
-        :async_temporary_0 = self::globalVariable;
-        [yield] let dynamic #t7 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, a);
-        :async_temporary_1 = self::topLevelGetter;
-        [yield] let dynamic #t8 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, b);
-        :async_temporary_2 = self::topLevelSetter = 1;
-        [yield] let dynamic #t9 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, c);
-        :async_temporary_3 = self::topLevelFoo(1);
-        [yield] let dynamic #t10 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, d);
-        :async_temporary_4 = self::globalVariable.{core::num::+}(self::topLevelGetter).{core::num::+}(self::topLevelSetter = 1).{core::num::+}(self::topLevelFoo(1));
-        [yield] let dynamic #t11 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(5, e);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method instanceMembers() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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;
-  dynamic :async_temporary_3;
-  dynamic :async_temporary_4;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L3:
-      {
-        self::C* inst = new self::C::•();
-        :async_temporary_0 = inst.{self::C::field};
-        [yield] let dynamic #t12 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* a = _in::unsafeCast<core::int*>(:async_temporary_0).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, a);
-        :async_temporary_1 = inst.{self::C::getter};
-        [yield] let dynamic #t13 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* b = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, b);
-        :async_temporary_2 = inst.{self::C::setter} = 1;
-        [yield] let dynamic #t14 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* c = _in::unsafeCast<core::int*>(:async_temporary_2).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, c);
-        :async_temporary_3 = inst.{self::C::foo}(1);
-        [yield] let dynamic #t15 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* d = _in::unsafeCast<core::int*>(:async_temporary_3).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, d);
-        :async_temporary_4 = inst.{self::C::field}.{core::num::+}(inst.{self::C::getter}).{core::num::+}(inst.{self::C::setter} = 1).{core::num::+}(inst.{self::C::foo}(1));
-        [yield] let dynamic #t16 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(5, e);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method others() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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;
-  dynamic :async_temporary_3;
-  dynamic :async_temporary_4;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L4:
-      {
-        :async_temporary_0 = self::globalVariable;
-        [yield] let dynamic #t17 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        :async_temporary_0 = "${_in::unsafeCast<core::int*>(:async_temporary_0)} ${:result} ";
-        [yield] let dynamic #t18 = asy::_awaitHelper("someString", :async_op_then, :async_op_error, :async_op) in null;
-        core::String* a = _in::unsafeCast<core::String*>(:async_temporary_0).{core::String::+}(_in::unsafeCast<core::String*>(:result));
-        self::expect("1 1 someString", a);
-        self::C* c = new self::C::•();
-        :async_temporary_1 = c.{self::C::field};
-        [yield] let dynamic #t19 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* d = _in::unsafeCast<core::int*>(:async_temporary_1).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        core::int* cnt = 2;
-        core::List<core::int*>* b = <core::int*>[1, 2, 3];
-        :async_temporary_3 = b;
-        :async_temporary_2 = cnt;
-        [yield] let dynamic #t20 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        _in::unsafeCast<core::List<core::int*>*>(:async_temporary_3).{core::List::[]=}(_in::unsafeCast<core::int*>(:async_temporary_2), :result as{TypeError,ForDynamic} core::int*);
-        self::expect(1, b.{core::List::[]}(cnt));
-        :async_temporary_4 = b.{core::List::[]}(0);
-        [yield] let dynamic #t21 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-        core::num* e = _in::unsafeCast<core::int*>(:async_temporary_4).{core::num::+}(:result as{TypeError,ForDynamic} core::num);
-        self::expect(2, e);
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method conditionals() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  core::bool* :async_temporary_0;
-  dynamic :async_temporary_1;
-  dynamic :async_temporary_2;
-  dynamic :async_temporary_3;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L5:
-      {
-        core::bool* a = false;
-        core::bool* b = true;
-        :async_temporary_0 = (a || b).==(true);
-        if(:async_temporary_0)
-          ;
-        else {
-          [yield] let dynamic #t22 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-          :async_temporary_0 = (:result as{TypeError,ForDynamic} core::bool*).==(true);
-        }
-        core::bool* c = :async_temporary_0;
-        self::expect(true, c);
-        if(a || b) {
-          :async_temporary_1 = a;
-        }
-        else {
-          [yield] let dynamic #t23 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-          :async_temporary_1 = :result;
-        }
-        dynamic d = :async_temporary_1;
-        self::expect(false, d);
-        if(a is core::int*) {
-          [yield] let dynamic #t24 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-          :async_temporary_2 = :result;
-        }
-        else {
-          :async_temporary_2 = 2;
-        }
-        dynamic e = :async_temporary_2;
-        self::expect(2, e);
-        try {
-          if(a is core::int*) {
-            [yield] let dynamic #t25 = asy::_awaitHelper(self::dummy(), :async_op_then, :async_op_error, :async_op) in null;
-            :async_temporary_3 = :result;
-          }
-          else {
-            :async_temporary_3 = 2;
-          }
-          dynamic f = :async_temporary_3;
-        }
-        on dynamic catch(final dynamic e) {
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method asserts() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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 {
-      #L6:
-      {
-        {
-          core::Iterator<core::Function*>* :sync-for-iterator = <core::Function*>[#C1, #C2].{core::Iterable::iterator};
-          for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-            final core::Function* #t26 = :sync-for-iterator.{core::Iterator::current};
-            {
-              final <T extends core::Object* = dynamic>(T*) →* asy::FutureOr<T*>* func = #t26 as{TypeError} <T extends core::Object* = dynamic>(T*) →* asy::FutureOr<T*>*;
-              assert {
-                [yield] let dynamic #t27 = asy::_awaitHelper(func.call<core::bool*>(true), :async_op_then, :async_op_error, :async_op) in null;
-                assert(_in::unsafeCast<core::bool*>(:result));
-              }
-              assert {
-                if(self::id<core::bool*>(true) as{TypeError} core::bool*)
-                  ;
-                else {
-                  [yield] let dynamic #t28 = asy::_awaitHelper(func.call<core::String*>("message"), :async_op_then, :async_op_error, :async_op) in null;
-                  assert(false, _in::unsafeCast<core::String*>(:result));
-                }
-              }
-              assert {
-                [yield] let dynamic #t29 = asy::_awaitHelper(func.call<core::bool*>(true), :async_op_then, :async_op_error, :async_op) in null;
-                if(_in::unsafeCast<core::bool*>(:result))
-                  ;
-                else {
-                  [yield] let dynamic #t30 = asy::_awaitHelper(func.call<core::String*>("message"), :async_op_then, :async_op_error, :async_op) in null;
-                  assert(false, _in::unsafeCast<core::String*>(:result));
-                }
-              }
-              try {
-                assert {
-                  [yield] let dynamic #t31 = asy::_awaitHelper(func.call<core::bool*>(false), :async_op_then, :async_op_error, :async_op) in null;
-                  if(_in::unsafeCast<core::bool*>(:result))
-                    ;
-                  else {
-                    [yield] let dynamic #t32 = asy::_awaitHelper(func.call<core::String*>("message"), :async_op_then, :async_op_error, :async_op) in null;
-                    assert(false, _in::unsafeCast<core::String*>(:result));
-                  }
-                }
-                if(self::assertStatementsEnabled)
-                  throw "Didn't throw";
-              }
-              on core::AssertionError* catch(final core::AssertionError* e) {
-                self::expect("message", e.{core::AssertionError::message});
-              }
-            }
-          }
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method controlFlow() → dynamic /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  dynamic :saved_try_context_var0;
-  dynamic :saved_try_context_var1;
-  dynamic :saved_try_context_var2;
-  dynamic :saved_try_context_var3;
-  dynamic :exception0;
-  dynamic :stack_trace0;
-  dynamic :async_temporary_0;
-  dynamic :async_temporary_1;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L7:
-      {
-        {
-          core::Iterator<core::Function*>* :sync-for-iterator = <core::Function*>[#C1, #C2].{core::Iterable::iterator};
-          for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-            final core::Function* #t33 = :sync-for-iterator.{core::Iterator::current};
-            {
-              final <T extends core::Object* = dynamic>(T*) →* asy::FutureOr<T*>* func = #t33 as{TypeError} <T extends core::Object* = dynamic>(T*) →* asy::FutureOr<T*>*;
-              core::int* c = 0;
-              {
-                dynamic #t34 = true;
-                core::int* #t35;
-                #L8:
-                while (true) {
-                  core::int* i;
-                  if(#t34) {
-                    #t34 = false;
-                    [yield] let dynamic #t36 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
-                    i = _in::unsafeCast<core::int*>(:result);
-                  }
-                  else {
-                    i = #t35;
-                    [yield] let dynamic #t37 = asy::_awaitHelper(func.call<core::int*>(let final core::int* #t38 = i in let final core::int* #t39 = i = #t38.{core::num::+}(1) in #t38), :async_op_then, :async_op_error, :async_op) in null;
-                    _in::unsafeCast<core::int*>(:result);
-                  }
-                  [yield] let dynamic #t40 = asy::_awaitHelper(func.call<core::bool*>(i.{core::num::<}(5)), :async_op_then, :async_op_error, :async_op) in null;
-                  if(_in::unsafeCast<core::bool*>(:result)) {
-                    {
-                      c = c.{core::num::+}(1);
-                    }
-                    #t35 = i;
-                  }
-                  else
-                    break #L8;
-                }
-              }
-              self::expect(5, c);
-              c = 0;
-              #L9:
-              while (true) {
-                [yield] let dynamic #t41 = asy::_awaitHelper(func.call<core::bool*>(c.{core::num::<}(5)), :async_op_then, :async_op_error, :async_op) in null;
-                if(_in::unsafeCast<core::bool*>(:result))
-                  c = c.{core::num::+}(1);
-                else
-                  break #L9;
-              }
-              self::expect(5, c);
-              c = 0;
-              do {
-                c = c.{core::num::+}(1);
-                [yield] let dynamic #t42 = asy::_awaitHelper(func.call<core::bool*>(c.{core::num::<}(5)), :async_op_then, :async_op_error, :async_op) in null;
-              }
-              while (_in::unsafeCast<core::bool*>(:result))
-              self::expect(5, c);
-              [yield] let dynamic #t43 = asy::_awaitHelper(func.call<core::bool*>(c.{core::num::==}(5)), :async_op_then, :async_op_error, :async_op) in null;
-              if(_in::unsafeCast<core::bool*>(:result)) {
-                self::expect(5, c);
-              }
-              else {
-                throw "unreachable";
-              }
-              try {
-                [yield] let dynamic #t44 = asy::_awaitHelper(func.call<core::String*>("string"), :async_op_then, :async_op_error, :async_op) in null;
-                throw _in::unsafeCast<core::String*>(:result);
-              }
-              on core::String* catch(no-exception-var) {
-              }
-              try {
-                [yield] let dynamic #t45 = asy::_awaitHelper(throw "string", :async_op_then, :async_op_error, :async_op) in null;
-                _in::unsafeCast<<BottomType>>(:result);
-              }
-              on core::String* catch(no-exception-var) {
-              }
-              try
-                try {
-                  try
-                    try {
-                      throw "string";
-                    }
-                    on dynamic catch(final dynamic e) {
-                      self::expect("string", e);
-                      [yield] let dynamic #t46 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
-                      self::expect(0, _in::unsafeCast<core::int*>(:result));
-                      rethrow;
-                    }
-                  finally {
-                    [yield] let dynamic #t47 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
-                    self::expect(0, _in::unsafeCast<core::int*>(:result));
-                  }
-                }
-                on dynamic catch(final dynamic e) {
-                  [yield] let dynamic #t48 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
-                  self::expect(0, _in::unsafeCast<core::int*>(:result));
-                  self::expect("string", e);
-                }
-              finally {
-                [yield] let dynamic #t49 = asy::_awaitHelper(func.call<core::int*>(0), :async_op_then, :async_op_error, :async_op) in null;
-                self::expect(0, _in::unsafeCast<core::int*>(:result));
-              }
-              #L10:
-              {
-                [yield] let dynamic #t50 = asy::_awaitHelper(func.call<core::int*>(2), :async_op_then, :async_op_error, :async_op) in null;
-                switch(_in::unsafeCast<core::int*>(:result)) {
-                  #L11:
-                  case #C3:
-                    {
-                      break #L10;
-                    }
-                  #L12:
-                  default:
-                    {
-                      throw "unreachable";
-                    }
-                }
-              }
-              [yield] let dynamic #t51 = asy::_awaitHelper((() → 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) →* dynamic :async_op_then;
-                (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-                core::int* :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 {
-                    #L13:
-                    {
-                      [yield] let dynamic #t52 = asy::_awaitHelper(func.call<dynamic>(42), :async_op_then, :async_op_error, :async_op) in null;
-                      :return_value = :result;
-                      break #L13;
-                    }
-                    asy::_completeOnAsyncReturn(:async_completer, :return_value);
-                    return;
-                  }
-                  on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-                return :async_completer.{asy::Completer::future};
-              }).call(), :async_op_then, :async_op_error, :async_op) in null;
-              self::expect(42, :result);
-              [yield] let dynamic #t53 = asy::_awaitHelper((() → 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) →* dynamic :async_op_then;
-                (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-                core::int* :await_jump_var = 0;
-                dynamic :await_ctx_var;
-                function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-                  try {
-                    #L14:
-                    {
-                      :return_value = func.call<dynamic>(42);
-                      break #L14;
-                    }
-                    asy::_completeOnAsyncReturn(:async_completer, :return_value);
-                    return;
-                  }
-                  on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-                return :async_completer.{asy::Completer::future};
-              }).call(), :async_op_then, :async_op_error, :async_op) in null;
-              self::expect(42, :result);
-              function testStream1() → asy::Stream<core::int*>* /* originally async* */ {
-                asy::_AsyncStarStreamController<core::int*>* :controller;
-                dynamic :controller_stream;
-                dynamic :async_stack_trace;
-                (dynamic) →* dynamic :async_op_then;
-                (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-                core::int* :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 {
-                      #L15:
-                      {
-                        [yield] let dynamic #t54 = asy::_awaitHelper(func.call<core::int*>(42), :async_op_then, :async_op_error, :async_op) in null;
-                        if(:controller.{asy::_AsyncStarStreamController::add}(_in::unsafeCast<core::int*>(:result)))
-                          return null;
-                        else
-                          [yield] null;
-                      }
-                      return;
-                    }
-                    on dynamic catch(dynamic exception, core::StackTrace* 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*>(:async_op);
-                :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-                return :controller_stream;
-              }
-              :async_temporary_0 = <dynamic>[42];
-              [yield] let dynamic #t55 = asy::_awaitHelper(testStream1.call().{asy::Stream::toList}(), :async_op_then, :async_op_error, :async_op) in null;
-              self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_0), _in::unsafeCast<core::List<core::int*>>(:result));
-              function testStream2() → asy::Stream<core::int*>* /* originally async* */ {
-                asy::_AsyncStarStreamController<core::int*>* :controller;
-                dynamic :controller_stream;
-                dynamic :async_stack_trace;
-                (dynamic) →* dynamic :async_op_then;
-                (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-                core::int* :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 {
-                      #L16:
-                      {
-                        [yield] let dynamic #t56 = asy::_awaitHelper(func.call<asy::Stream<core::int*>*>(self::intStream()), :async_op_then, :async_op_error, :async_op) in null;
-                        if(:controller.{asy::_AsyncStarStreamController::addStream}(_in::unsafeCast<asy::Stream<core::int*>*>(:result)))
-                          return null;
-                        else
-                          [yield] null;
-                      }
-                      return;
-                    }
-                    on dynamic catch(dynamic exception, core::StackTrace* 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*>(:async_op);
-                :controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
-                return :controller_stream;
-              }
-              :async_temporary_1 = <dynamic>[42];
-              [yield] let dynamic #t57 = asy::_awaitHelper(testStream2.call().{asy::Stream::toList}(), :async_op_then, :async_op_error, :async_op) in null;
-              self::expectList(_in::unsafeCast<core::List<dynamic>*>(:async_temporary_1), _in::unsafeCast<core::List<core::int*>>(:result));
-            }
-          }
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method future<T extends core::Object* = dynamic>(self::future::T* value) → asy::FutureOr<self::future::T*>* /* originally async */ {
-  final asy::_AsyncAwaitCompleter<self::future::T*>* :async_completer = new asy::_AsyncAwaitCompleter::•<self::future::T*>();
-  asy::FutureOr<self::future::T*>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L17:
-      {
-        :return_value = value;
-        break #L17;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method id<T extends core::Object* = dynamic>(self::id::T* value) → asy::FutureOr<self::id::T*>*
-  return value;
-static method intStream() → asy::Stream<core::int*>* /* originally async* */ {
-  asy::_AsyncStarStreamController<core::int*>* :controller;
-  dynamic :controller_stream;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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 {
-        #L18:
-        {
-          if(:controller.{asy::_AsyncStarStreamController::add}(42))
-            return null;
-          else
-            [yield] null;
-        }
-        return;
-      }
-      on dynamic catch(dynamic exception, core::StackTrace* 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*>(: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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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 {
-      #L19:
-      {
-        for (core::int* i = 0; i.{core::num::<}(11); i = i.{core::num::+}(1)) {
-          [yield] let dynamic #t58 = asy::_awaitHelper(self::staticMembers(), :async_op_then, :async_op_error, :async_op) in null;
-          :result;
-          [yield] let dynamic #t59 = asy::_awaitHelper(self::topLevelMembers(), :async_op_then, :async_op_error, :async_op) in null;
-          :result;
-          [yield] let dynamic #t60 = asy::_awaitHelper(self::instanceMembers(), :async_op_then, :async_op_error, :async_op) in null;
-          :result;
-          [yield] let dynamic #t61 = asy::_awaitHelper(self::conditionals(), :async_op_then, :async_op_error, :async_op) in null;
-          :result;
-          [yield] let dynamic #t62 = asy::_awaitHelper(self::others(), :async_op_then, :async_op_error, :async_op) in null;
-          :result;
-          [yield] let dynamic #t63 = asy::_awaitHelper(self::asserts(), :async_op_then, :async_op_error, :async_op) in null;
-          :result;
-          [yield] let dynamic #t64 = asy::_awaitHelper(self::controlFlow(), :async_op_then, :async_op_error, :async_op) in null;
-          :result;
-        }
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method expect(dynamic expected, dynamic actual) → dynamic {
-  if(!expected.{core::Object::==}(actual))
-    throw "Expected ${expected}, actual ${actual}";
-}
-static method expectList(core::List<dynamic>* expected, core::List<dynamic>* actual) → dynamic {
-  if(!expected.{core::List::length}.{core::num::==}(actual.{core::List::length})) {
-    throw "Expected ${expected}, actual ${actual}";
-  }
-  for (core::int* i = 0; i.{core::num::<}(expected.{core::List::length}); i = i.{core::num::+}(1)) {
-    self::expect(expected.{core::List::[]}(i), actual.{core::List::[]}(i));
-  }
-}
-
-constants  {
-  #C1 = tearoff self::id
-  #C2 = tearoff self::future
-  #C3 = 2
-}
diff --git a/pkg/front_end/testcases/general/await_complex.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/await_complex.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/await_complex.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.outline.expect
deleted file mode 100644
index 1d8e5fd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.outline.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-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*
-    ;
-  method m() → asy::Future<core::List<core::int*>*>*
-    ;
-  method _m() → asy::Future<core::int*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.strong.expect
deleted file mode 100644
index ee50ed9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.strong.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-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 m() → asy::Future<core::List<core::int*>*>* async 
-    return let final core::List<core::int*>* #t1 = <core::int*>[] in let final void #t2 = #t1.{core::List::add}(await this.{self::C::_m}()) in #t1;
-  method _m() → asy::Future<core::int*>* async 
-    return 42;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic async {
-  self::expect(42, (await new self::C::•().{self::C::m}()).{core::Iterable::first});
-}
-static method expect(dynamic expected, dynamic actual) → dynamic {
-  if(!expected.{core::Object::==}(actual))
-    throw "Expected ${expected}, actual ${actual}";
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.strong.transformed.expect
deleted file mode 100644
index da55c50..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.strong.transformed.expect
+++ /dev/null
@@ -1,112 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-import "dart:_internal" as _in;
-
-import "dart:async";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method m() → 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) →* dynamic :async_op_then;
-    (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-    core::int* :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 core::List<core::int*>* #t1 = <core::int*>[];
-          [yield] let dynamic #t2 = asy::_awaitHelper(this.{self::C::_m}(), :async_op_then, :async_op_error, :async_op) in null;
-          :return_value = let final void #t3 = #t1.{core::List::add}(_in::unsafeCast<core::int*>(:result)) in #t1;
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-  method _m() → 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) →* dynamic :async_op_then;
-    (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-    core::int* :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, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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:
-      {
-        [yield] let dynamic #t4 = asy::_awaitHelper(new self::C::•().{self::C::m}(), :async_op_then, :async_op_error, :async_op) in null;
-        self::expect(42, _in::unsafeCast<core::List<core::int*>*>(:result).{core::Iterable::first});
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method expect(dynamic expected, dynamic actual) → dynamic {
-  if(!expected.{core::Object::==}(actual))
-    throw "Expected ${expected}, actual ${actual}";
-}
diff --git a/pkg/front_end/testcases/general/await_in_cascade.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/await_in_cascade.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/await_in_cascade.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.strong.expect
deleted file mode 100644
index 2fa7548..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.strong.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart:13: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_nnbd_opt_out/await_in_non_async.dart:13:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-  await foo();
-  ^^^^^";
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.strong.transformed.expect
deleted file mode 100644
index 2fa7548..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.strong.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart:13: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_nnbd_opt_out/await_in_non_async.dart:13:3: Error: 'await' can only be used in 'async' or 'async*' methods.
-  await foo();
-  ^^^^^";
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.hierarchy.expect
deleted file mode 100644
index 2c47c23..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
-    A.d
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.a
-    B.d
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.outline.expect
deleted file mode 100644
index fcc59b4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.outline.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:7:8: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set b();
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:9:12: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set c(x, y);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  set a(dynamic #synthetic) → void
-    ;
-  set d(dynamic #synthetic) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  set a(dynamic #synthetic) → void
-    ;
-  set d(dynamic #synthetic) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static set b(dynamic #synthetic) → void
-  ;
-static set c(dynamic #synthetic) → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.strong.expect
deleted file mode 100644
index fe95341..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.strong.expect
+++ /dev/null
@@ -1,179 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:7:8: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set b();
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:9:12: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set c(x, y);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.
-// set b();
-//      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:9:6: Error: A setter should have exactly one formal parameter.
-// set c(x, y);
-//      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:12:8: Error: A setter should have exactly one formal parameter.
-//   set a();
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:13:8: Error: A setter should have exactly one formal parameter.
-//   set d(x, y);
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:17:8: Error: A setter should have exactly one formal parameter.
-//   set a();
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:18:8: Error: A setter should have exactly one formal parameter.
-//   set d(x, y);
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:68:9: Error: 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_nnbd_opt_out/bad_setter_abstract.dart:12:8: Error: A setter should have exactly one formal parameter.
-  set a();
-       ^";
-    ;
-  }
-  set d(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:13:8: Error: A setter should have exactly one formal parameter.
-  set d(x, y);
-       ^";
-    {
-      dynamic x;
-      dynamic y;
-      ;
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/bad_setter_abstract.dart:17:8: Error: A setter should have exactly one formal parameter.
-  set a();
-       ^";
-    ;
-  }
-  set d(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:18:8: Error: A setter should have exactly one formal parameter.
-  set d(x, y);
-       ^";
-    {
-      dynamic x;
-      dynamic y;
-      ;
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static set b(dynamic #synthetic) → void {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:7: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_nnbd_opt_out/bad_setter_abstract.dart:9: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::•().{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::•().{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_nnbd_opt_out/bad_setter_abstract.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.strong.transformed.expect
deleted file mode 100644
index fe95341..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.strong.transformed.expect
+++ /dev/null
@@ -1,179 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:7:8: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set b();
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:9:12: Error: Expected a function body or '=>'.
-// Try adding {}.
-// set c(x, y);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.
-// set b();
-//      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:9:6: Error: A setter should have exactly one formal parameter.
-// set c(x, y);
-//      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:12:8: Error: A setter should have exactly one formal parameter.
-//   set a();
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:13:8: Error: A setter should have exactly one formal parameter.
-//   set d(x, y);
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:17:8: Error: A setter should have exactly one formal parameter.
-//   set a();
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:18:8: Error: A setter should have exactly one formal parameter.
-//   set d(x, y);
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:68:9: Error: 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_nnbd_opt_out/bad_setter_abstract.dart:12:8: Error: A setter should have exactly one formal parameter.
-  set a();
-       ^";
-    ;
-  }
-  set d(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:13:8: Error: A setter should have exactly one formal parameter.
-  set d(x, y);
-       ^";
-    {
-      dynamic x;
-      dynamic y;
-      ;
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/bad_setter_abstract.dart:17:8: Error: A setter should have exactly one formal parameter.
-  set a();
-       ^";
-    ;
-  }
-  set d(dynamic #synthetic) → void {
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:18:8: Error: A setter should have exactly one formal parameter.
-  set d(x, y);
-       ^";
-    {
-      dynamic x;
-      dynamic y;
-      ;
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static set b(dynamic #synthetic) → void {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:7: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_nnbd_opt_out/bad_setter_abstract.dart:9: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::•().{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::•().{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_nnbd_opt_out/bad_setter_abstract.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.weak.outline.expect
new file mode 100644
index 0000000..1371f38
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart.weak.outline.expect
@@ -0,0 +1,59 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:7:8: Error: Expected a function body or '=>'.
+// Try adding {}.
+// set b();
+//        ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_setter_abstract.dart:9:12: Error: Expected a function body or '=>'.
+// Try adding {}.
+// set c(x, y);
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  set a(dynamic #synthetic) → void
+    ;
+  set d(dynamic #synthetic) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class B extends core::Object {
+  synthetic constructor •() → self::B*
+    ;
+  set a(dynamic #synthetic) → void
+    ;
+  set d(dynamic #synthetic) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static set b(dynamic #synthetic) → void
+  ;
+static set c(dynamic #synthetic) → void
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.hierarchy.expect
deleted file mode 100644
index 1c6019a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.field
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.outline.expect
deleted file mode 100644
index 8cb7506..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.outline.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic field;
-  synthetic constructor •() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method identity(dynamic x) → dynamic
-  ;
-static method use(dynamic x) → void
-  ;
-static method main(core::List<core::String*>* args) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.strong.expect
deleted file mode 100644
index 83a70b5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.strong.expect
+++ /dev/null
@@ -1,34 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.{core::List::length}.{core::num::>}(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_nnbd_opt_out/bad_store.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.strong.transformed.expect
deleted file mode 100644
index 83a70b5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.strong.transformed.expect
+++ /dev/null
@@ -1,34 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.{core::List::length}.{core::num::>}(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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bad_store.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bad_store.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.hierarchy.expect
deleted file mode 100644
index 060d1ab..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.hierarchy.expect
+++ /dev/null
@@ -1,917 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Empty:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bi:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Cc:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ci:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Dc:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Di:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Ec:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Ei:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-      -> _F&Object&A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fc:
-  superclasses:
-    Object
-      -> _Fc&Object&A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fi:
-  superclasses:
-    Object
-      -> _Fi&Object&A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A with Empty:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-G:
-  Longest path to Object: 3
-  superclasses:
-    A
-      -> _G&A&Empty<T>
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A with Empty:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gc:
-  Longest path to Object: 3
-  superclasses:
-    A
-      -> _Gc&A&Empty<T>
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A with Empty:
-  Longest path to Object: 2
-  superclasses:
-    A
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gi:
-  Longest path to Object: 3
-  superclasses:
-    A
-      -> _Gi&A&Empty<T>
-  interfaces: Empty, Object
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Hff:
-  superclasses:
-    Object
-      -> A<(null) -> null>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hfc:
-  superclasses:
-    Object
-      -> A<(null) -> null>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hcf:
-  superclasses:
-    Object
-      -> A<ContravariantUse<(null) -> null>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hcc:
-  superclasses:
-    Object
-      -> A<ContravariantUse<ContravariantUse<T>>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hii:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Iafc:
-  superclasses:
-    Object
-      -> A<A<(null) -> null>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Iacf:
-  superclasses:
-    Object
-      -> A<A<ContravariantUse<(null) -> null>>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ifac:
-  superclasses:
-    Object
-      -> A<(null) -> null>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ifca:
-  superclasses:
-    Object
-      -> A<(null) -> null>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Icaf:
-  superclasses:
-    Object
-      -> A<ContravariantUse<A<(null) -> null>>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Icfa:
-  superclasses:
-    Object
-      -> A<ContravariantUse<(null) -> null>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jfff:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jffc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jfcf:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jfcc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jcff:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jcfc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jccf:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jccc:
-  superclasses:
-    A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.outline.expect
deleted file mode 100644
index da88efa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.outline.expect
+++ /dev/null
@@ -1,595 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:15:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class B<T> extends A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:17:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Bc<T> extends A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:19:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Bi<T> extends A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:21:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class C<T> implements A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:23:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Cc<T> implements A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:25:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Ci<T> implements A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:27:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class D<T> = Object with A<Function(T)>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:29:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Dc<T> = Object with A<ContravariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:31:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Di<T> = Object with A<InvariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:33:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class E<T> = A<Function(T)> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:35:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Ec<T> = A<ContravariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:37:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Ei<T> = A<InvariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:39:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class F<T> extends Object with A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:41:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Fc<T> extends Object with A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:43:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Fi<T> extends Object with A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:45:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class G<T> extends A<Function(T)> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:47:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Gc<T> extends A<ContravariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:49:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Gi<T> extends A<InvariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:59:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Hii<T> extends A<InvariantUse<InvariantUse<T>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:73:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfff<T> extends A<Function(Function(Function(T)))> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:75:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jffc<T> extends A<Function(Function(ContravariantUse<T>))> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:77:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfcf<T> extends A<Function(ContravariantUse<Function(T)>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:79:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfcc<T> extends A<Function(ContravariantUse<ContravariantUse<T>>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:81:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jcff<T> extends A<ContravariantUse<Function(Function(T))>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:83:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jcfc<T> extends A<ContravariantUse<Function(ContravariantUse<T>)>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:85:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jccf<T> extends A<ContravariantUse<ContravariantUse<Function(T)>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:87:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jccc<T>
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef ContravariantUse<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
-typedef InvariantUse<invariant T extends core::Object* = dynamic> = (T*) →* T*;
-class Empty extends core::Object {
-  synthetic constructor •() → self::Empty*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bc<self::Bc::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bi<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bi<self::Bi::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Cc<self::Cc::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ci<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ci<self::Ci::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dc<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Dc<self::Dc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Di<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Di<self::Di::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class E<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::E<self::E::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ec<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::Ec<self::Ec::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ei<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::Ei<self::Ei::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _F&Object&A<T extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_F&Object&A<self::_F&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class F<T extends core::Object* = dynamic> extends self::_F&Object&A<self::F::T*> {
-  synthetic constructor •() → self::F<self::F::T*>*
-    ;
-}
-abstract class _Fc&Object&A<T extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fc&Object&A<self::_Fc&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Fc<T extends core::Object* = dynamic> extends self::_Fc&Object&A<self::Fc::T*> {
-  synthetic constructor •() → self::Fc<self::Fc::T*>*
-    ;
-}
-abstract class _Fi&Object&A<T extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fi&Object&A<self::_Fi&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Fi<T extends core::Object* = dynamic> extends self::_Fi&Object&A<self::Fi::T*> {
-  synthetic constructor •() → self::Fi<self::Fi::T*>*
-    ;
-}
-abstract class _G&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_G&A&Empty<self::_G&A&Empty::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class G<T extends core::Object* = dynamic> extends self::_G&A&Empty<self::G::T*> {
-  synthetic constructor •() → self::G<self::G::T*>*
-    ;
-}
-abstract class _Gc&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Gc&A&Empty<self::_Gc&A&Empty::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gc<T extends core::Object* = dynamic> extends self::_Gc&A&Empty<self::Gc::T*> {
-  synthetic constructor •() → self::Gc<self::Gc::T*>*
-    ;
-}
-abstract class _Gi&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Gi&A&Empty<self::_Gi&A&Empty::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gi<T extends core::Object* = dynamic> extends self::_Gi&A&Empty<self::Gi::T*> {
-  synthetic constructor •() → self::Gi<self::Gi::T*>*
-    ;
-}
-class Hff<T extends core::Object* = dynamic> extends self::A<((self::Hff::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hff<self::Hff::T*>*
-    ;
-}
-class Hfc<T extends core::Object* = dynamic> extends self::A<((self::Hfc::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hfc<self::Hfc::T*>*
-    ;
-}
-class Hcf<T extends core::Object* = dynamic> extends self::A<((self::Hcf::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hcf<self::Hcf::T*>*
-    ;
-}
-class Hcc<T extends core::Object* = dynamic> extends self::A<((self::Hcc::T*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Hcc<self::Hcc::T*>*
-    ;
-}
-class Hii<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Hii<self::Hii::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Iafc<T extends core::Object* = dynamic> extends self::A<self::A<((self::Iafc::T*) →* dynamic) →* dynamic>*> {
-  synthetic constructor •() → self::Iafc<self::Iafc::T*>*
-    ;
-}
-class Iacf<T extends core::Object* = dynamic> extends self::A<self::A<((self::Iacf::T*) →* dynamic) →* dynamic>*> {
-  synthetic constructor •() → self::Iacf<self::Iacf::T*>*
-    ;
-}
-class Ifac<T extends core::Object* = dynamic> extends self::A<(self::A<(self::Ifac::T*) →* dynamic>*) →* dynamic> {
-  synthetic constructor •() → self::Ifac<self::Ifac::T*>*
-    ;
-}
-class Ifca<T extends core::Object* = dynamic> extends self::A<((self::A<self::Ifca::T*>*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Ifca<self::Ifca::T*>*
-    ;
-}
-class Icaf<T extends core::Object* = dynamic> extends self::A<(self::A<(self::Icaf::T*) →* dynamic>*) →* dynamic> {
-  synthetic constructor •() → self::Icaf<self::Icaf::T*>*
-    ;
-}
-class Icfa<T extends core::Object* = dynamic> extends self::A<((self::A<self::Icfa::T*>*) →* dynamic) →* dynamic> {
-  synthetic constructor •() → self::Icfa<self::Icfa::T*>*
-    ;
-}
-class Jfff<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfff<self::Jfff::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jffc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jffc<self::Jffc::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jfcf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcf<self::Jfcf::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jfcc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcc<self::Jfcc::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jcff<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcff<self::Jcff::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jcfc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcfc<self::Jcfc::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jccf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccf<self::Jccf::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jccc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccc<self::Jccc::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.strong.expect
deleted file mode 100644
index 7c6594d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.strong.expect
+++ /dev/null
@@ -1,633 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:15:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class B<T> extends A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:17:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Bc<T> extends A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:19:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Bi<T> extends A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:21:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class C<T> implements A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:23:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Cc<T> implements A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:25:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Ci<T> implements A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:27:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class D<T> = Object with A<Function(T)>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:29:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Dc<T> = Object with A<ContravariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:31:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Di<T> = Object with A<InvariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:33:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class E<T> = A<Function(T)> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:35:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Ec<T> = A<ContravariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:37:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Ei<T> = A<InvariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:39:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class F<T> extends Object with A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:41:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Fc<T> extends Object with A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:43:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Fi<T> extends Object with A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:45:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class G<T> extends A<Function(T)> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:47:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Gc<T> extends A<ContravariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:49:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Gi<T> extends A<InvariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:59:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Hii<T> extends A<InvariantUse<InvariantUse<T>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:73:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfff<T> extends A<Function(Function(Function(T)))> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:75:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jffc<T> extends A<Function(Function(ContravariantUse<T>))> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:77:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfcf<T> extends A<Function(ContravariantUse<Function(T)>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:79:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfcc<T> extends A<Function(ContravariantUse<ContravariantUse<T>>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:81:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jcff<T> extends A<ContravariantUse<Function(Function(T))>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:83:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jcfc<T> extends A<ContravariantUse<Function(ContravariantUse<T>)>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:85:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jccf<T> extends A<ContravariantUse<ContravariantUse<Function(T)>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:87:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jccc<T>
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef ContravariantUse<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
-typedef InvariantUse<invariant T extends core::Object* = dynamic> = (T*) →* T*;
-class Empty extends core::Object {
-  synthetic constructor •() → self::Empty*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bc<self::Bc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bi<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bi<self::Bi::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Cc<self::Cc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ci<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ci<self::Ci::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dc<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Dc<self::Dc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Di<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Di<self::Di::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class E<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ec<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::Ec<self::Ec::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ei<T extends core::Object* = dynamic> = core::Object with self::Empty {
-  synthetic constructor •() → self::Ei<self::Ei::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _F&Object&A<T extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_F&Object&A<self::_F&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fc&Object&A<self::_Fc&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fi&Object&A<self::_Fi&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_G&A&Empty<self::_G&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Gc&A&Empty<self::_Gc&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Gi&A&Empty<self::_Gi&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jffc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jffc<self::Jffc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jfcf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcf<self::Jfcf::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jfcc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcc<self::Jfcc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jcff<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcff<self::Jcff::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jcfc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcfc<self::Jcfc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jccf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccf<self::Jccf::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jccc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccc<self::Jccc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.strong.transformed.expect
deleted file mode 100644
index eaff9da..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.strong.transformed.expect
+++ /dev/null
@@ -1,633 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:15:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class B<T> extends A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:17:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Bc<T> extends A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:19:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Bi<T> extends A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:21:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class C<T> implements A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:23:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Cc<T> implements A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:25:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Ci<T> implements A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:27:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class D<T> = Object with A<Function(T)>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:29:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Dc<T> = Object with A<ContravariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:31:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Di<T> = Object with A<InvariantUse<T>>;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:33:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class E<T> = A<Function(T)> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:35:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Ec<T> = A<ContravariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:37:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Ei<T> = A<InvariantUse<T>> with Empty;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:39:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class F<T> extends Object with A<Function(T)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:41:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Fc<T> extends Object with A<ContravariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:43:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Fi<T> extends Object with A<InvariantUse<T>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:45:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class G<T> extends A<Function(T)> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:47:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Gc<T> extends A<ContravariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:49:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Gi<T> extends A<InvariantUse<T>> with Empty {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:59:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
-// class Hii<T> extends A<InvariantUse<InvariantUse<T>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:73:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfff<T> extends A<Function(Function(Function(T)))> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:75:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jffc<T> extends A<Function(Function(ContravariantUse<T>))> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:77:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfcf<T> extends A<Function(ContravariantUse<Function(T)>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:79:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jfcc<T> extends A<Function(ContravariantUse<ContravariantUse<T>>)> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:81:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jcff<T> extends A<ContravariantUse<Function(Function(T))>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:83:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jcfc<T> extends A<ContravariantUse<Function(ContravariantUse<T>)>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:85:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jccf<T> extends A<ContravariantUse<ContravariantUse<Function(T)>>> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:87:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class Jccc<T>
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef ContravariantUse<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
-typedef InvariantUse<invariant T extends core::Object* = dynamic> = (T*) →* T*;
-class Empty extends core::Object {
-  synthetic constructor •() → self::Empty*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bc<self::Bc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bi<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Bi<self::Bi::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Cc<self::Cc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ci<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ci<self::Ci::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::D<self::D::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dc<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Dc<self::Dc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Di<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Di<self::Di::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class E<T extends core::Object* = dynamic> extends core::Object implements self::Empty /*isEliminatedMixin*/  {
-  synthetic constructor •() → self::E<self::E::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ec<T extends core::Object* = dynamic> extends core::Object implements self::Empty /*isEliminatedMixin*/  {
-  synthetic constructor •() → self::Ec<self::Ec::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ei<T extends core::Object* = dynamic> extends core::Object implements self::Empty /*isEliminatedMixin*/  {
-  synthetic constructor •() → self::Ei<self::Ei::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _F&Object&A<T extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_F&Object&A<self::_F&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fc&Object&A<self::_Fc&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fi&Object&A<self::_Fi&Object&A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self::_G&A&Empty<self::_G&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self::_Gc&A&Empty<self::_Gc&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self::_Gi&A&Empty<self::_Gi&A&Empty::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jffc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jffc<self::Jffc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jfcf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcf<self::Jfcf::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jfcc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jfcc<self::Jfcc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jcff<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcff<self::Jcff::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jcfc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jcfc<self::Jcfc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jccf<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccf<self::Jccf::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jccc<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Jccc<self::Jccc::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.weak.outline.expect
new file mode 100644
index 0000000..8bb2902
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart.weak.outline.expect
@@ -0,0 +1,595 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:15:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class B<T> extends A<Function(T)> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:17:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Bc<T> extends A<ContravariantUse<T>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:19:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
+// class Bi<T> extends A<InvariantUse<T>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:21:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class C<T> implements A<Function(T)> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:23:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Cc<T> implements A<ContravariantUse<T>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:25:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
+// class Ci<T> implements A<InvariantUse<T>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:27:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class D<T> = Object with A<Function(T)>;
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:29:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Dc<T> = Object with A<ContravariantUse<T>>;
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:31:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
+// class Di<T> = Object with A<InvariantUse<T>>;
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:33:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class E<T> = A<Function(T)> with Empty;
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:35:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Ec<T> = A<ContravariantUse<T>> with Empty;
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:37:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
+// class Ei<T> = A<InvariantUse<T>> with Empty;
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:39:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class F<T> extends Object with A<Function(T)> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:41:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Fc<T> extends Object with A<ContravariantUse<T>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:43:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
+// class Fi<T> extends Object with A<InvariantUse<T>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:45:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class G<T> extends A<Function(T)> with Empty {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:47:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Gc<T> extends A<ContravariantUse<T>> with Empty {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:49:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
+// class Gi<T> extends A<InvariantUse<T>> with Empty {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:59:7: Error: Can't use implicitly 'out' variable 'T' in an 'inout' position in supertype 'A'.
+// class Hii<T> extends A<InvariantUse<InvariantUse<T>>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:73:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Jfff<T> extends A<Function(Function(Function(T)))> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:75:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Jffc<T> extends A<Function(Function(ContravariantUse<T>))> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:77:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Jfcf<T> extends A<Function(ContravariantUse<Function(T)>)> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:79:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Jfcc<T> extends A<Function(ContravariantUse<ContravariantUse<T>>)> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:81:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Jcff<T> extends A<ContravariantUse<Function(Function(T))>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:83:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Jcfc<T> extends A<ContravariantUse<Function(ContravariantUse<T>)>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:85:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Jccf<T> extends A<ContravariantUse<ContravariantUse<Function(T)>>> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bad_type_variable_uses_in_supertypes.dart:87:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class Jccc<T>
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef ContravariantUse<contravariant T extends core::Object* = dynamic> = (T*) →* dynamic;
+typedef InvariantUse<invariant T extends core::Object* = dynamic> = (T*) →* T*;
+class Empty extends core::Object {
+  synthetic constructor •() → self::Empty*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class A<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::A<self::A::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Bc<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Bc<self::Bc::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Bi<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Bi<self::Bi::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Cc<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Cc<self::Cc::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Ci<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Ci<self::Ci::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::D<self::D::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Dc<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Dc<self::Dc::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Di<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Di<self::Di::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class E<T extends core::Object* = dynamic> = core::Object with self::Empty {
+  synthetic constructor •() → self::E<self::E::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Ec<T extends core::Object* = dynamic> = core::Object with self::Empty {
+  synthetic constructor •() → self::Ec<self::Ec::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Ei<T extends core::Object* = dynamic> = core::Object with self::Empty {
+  synthetic constructor •() → self::Ei<self::Ei::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _F&Object&A<T extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_F&Object&A<self::_F&Object&A::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class F<T extends core::Object* = dynamic> extends self::_F&Object&A<self::F::T*> {
+  synthetic constructor •() → self::F<self::F::T*>*
+    ;
+}
+abstract class _Fc&Object&A<T extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Fc&Object&A<self::_Fc&Object&A::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Fc<T extends core::Object* = dynamic> extends self::_Fc&Object&A<self::Fc::T*> {
+  synthetic constructor •() → self::Fc<self::Fc::T*>*
+    ;
+}
+abstract class _Fi&Object&A<T extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Fi&Object&A<self::_Fi&Object&A::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Fi<T extends core::Object* = dynamic> extends self::_Fi&Object&A<self::Fi::T*> {
+  synthetic constructor •() → self::Fi<self::Fi::T*>*
+    ;
+}
+abstract class _G&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_G&A&Empty<self::_G&A&Empty::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class G<T extends core::Object* = dynamic> extends self::_G&A&Empty<self::G::T*> {
+  synthetic constructor •() → self::G<self::G::T*>*
+    ;
+}
+abstract class _Gc&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Gc&A&Empty<self::_Gc&A&Empty::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Gc<T extends core::Object* = dynamic> extends self::_Gc&A&Empty<self::Gc::T*> {
+  synthetic constructor •() → self::Gc<self::Gc::T*>*
+    ;
+}
+abstract class _Gi&A&Empty<T extends core::Object* = dynamic> = core::Object with self::Empty /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Gi&A&Empty<self::_Gi&A&Empty::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Gi<T extends core::Object* = dynamic> extends self::_Gi&A&Empty<self::Gi::T*> {
+  synthetic constructor •() → self::Gi<self::Gi::T*>*
+    ;
+}
+class Hff<T extends core::Object* = dynamic> extends self::A<((self::Hff::T*) →* dynamic) →* dynamic> {
+  synthetic constructor •() → self::Hff<self::Hff::T*>*
+    ;
+}
+class Hfc<T extends core::Object* = dynamic> extends self::A<((self::Hfc::T*) →* dynamic) →* dynamic> {
+  synthetic constructor •() → self::Hfc<self::Hfc::T*>*
+    ;
+}
+class Hcf<T extends core::Object* = dynamic> extends self::A<((self::Hcf::T*) →* dynamic) →* dynamic> {
+  synthetic constructor •() → self::Hcf<self::Hcf::T*>*
+    ;
+}
+class Hcc<T extends core::Object* = dynamic> extends self::A<((self::Hcc::T*) →* dynamic) →* dynamic> {
+  synthetic constructor •() → self::Hcc<self::Hcc::T*>*
+    ;
+}
+class Hii<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Hii<self::Hii::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Iafc<T extends core::Object* = dynamic> extends self::A<self::A<((self::Iafc::T*) →* dynamic) →* dynamic>*> {
+  synthetic constructor •() → self::Iafc<self::Iafc::T*>*
+    ;
+}
+class Iacf<T extends core::Object* = dynamic> extends self::A<self::A<((self::Iacf::T*) →* dynamic) →* dynamic>*> {
+  synthetic constructor •() → self::Iacf<self::Iacf::T*>*
+    ;
+}
+class Ifac<T extends core::Object* = dynamic> extends self::A<(self::A<(self::Ifac::T*) →* dynamic>*) →* dynamic> {
+  synthetic constructor •() → self::Ifac<self::Ifac::T*>*
+    ;
+}
+class Ifca<T extends core::Object* = dynamic> extends self::A<((self::A<self::Ifca::T*>*) →* dynamic) →* dynamic> {
+  synthetic constructor •() → self::Ifca<self::Ifca::T*>*
+    ;
+}
+class Icaf<T extends core::Object* = dynamic> extends self::A<(self::A<(self::Icaf::T*) →* dynamic>*) →* dynamic> {
+  synthetic constructor •() → self::Icaf<self::Icaf::T*>*
+    ;
+}
+class Icfa<T extends core::Object* = dynamic> extends self::A<((self::A<self::Icfa::T*>*) →* dynamic) →* dynamic> {
+  synthetic constructor •() → self::Icfa<self::Icfa::T*>*
+    ;
+}
+class Jfff<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Jfff<self::Jfff::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jffc<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Jffc<self::Jffc::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jfcf<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Jfcf<self::Jfcf::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jfcc<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Jfcc<self::Jfcc::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jcff<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Jcff<self::Jcff::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jcfc<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Jcfc<self::Jcfc::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jccf<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Jccf<self::Jccf::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jccc<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Jccc<self::Jccc::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.hierarchy.expect
deleted file mode 100644
index 91f36e2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.outline.expect
deleted file mode 100644
index 9f4647b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.outline.expect
+++ /dev/null
@@ -1,40 +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*>*
-    ;
-  method bar<generic-covariant-impl Y extends self::A::X* = self::A::X*>() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  static method foo<Y extends core::Object* = core::Object*>() → self::A<self::B::foo::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.strong.expect
deleted file mode 100644
index 1f0308b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.strong.expect
+++ /dev/null
@@ -1,42 +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* = self::A::X*>() → dynamic
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  static method foo<Y extends core::Object* = core::Object*>() → self::A<self::B::foo::Y*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz() → dynamic {
-  self::B::foo<core::Object*>().{self::A::bar}<core::String*>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.strong.transformed.expect
deleted file mode 100644
index 1f0308b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.strong.transformed.expect
+++ /dev/null
@@ -1,42 +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* = self::A::X*>() → dynamic
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  static method foo<Y extends core::Object* = core::Object*>() → self::A<self::B::foo::Y*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz() → dynamic {
-  self::B::foo<core::Object*>().{self::A::bar}<core::String*>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bounds_check_depends_on_inference.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bounds_check_depends_on_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.strong.expect
deleted file mode 100644
index 0a1b582..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.strong.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart:10:4: Error: The method 'call' isn't defined for the class 'Object'.
-//  - 'Object' is from 'dart:core'.
-// Try correcting the name to the name of an existing method, or defining a method named 'call'.
-//   x();
-//    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart:11:4: Error: The method 'call' isn't defined for the class 'Object'.
-//  - 'Object' is from 'dart:core'.
-// Try correcting the name to the name of an existing method, or defining a method named 'call'.
-//   x(3);
-//    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart:13:5: Error: The method 'call' isn't defined for the class 'Object'.
-//  - 'Object' is from 'dart:core'.
-// Try correcting the name to the name of an existing method, or defining a method named 'call'.
-//   x.call();
-//     ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  core::Object* x;
-  core::Function* f;
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart:10:4: Error: The method 'call' isn't defined for the class 'Object'.
- - 'Object' is from 'dart:core'.
-Try correcting the name to the name of an existing method, or defining a method named 'call'.
-  x();
-   ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart:11:4: Error: The method 'call' isn't defined for the class 'Object'.
- - 'Object' is from 'dart:core'.
-Try correcting the name to the name of an existing method, or defining a method named 'call'.
-  x(3);
-   ^";
-  f.call(5, 2);
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart:13:5: Error: The method 'call' isn't defined for the class 'Object'.
- - 'Object' is from 'dart:core'.
-Try correcting the name to the name of an existing method, or defining a method named 'call'.
-  x.call();
-    ^^^^";
-  f.call;
-  f.call(5, 2);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.hierarchy.expect
deleted file mode 100644
index 94fa588..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.outline.expect
deleted file mode 100644
index 25a590f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart:13:3: Error: Can't declare a member that conflicts with an inherited one.
-//   foo() => 42;
-//   ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart:8: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 core::int* foo;
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  method foo() → dynamic
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.strong.expect
deleted file mode 100644
index a35cc92..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.strong.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart:13:3: Error: Can't declare a member that conflicts with an inherited one.
-//   foo() => 42;
-//   ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart:8: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 core::int* foo = 42;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/bug30695.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.weak.outline.expect
new file mode 100644
index 0000000..f6cada0
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart.weak.outline.expect
@@ -0,0 +1,37 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart:13:3: Error: Can't declare a member that conflicts with an inherited one.
+//   foo() => 42;
+//   ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/bug30695.dart:8: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 core::int* foo;
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+  method foo() → dynamic
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.strong.expect
deleted file mode 100644
index 3ac4c2c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.strong.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart:6:22: Error: Expected a function body or '=>'.
-// Try adding {}.
-// var a = () => 'b';a();
-//                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart:6:19: Error: 'a' is already declared in this scope.
-// var a = () => 'b';a();
-//                   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart:6:5: Context: Previous declaration of 'a'.
-// var a = () => 'b';a();
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field () →* core::String* a;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.strong.transformed.expect
deleted file mode 100644
index 3ac4c2c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.strong.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart:6:22: Error: Expected a function body or '=>'.
-// Try adding {}.
-// var a = () => 'b';a();
-//                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart:6:19: Error: 'a' is already declared in this scope.
-// var a = () => 'b';a();
-//                   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart:6:5: Context: Previous declaration of 'a'.
-// var a = () => 'b';a();
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field () →* core::String* a;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/bug31124.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.strong.expect
deleted file mode 100644
index 0e34316..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.strong.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart:12:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   b = 42;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  dynamic a = 5;
-  core::String* b = a.{core::Object::toString}();
-  b = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart:12:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  b = 42;
-      ^" in 42 as{TypeError} core::String*;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.strong.transformed.expect
deleted file mode 100644
index 0e34316..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.strong.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart:12:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   b = 42;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → void {
-  dynamic a = 5;
-  core::String* b = a.{core::Object::toString}();
-  b = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart:12:7: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  b = 42;
-      ^" in 42 as{TypeError} core::String*;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.outline.expect
deleted file mode 100644
index a440da0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.strong.expect
deleted file mode 100644
index 1422239..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.strong.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.{core::Iterable::map}<core::String*>((dynamic element) → core::String* => element.{core::Object::toString}()).{core::Iterable::toList}();
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.strong.transformed.expect
deleted file mode 100644
index 1422239..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.strong.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.{core::Iterable::map}<core::String*>((dynamic element) → core::String* => element.{core::Object::toString}()).{core::Iterable::toList}();
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/bug32414a.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug32414b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.hierarchy.expect
deleted file mode 100644
index b816c89..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.hierarchy.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    I.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.outline.expect
deleted file mode 100644
index f98f561..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    ;
-  abstract method call() → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    ;
-  method call([core::int* x]) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.strong.expect
deleted file mode 100644
index ce31ea4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.strong.expect
+++ /dev/null
@@ -1,44 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call([core::int* x = #C1]) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::I* i = new self::C::•();
-  ([core::int*]) →* void f = (let final self::I* #t1 = i in #t1.==(null) ?{() →* void} null : #t1.{self::I::call}) as{TypeError} ([core::int*]) →* void;
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.strong.transformed.expect
deleted file mode 100644
index ce31ea4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.strong.transformed.expect
+++ /dev/null
@@ -1,44 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method call([core::int* x = #C1]) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::I* i = new self::C::•();
-  ([core::int*]) →* void f = (let final self::I* #t1 = i in #t1.==(null) ?{() →* void} null : #t1.{self::I::call}) as{TypeError} ([core::int*]) →* void;
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/bug32426.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug32426.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug32426.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.hierarchy.expect
deleted file mode 100644
index 9aca183..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.outline.expect
deleted file mode 100644
index 90cc551..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.outline.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Reducer<invariant S extends core::Object* = dynamic> = (S*, dynamic) →* S*;
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  method call(dynamic a, dynamic b) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo<S extends core::Object* = dynamic>((self::foo::S*, dynamic) →* self::foo::S* v) → void
-  ;
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.strong.expect
deleted file mode 100644
index 482a616..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.strong.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart:18:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
-//   foo<String>(new A());
-//                   ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Reducer<invariant 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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo<S extends core::Object* = dynamic>((self::foo::S*, dynamic) →* self::foo::S* v) → void {}
-static method test() → void {
-  self::foo<core::String*>(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart:18:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
-  foo<String>(new A());
-                  ^" in (let final self::A* #t2 = new self::A::•() in #t2.==(null) ?{(dynamic, dynamic) →* dynamic} null : #t2.{self::A::call}) as{TypeError} (core::String*, dynamic) →* core::String*);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.strong.transformed.expect
deleted file mode 100644
index 482a616..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart:18:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
-//   foo<String>(new A());
-//                   ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Reducer<invariant 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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo<S extends core::Object* = dynamic>((self::foo::S*, dynamic) →* self::foo::S* v) → void {}
-static method test() → void {
-  self::foo<core::String*>(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart:18:19: Error: The argument type 'dynamic Function(dynamic, dynamic)' can't be assigned to the parameter type 'String Function(String, dynamic)'.
-  foo<String>(new A());
-                  ^" in (let final self::A* #t2 = new self::A::•() in #t2.==(null) ?{(dynamic, dynamic) →* dynamic} null : #t2.{self::A::call}) as{TypeError} (core::String*, dynamic) →* core::String*);
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug32629.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug32629.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug32629.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.hierarchy.expect
deleted file mode 100644
index ec9f23e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.hierarchy.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.outline.expect
deleted file mode 100644
index 2b46f66..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract get f() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A extends core::Object implements self::B {
-  final field core::String* f;
-  constructor •(core::String* f) → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::A* a;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.strong.expect
deleted file mode 100644
index c70022d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.strong.expect
+++ /dev/null
@@ -1,39 +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*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A extends core::Object implements self::B {
-  final field core::String* f;
-  constructor •(core::String* f) → self::A*
-    : self::A::f = f, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::A* a = new self::A::•("foo");
-static method main() → dynamic
-  return core::print(self::a);
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.strong.transformed.expect
deleted file mode 100644
index c70022d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.strong.transformed.expect
+++ /dev/null
@@ -1,39 +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*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A extends core::Object implements self::B {
-  final field core::String* f;
-  constructor •(core::String* f) → self::A*
-    : self::A::f = f, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::A* a = new self::A::•("foo");
-static method main() → dynamic
-  return core::print(self::a);
diff --git a/pkg/front_end/testcases/general/bug32866.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug32866.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug32866.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.hierarchy.expect
deleted file mode 100644
index 443af04..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.hierarchy.expect
+++ /dev/null
@@ -1,119 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_FailingTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-MyTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with MyTest:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: MyTest
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-MyTest2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _MyTest2&Object&MyTest
-  interfaces: MyTest
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyTest.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.outline.expect
deleted file mode 100644
index 854ab83..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.outline.expect
+++ /dev/null
@@ -1,65 +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 /*hasConstConstructor*/  {
-  const constructor •() → self::_FailingTest*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class MyTest extends core::Object {
-  synthetic constructor •() → self::MyTest*
-    ;
-  @self::failingTest
-  method foo() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _MyTest2&Object&MyTest = core::Object with self::MyTest /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_MyTest2&Object&MyTest*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class MyTest2 extends self::_MyTest2&Object&MyTest {
-  synthetic constructor •() → self::MyTest2*
-    ;
-}
-static const field self::_FailingTest* failingTest = const self::_FailingTest::•();
-static method main() → dynamic
-  ;
-static method _hasFailingTestAnnotation(mir::MethodMirror* method) → core::bool*
-  ;
-static method _hasAnnotationInstance(mir::DeclarationMirror* declaration, dynamic instance) → core::bool*
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.strong.expect
deleted file mode 100644
index ef40ee1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.strong.expect
+++ /dev/null
@@ -1,84 +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 /*hasConstConstructor*/  {
-  const constructor •() → self::_FailingTest*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class MyTest extends core::Object {
-  synthetic constructor •() → self::MyTest*
-    : super core::Object::•()
-    ;
-  @#C1
-  method foo() → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _MyTest2&Object&MyTest = core::Object with self::MyTest /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_MyTest2&Object&MyTest*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class MyTest2 extends self::_MyTest2&Object&MyTest {
-  synthetic constructor •() → self::MyTest2*
-    : super self::_MyTest2&Object&MyTest::•()
-    ;
-}
-static const field self::_FailingTest* failingTest = #C1;
-static method main() → dynamic {
-  mir::ClassMirror* classMirror = mir::reflectClass(self::MyTest2*);
-  classMirror.{mir::ClassMirror::instanceMembers}.{core::Map::forEach}((core::Symbol* symbol, mir::MethodMirror* memberMirror) → core::Null? {
-    if(memberMirror.{mir::DeclarationMirror::simpleName}.{core::Symbol::==}(#C2)) {
-      core::print(memberMirror);
-      core::print(self::_hasFailingTestAnnotation(memberMirror));
-    }
-  });
-}
-static method _hasFailingTestAnnotation(mir::MethodMirror* method) → core::bool* {
-  core::bool* r = self::_hasAnnotationInstance(method, #C1);
-  core::print("[_hasFailingTestAnnotation] ${method} ${r}");
-  return r;
-}
-static method _hasAnnotationInstance(mir::DeclarationMirror* declaration, dynamic instance) → core::bool*
-  return declaration.{mir::DeclarationMirror::metadata}.{core::Iterable::any}((mir::InstanceMirror* annotation) → core::bool* {
-    core::print("annotation: ${annotation.{mir::InstanceMirror::reflectee}}");
-    return core::identical(annotation.{mir::InstanceMirror::reflectee}, instance);
-  });
-
-constants  {
-  #C1 = self::_FailingTest {}
-  #C2 = #foo
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.strong.transformed.expect
deleted file mode 100644
index c847d06..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.strong.transformed.expect
+++ /dev/null
@@ -1,86 +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 /*hasConstConstructor*/  {
-  const constructor •() → self::_FailingTest*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class MyTest extends core::Object {
-  synthetic constructor •() → self::MyTest*
-    : super core::Object::•()
-    ;
-  @#C1
-  method foo() → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _MyTest2&Object&MyTest extends core::Object implements self::MyTest /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_MyTest2&Object&MyTest*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  @#C1
-  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 = #C1;
-static method main() → dynamic {
-  mir::ClassMirror* classMirror = mir::reflectClass(self::MyTest2*);
-  classMirror.{mir::ClassMirror::instanceMembers}.{core::Map::forEach}((core::Symbol* symbol, mir::MethodMirror* memberMirror) → core::Null? {
-    if(memberMirror.{mir::DeclarationMirror::simpleName}.{core::Symbol::==}(#C2)) {
-      core::print(memberMirror);
-      core::print(self::_hasFailingTestAnnotation(memberMirror));
-    }
-  });
-}
-static method _hasFailingTestAnnotation(mir::MethodMirror* method) → core::bool* {
-  core::bool* r = self::_hasAnnotationInstance(method, #C1);
-  core::print("[_hasFailingTestAnnotation] ${method} ${r}");
-  return r;
-}
-static method _hasAnnotationInstance(mir::DeclarationMirror* declaration, dynamic instance) → core::bool*
-  return declaration.{mir::DeclarationMirror::metadata}.{core::Iterable::any}((mir::InstanceMirror* annotation) → core::bool* {
-    core::print("annotation: ${annotation.{mir::InstanceMirror::reflectee}}");
-    return core::identical(annotation.{mir::InstanceMirror::reflectee}, instance);
-  });
-
-constants  {
-  #C1 = self::_FailingTest {}
-  #C2 = #foo
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.weak.outline.expect
new file mode 100644
index 0000000..c59b326
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/bug33099.dart.weak.outline.expect
@@ -0,0 +1,73 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "dart:mirrors" as mir;
+
+import "dart:mirrors";
+
+class _FailingTest extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::_FailingTest*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class MyTest extends core::Object {
+  synthetic constructor •() → self::MyTest*
+    ;
+  @self::failingTest
+  method foo() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _MyTest2&Object&MyTest = core::Object with self::MyTest /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_MyTest2&Object&MyTest*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method foo() → void
+    return super.{self::MyTest::foo}();
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class MyTest2 extends self::_MyTest2&Object&MyTest {
+  synthetic constructor •() → self::MyTest2*
+    ;
+}
+static const field self::_FailingTest* failingTest = const self::_FailingTest::•();
+static method main() → dynamic
+  ;
+static method _hasFailingTestAnnotation(mir::MethodMirror* method) → core::bool*
+  ;
+static method _hasAnnotationInstance(mir::DeclarationMirror* declaration, dynamic instance) → core::bool*
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///bug33099.dart:16:4 -> InstanceConstant(const _FailingTest{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///bug33099.dart:9:40 -> InstanceConstant(const _FailingTest{})
+Extra constant evaluation: evaluated: 3, effectively constant: 2
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.outline.expect
deleted file mode 100644
index 628cf31..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.outline.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic
-  ;
-static method returnsString() → asy::FutureOr<core::String*>*
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.strong.expect
deleted file mode 100644
index 83b0714..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.strong.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic {
-  asy::FutureOr<core::String*>* result = self::returnsString();
-  core::print(result.{core::Object::runtimeType});
-}
-static method returnsString() → asy::FutureOr<core::String*>* async {
-  return "oh no";
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.strong.transformed.expect
deleted file mode 100644
index 75b721f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.strong.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-import "dart:core" as core;
-
-import "dart:async";
-
-static method main() → dynamic {
-  asy::FutureOr<core::String*>* result = self::returnsString();
-  core::print(result.{core::Object::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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/general/bug33196.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug33196.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug33196.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.hierarchy.expect
deleted file mode 100644
index 84bd4d6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    X.y
-    X.toString
-    X.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Y.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.outline.expect
deleted file mode 100644
index b2e9eba..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.outline.expect
+++ /dev/null
@@ -1,50 +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*
-    ;
-  method toString() → core::String*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends core::Object {
-  synthetic constructor •() → self::Y*
-    ;
-  method f(dynamic _) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method f1() → asy::Future<core::List<core::Object*>*>*
-  ;
-static method f2() → core::List<core::Object*>*
-  ;
-static method f3() → asy::Future<core::Object*>*
-  ;
-static method foo() → asy::Future<self::X*>*
-  ;
-static method main() → asy::Future<void>*
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.strong.expect
deleted file mode 100644
index 8653700..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.strong.expect
+++ /dev/null
@@ -1,55 +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}})";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends core::Object {
-  synthetic constructor •() → self::Y*
-    : super core::Object::•()
-    ;
-  method f(dynamic _) → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method f1() → asy::Future<core::List<core::Object*>*>* async {
-  return <core::Object*>[1];
-}
-static method f2() → core::List<core::Object*>*
-  return <core::Object*>[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 self::Y* #t1 = new self::Y::•() in let final void #t2 = #t1.{self::Y::f}(await self::f1()) in let final void #t3 = #t1.{self::Y::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_nnbd_opt_out/bug33206.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.strong.transformed.expect
deleted file mode 100644
index dfedd80..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.strong.transformed.expect
+++ /dev/null
@@ -1,159 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-import "dart:_internal" as _in;
-
-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}})";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends core::Object {
-  synthetic constructor •() → self::Y*
-    : super core::Object::•()
-    ;
-  method f(dynamic _) → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :await_jump_var = 0;
-  dynamic :await_ctx_var;
-  function :async_op([dynamic :result, dynamic :exception, dynamic :stack_trace]) → dynamic yielding 
-    try {
-      #L1:
-      {
-        :return_value = <core::Object*>[1];
-        break #L1;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method f2() → core::List<core::Object*>*
-  return <core::Object*>[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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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 self::Y* #t1 = new self::Y::•();
-        [yield] let dynamic #t2 = asy::_awaitHelper(self::f1(), :async_op_then, :async_op_error, :async_op) in null;
-        final void #t3 = #t1.{self::Y::f}(_in::unsafeCast<core::List<core::Object*>*>(:result));
-        final void #t4 = #t1.{self::Y::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, _in::unsafeCast<core::Object*>(:result));
-        break #L3;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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(_in::unsafeCast<self::X*>(:result));
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
diff --git a/pkg/front_end/testcases/general/bug33206.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug33206.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug33206.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.hierarchy.expect
deleted file mode 100644
index 874d1b7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.hierarchy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.outline.expect
deleted file mode 100644
index 936d7a1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.outline.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  method call(core::String* s) → core::String*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    ;
-  method call(generic-covariant-impl self::B::T* t) → self::B::T*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method call<T extends core::Object* = dynamic>(self::C::call::T* t) → self::C::call::T*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.strong.expect
deleted file mode 100644
index 477789a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.strong.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart:30:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
-//   List<String> list6 = ['a', 'b', 'c'].map(c).toList();
-//                                            ^
-//
-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}";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  self::A* a = new self::A::•();
-  core::List<core::String*>* list1 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(a.{self::A::call}).{core::Iterable::toList}();
-  core::List<core::String*>* list2 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::A* #t1 = a in #t1.==(null) ?{(core::String*) →* core::String*} null : #t1.{self::A::call}).{core::Iterable::toList}();
-  self::B<core::String*>* b = new self::B::•<core::String*>();
-  core::List<core::String*>* list3 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(b.{self::B::call}).{core::Iterable::toList}();
-  core::List<core::String*>* list4 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::B<core::String*>* #t2 = b in #t2.==(null) ?{(core::String*) →* core::String*} null : #t2.{self::B::call}).{core::Iterable::toList}();
-  self::C* c = new self::C::•();
-  core::List<core::String*>* list5 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(c.{self::C::call}<core::String*>).{core::Iterable::toList}();
-  core::List<core::String*>* list6 = <core::String*>["a", "b", "c"].{core::Iterable::map}<dynamic>(let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart:30:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
-  List<String> list6 = ['a', 'b', 'c'].map(c).toList();
-                                           ^" in (let final self::C* #t4 = c in #t4.==(null) ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t4.{self::C::call}) as{TypeError} (core::String*) → dynamic).{core::Iterable::toList}() as{TypeError} core::List<core::String*>*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.strong.transformed.expect
deleted file mode 100644
index 477789a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.strong.transformed.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart:30:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
-//   List<String> list6 = ['a', 'b', 'c'].map(c).toList();
-//                                            ^
-//
-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}";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  self::A* a = new self::A::•();
-  core::List<core::String*>* list1 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(a.{self::A::call}).{core::Iterable::toList}();
-  core::List<core::String*>* list2 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::A* #t1 = a in #t1.==(null) ?{(core::String*) →* core::String*} null : #t1.{self::A::call}).{core::Iterable::toList}();
-  self::B<core::String*>* b = new self::B::•<core::String*>();
-  core::List<core::String*>* list3 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(b.{self::B::call}).{core::Iterable::toList}();
-  core::List<core::String*>* list4 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(let final self::B<core::String*>* #t2 = b in #t2.==(null) ?{(core::String*) →* core::String*} null : #t2.{self::B::call}).{core::Iterable::toList}();
-  self::C* c = new self::C::•();
-  core::List<core::String*>* list5 = <core::String*>["a", "b", "c"].{core::Iterable::map}<core::String*>(c.{self::C::call}<core::String*>).{core::Iterable::toList}();
-  core::List<core::String*>* list6 = <core::String*>["a", "b", "c"].{core::Iterable::map}<dynamic>(let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart:30:44: Error: The argument type 'T Function<T>(T)' can't be assigned to the parameter type 'dynamic Function(String)'.
-  List<String> list6 = ['a', 'b', 'c'].map(c).toList();
-                                           ^" in (let final self::C* #t4 = c in #t4.==(null) ?{<T extends core::Object* = dynamic>(T*) →* T*} null : #t4.{self::C::call}) as{TypeError} (core::String*) → dynamic).{core::Iterable::toList}() as{TypeError} core::List<core::String*>*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug33298.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug33298.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug33298.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.hierarchy.expect
deleted file mode 100644
index 57d451c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.hierarchy.expect
+++ /dev/null
@@ -1,97 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with A<() -> Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A<() -> Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _B&Object&A<Z>
-  interfaces: A<() -> Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.outline.expect
deleted file mode 100644
index 7cd48e7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.outline.expect
+++ /dev/null
@@ -1,39 +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*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _B&Object&A<Z extends core::Object* = dynamic> = core::Object with self::A<() →* self::_B&Object&A::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<Z extends core::Object* = dynamic> extends self::_B&Object&A<self::B::Z*> {
-  synthetic constructor •() → self::B<self::B::Z*>*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.strong.expect
deleted file mode 100644
index 23fa2c2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.strong.expect
+++ /dev/null
@@ -1,40 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _B&Object&A<Z extends core::Object* = dynamic> = core::Object with self::A<() →* self::_B&Object&A::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/bug34511.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.strong.transformed.expect
deleted file mode 100644
index 7ad4cf3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.strong.transformed.expect
+++ /dev/null
@@ -1,40 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _B&Object&A<Z extends core::Object* = dynamic> extends core::Object implements self::A<() →* self::_B&Object&A::Z*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug34511.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug34511.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.hierarchy.expect
deleted file mode 100644
index be0da75..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<dynamic>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.outline.expect
deleted file mode 100644
index 457def3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.outline.expect
+++ /dev/null
@@ -1,28 +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*>*
-    ;
-  method foo<generic-covariant-impl Y extends self::A::X* = self::A::X*>() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A<dynamic> {
-  synthetic constructor •() → self::B*
-    ;
-}
-static method bar(self::B* b) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.strong.expect
deleted file mode 100644
index 6f7c9bb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.strong.expect
+++ /dev/null
@@ -1,29 +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* = self::A::X*>() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A<dynamic> {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method bar(self::B* b) → dynamic {
-  b.{self::A::foo}<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.strong.transformed.expect
deleted file mode 100644
index 6f7c9bb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.strong.transformed.expect
+++ /dev/null
@@ -1,29 +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* = self::A::X*>() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A<dynamic> {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method bar(self::B* b) → dynamic {
-  b.{self::A::foo}<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/bug35470.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug35470.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug35470.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.hierarchy.expect
deleted file mode 100644
index 2f145ca..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.outline.expect
deleted file mode 100644
index bce42c7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.outline.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    ;
-  method foo() → <S extends self::A::T* = dynamic>(S*) →* void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    ;
-  method foo() → (self::B::T*) →* void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::A<core::num*>* a;
-static field self::B<core::num*>* b;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.strong.expect
deleted file mode 100644
index c3ee6c0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.strong.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = core::num*> 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* = self::A::T*>(S* a) → core::Null? {};
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::num* = core::num*> 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) → core::Null? {};
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.{self::A::foo}() as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
-    throw "Expected TypeError";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    self::b.{self::B::foo}() as{TypeError,CovarianceCheck} (core::num*) →* void;
-    throw "Expected TypeError";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.strong.transformed.expect
deleted file mode 100644
index c3ee6c0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.strong.transformed.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = core::num*> 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* = self::A::T*>(S* a) → core::Null? {};
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::num* = core::num*> 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) → core::Null? {};
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.{self::A::foo}() as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
-    throw "Expected TypeError";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    self::b.{self::B::foo}() as{TypeError,CovarianceCheck} (core::num*) →* void;
-    throw "Expected TypeError";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-}
diff --git a/pkg/front_end/testcases/general/bug37476.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug37476.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/bug37476.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.hierarchy.expect
deleted file mode 100644
index b10a126..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Callable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Callable.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-CallableGetter:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    CallableGetter.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.outline.expect
deleted file mode 100644
index 3fcf480..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.outline.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Callable extends core::Object {
-  synthetic constructor •() → self::Callable*
-    ;
-  method call(dynamic x) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class CallableGetter extends core::Object {
-  synthetic constructor •() → self::CallableGetter*
-    ;
-  get call() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.strong.expect
deleted file mode 100644
index 84b871a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.strong.expect
+++ /dev/null
@@ -1,139 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:31:31: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
-//  - 'CallableGetter' is from 'pkg/front_end/testcases/general_nnbd_opt_out/call.dart'.
-// Try changing 'call' to a method or explicitly invoke 'call'.
-//   var string5 = callableGetter(1);
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:36:25: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing1 = closure();
-//                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:37:30: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing2 = closure.call();
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:38:35: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing3 = closure.call.call();
-//                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:39:40: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing4 = closure.call.call.call();
-//                                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:41:26: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing5 = callable();
-//                          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:42:31: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing6 = callable.call();
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:43:36: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing7 = callable.call.call();
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:44:41: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing8 = callable.call.call.call();
-//                                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/call.dart:46:32: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
-//  - 'CallableGetter' is from 'pkg/front_end/testcases/general_nnbd_opt_out/call.dart'.
-// Try changing 'call' to a method or explicitly invoke 'call'.
-//   var nothing9 = callableGetter();
-//                                ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Callable extends core::Object {
-  synthetic constructor •() → self::Callable*
-    : super core::Object::•()
-    ;
-  method call(dynamic x) → dynamic {
-    return "string";
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class CallableGetter extends core::Object {
-  synthetic constructor •() → self::CallableGetter*
-    : super core::Object::•()
-    ;
-  get call() → dynamic
-    return new self::Callable::•();
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  (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);
-  self::Callable* callable = new self::Callable::•();
-  dynamic string1 = callable.{self::Callable::call}(1);
-  dynamic string2 = callable.{self::Callable::call}(1);
-  dynamic string3 = callable.{self::Callable::call}.call(1);
-  dynamic string4 = callable.{self::Callable::call}.call.call(1);
-  self::CallableGetter* callableGetter = new self::CallableGetter::•();
-  dynamic string5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:31:31: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- - 'CallableGetter' is from 'pkg/front_end/testcases/general_nnbd_opt_out/call.dart'.
-Try changing 'call' to a method or explicitly invoke 'call'.
-  var string5 = callableGetter(1);
-                              ^";
-  dynamic string6 = let final self::CallableGetter* #t1 = callableGetter in let final core::int* #t2 = 1 in #t1.{self::CallableGetter::call}.call(#t2);
-  dynamic string7 = callableGetter.{self::CallableGetter::call}.call(1);
-  dynamic string8 = callableGetter.{self::CallableGetter::call}.call.call(1);
-  invalid-type nothing1 = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:36:25: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing1 = closure();
-                        ^" in closure.call();
-  invalid-type nothing2 = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:37:30: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing2 = closure.call();
-                             ^" in closure.call();
-  invalid-type nothing3 = let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:38:35: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing3 = closure.call.call();
-                                  ^" in closure.call.call();
-  invalid-type nothing4 = let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:39:40: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing4 = closure.call.call.call();
-                                       ^" in closure.call.call.call();
-  invalid-type nothing5 = let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:41:26: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing5 = callable();
-                         ^" in callable.{self::Callable::call}();
-  invalid-type nothing6 = let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:42:31: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing6 = callable.call();
-                              ^" in callable.{self::Callable::call}();
-  invalid-type nothing7 = let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:43:36: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing7 = callable.call.call();
-                                   ^" in callable.{self::Callable::call}.call();
-  invalid-type nothing8 = let final<BottomType> #t10 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:44:41: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing8 = callable.call.call.call();
-                                        ^" in callable.{self::Callable::call}.call.call();
-  dynamic nothing9 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/call.dart:46:32: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- - 'CallableGetter' is from 'pkg/front_end/testcases/general_nnbd_opt_out/call.dart'.
-Try changing 'call' to a method or explicitly invoke 'call'.
-  var nothing9 = callableGetter();
-                               ^";
-  dynamic nothing10 = callableGetter.{self::CallableGetter::call}.call();
-  dynamic nothing11 = callableGetter.{self::CallableGetter::call}.call();
-  dynamic nothing12 = callableGetter.{self::CallableGetter::call}.call.call();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.weak.outline.expect
new file mode 100644
index 0000000..8974e59
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/call.dart.weak.outline.expect
@@ -0,0 +1,38 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Callable extends core::Object {
+  synthetic constructor •() → self::Callable*
+    ;
+  method call(dynamic x) → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class CallableGetter extends core::Object {
+  synthetic constructor •() → self::CallableGetter*
+    ;
+  get call() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart.outline.expect
deleted file mode 100644
index 7d0338f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart.outline.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Fisk extends core::Object {
-  constructor •(core::int* x) → self::Fisk*
-    ;
-  constructor named(core::int* x) → self::Fisk*
-    ;
-  method method(core::int* x) → void
-    ;
-  static method staticMethod(core::int* x) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart.strong.expect
deleted file mode 100644
index 2861009..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart.strong.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:18:11: Error: Too few positional arguments: 1 required, 0 given.
-//   new Fisk();
-//           ^
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:8:3: Context: Found this candidate, but the arguments don't match.
-//   Fisk(int x) {}
-//   ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:19:17: Error: Too few positional arguments: 1 required, 0 given.
-//   new Fisk.named();
-//                 ^
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:10:3: Context: Found this candidate, but the arguments don't match.
-//   Fisk.named(int x) {}
-//   ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:20:7: Error: Too few positional arguments: 1 required, 0 given.
-//   Fisk();
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:8:3: Context: Found this candidate, but the arguments don't match.
-//   Fisk(int x) {}
-//   ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:21:13: Error: Too few positional arguments: 1 required, 0 given.
-//   Fisk.named();
-//             ^
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:10:3: Context: Found this candidate, but the arguments don't match.
-//   Fisk.named(int x) {}
-//   ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:22:20: Error: Too few positional arguments: 1 required, 0 given.
-//   Fisk.staticMethod();
-//                    ^
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:14:15: Context: Found this candidate, but the arguments don't match.
-//   static void staticMethod(int x) {}
-//               ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:23:24: Error: Too few positional arguments: 1 required, 0 given.
-//   (null as Fisk).method();
-//                        ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Fisk extends core::Object {
-  constructor •(core::int* x) → self::Fisk*
-    : super core::Object::•() {}
-  constructor named(core::int* x) → self::Fisk*
-    : super core::Object::•() {}
-  method method(core::int* x) → void {}
-  static method staticMethod(core::int* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:18:11: Error: Too few positional arguments: 1 required, 0 given.
-  new Fisk();
-          ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:19:17: Error: Too few positional arguments: 1 required, 0 given.
-  new Fisk.named();
-                ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:20:7: Error: Too few positional arguments: 1 required, 0 given.
-  Fisk();
-      ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:21:13: Error: Too few positional arguments: 1 required, 0 given.
-  Fisk.named();
-            ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:22:20: Error: Too few positional arguments: 1 required, 0 given.
-  Fisk.staticMethod();
-                   ^";
-  let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart:23:24: Error: Too few positional arguments: 1 required, 0 given.
-  (null as Fisk).method();
-                       ^" in (null as self::Fisk*).{self::Fisk::method}();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/candidate_found.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/candidate_found.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/candidate_found.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.strong.expect
deleted file mode 100644
index d0a33ce..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.strong.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:28:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
-//  - 'List' is from 'dart:core'.
-//     [1]
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:30:13: Error: The getter 'last' isn't defined for the class 'int'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
-//     ..first.last.toString()
-//             ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:31:12: Error: The operator '[]' isn't defined for the class 'int'.
-// Try correcting the operator to an existing operator, or defining a '[]' operator.
-//     ..first[0].toString()
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:32:11: Error: The getter 'last' isn't defined for the class 'int'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
-//     ..[0].last.toString();
-//           ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::List<core::int*>* list = let final core::List<core::int*>* #t1 = <core::int*>[1] in let final void #t2 = #t1.{core::List::add}(2) in let final void #t3 = #t1.{core::List::add}(3) in let final void #t4 = #t1.{core::List::addAll}(<core::int*>[4, 5]) in #t1;
-  core::print(list);
-  let final core::List<core::int*>* #t5 = list in let final void #t6 = #t5.{core::List::add}(2) in let final void #t7 = #t5.{core::List::length} in let final void #t8 = #t5.{core::List::length} = 0 in #t5;
-  core::print(list);
-  let final core::List<core::int*>* #t9 = list in let final void #t10 = #t9.{core::List::add}(2) in let final void #t11 = #t9.{core::List::[]}(0) in let final void #t12 = #t9.{core::List::[]=}(0, 87) in #t9;
-  core::print(list);
-  list = let final core::List<core::int*>* #t13 = <core::int*>[let final<BottomType> #t14 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:28:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
- - 'List' is from 'dart:core'.
-    [1]
-    ^" in <core::int*>[1] as{TypeError} core::int*] in let final void #t15 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:30:13: Error: The getter 'last' isn't defined for the class 'int'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
-    ..first.last.toString()
-            ^^^^".{core::Object::toString}() in let final void #t16 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:31:12: Error: The operator '[]' isn't defined for the class 'int'.
-Try correcting the operator to an existing operator, or defining a '[]' operator.
-    ..first[0].toString()
-           ^".{core::Object::toString}() in let final void #t17 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:32:11: Error: The getter 'last' isn't defined for the class 'int'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
-    ..[0].last.toString();
-          ^^^^".{core::Object::toString}() in #t13;
-  core::print(list);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.strong.transformed.expect
deleted file mode 100644
index d0a33ce..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.strong.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:28:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
-//  - 'List' is from 'dart:core'.
-//     [1]
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:30:13: Error: The getter 'last' isn't defined for the class 'int'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
-//     ..first.last.toString()
-//             ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:31:12: Error: The operator '[]' isn't defined for the class 'int'.
-// Try correcting the operator to an existing operator, or defining a '[]' operator.
-//     ..first[0].toString()
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:32:11: Error: The getter 'last' isn't defined for the class 'int'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
-//     ..[0].last.toString();
-//           ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::List<core::int*>* list = let final core::List<core::int*>* #t1 = <core::int*>[1] in let final void #t2 = #t1.{core::List::add}(2) in let final void #t3 = #t1.{core::List::add}(3) in let final void #t4 = #t1.{core::List::addAll}(<core::int*>[4, 5]) in #t1;
-  core::print(list);
-  let final core::List<core::int*>* #t5 = list in let final void #t6 = #t5.{core::List::add}(2) in let final void #t7 = #t5.{core::List::length} in let final void #t8 = #t5.{core::List::length} = 0 in #t5;
-  core::print(list);
-  let final core::List<core::int*>* #t9 = list in let final void #t10 = #t9.{core::List::add}(2) in let final void #t11 = #t9.{core::List::[]}(0) in let final void #t12 = #t9.{core::List::[]=}(0, 87) in #t9;
-  core::print(list);
-  list = let final core::List<core::int*>* #t13 = <core::int*>[let final<BottomType> #t14 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:28:5: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
- - 'List' is from 'dart:core'.
-    [1]
-    ^" in <core::int*>[1] as{TypeError} core::int*] in let final void #t15 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:30:13: Error: The getter 'last' isn't defined for the class 'int'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
-    ..first.last.toString()
-            ^^^^".{core::Object::toString}() in let final void #t16 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:31:12: Error: The operator '[]' isn't defined for the class 'int'.
-Try correcting the operator to an existing operator, or defining a '[]' operator.
-    ..first[0].toString()
-           ^".{core::Object::toString}() in let final void #t17 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart:32:11: Error: The getter 'last' isn't defined for the class 'int'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
-    ..[0].last.toString();
-          ^^^^".{core::Object::toString}() in #t13;
-  core::print(list);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/cascade.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.strong.expect
deleted file mode 100644
index bfac5fe..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.strong.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_nnbd_opt_out/casts.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.strong.transformed.expect
deleted file mode 100644
index 4ea32aa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.strong.transformed.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("");
-  core::print(1);
-  core::print(1.0);
-  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_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/casts.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.strong.expect
deleted file mode 100644
index 1623b38..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.strong.expect
+++ /dev/null
@@ -1,37 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.strong.transformed.expect
deleted file mode 100644
index c231f36..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +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 core::Object* #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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_allocation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.outline.expect
deleted file mode 100644
index 0bd20d3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test(dynamic x) → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.strong.expect
deleted file mode 100644
index ab29058..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.strong.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart:11:8: Error: 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_nnbd_opt_out/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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.strong.transformed.expect
deleted file mode 100644
index ab29058..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.strong.transformed.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart:11:8: Error: 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_nnbd_opt_out/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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_as_check.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_as_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.outline.expect
deleted file mode 100644
index fd7e375..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-static method m2() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.strong.expect
deleted file mode 100644
index 8717020..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.strong.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "deferred_lib.dart" as def;
-import "dart:core" as core;
-
-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() as{TypeError,ForDynamic} core::int*;
-  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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.strong.transformed.expect
deleted file mode 100644
index b26fb17..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.strong.transformed.expect
+++ /dev/null
@@ -1,40 +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 {
-  let final core::Object* #t1 = CheckLibraryIsLoaded(lib) in def::x = self::m2() as{TypeError,ForDynamic} core::int*;
-  let final core::Object* #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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_before_args.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.strong.expect
deleted file mode 100644
index 930ad9b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.strong.expect
+++ /dev/null
@@ -1,36 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.strong.transformed.expect
deleted file mode 100644
index 8f401c4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.strong.transformed.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library;
-import self as self;
-import "dart:async" as asy;
-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 /* originally async */ {
-  final asy::_AsyncAwaitCompleter<dynamic>* :async_completer = new asy::_AsyncAwaitCompleter::•<dynamic>();
-  asy::FutureOr<dynamic>* :return_value;
-  dynamic :async_stack_trace;
-  (dynamic) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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 core::Object* #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, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_before_args2.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_before_args2.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_args2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.strong.expect
deleted file mode 100644
index 240df3b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.strong.expect
+++ /dev/null
@@ -1,36 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.strong.transformed.expect
deleted file mode 100644
index bf6a74c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +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 {
-  let final core::Object* #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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.strong.expect
deleted file mode 100644
index ebdadf68..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.strong.expect
+++ /dev/null
@@ -1,36 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.strong.transformed.expect
deleted file mode 100644
index 66884b6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +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 {
-  let final core::Object* #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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_before_write.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.outline.expect
deleted file mode 100644
index 0bd20d3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test(dynamic x) → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.strong.expect
deleted file mode 100644
index b7ad748..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart:11:14: Error: 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_nnbd_opt_out/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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.strong.transformed.expect
deleted file mode 100644
index b7ad748..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart:11:14: Error: 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_nnbd_opt_out/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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_as_check.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_as_check.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_is_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.strong.expect
deleted file mode 100644
index dfad17b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.strong.expect
+++ /dev/null
@@ -1,37 +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).{core::num::+}(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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.strong.transformed.expect
deleted file mode 100644
index 9abc8e4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +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 core::Object* #t1 = CheckLibraryIsLoaded(lib) in def::x).{core::num::+}(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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.strong.expect
deleted file mode 100644
index 5bee81c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.strong.expect
+++ /dev/null
@@ -1,37 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.strong.transformed.expect
deleted file mode 100644
index 82f8478..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +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 core::Object* #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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_static_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.strong.expect
deleted file mode 100644
index c906808..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.strong.expect
+++ /dev/null
@@ -1,37 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.strong.transformed.expect
deleted file mode 100644
index 37be2fa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +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 core::Object* #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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_read_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.strong.expect
deleted file mode 100644
index ce7698a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.strong.expect
+++ /dev/null
@@ -1,37 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.strong.transformed.expect
deleted file mode 100644
index f4f863b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +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 core::Object* #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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_static_method_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.outline.expect
deleted file mode 100644
index bb7f296..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///deferred_lib.dart" deferred as lib;
-
-static method main() → dynamic
-  ;
-static method test() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  static field core::int* y;
-  synthetic constructor •() → self2::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.strong.expect
deleted file mode 100644
index 6ef5beb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart:11:3: Error: 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_nnbd_opt_out/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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.strong.transformed.expect
deleted file mode 100644
index 6ef5beb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart:11:3: Error: 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_nnbd_opt_out/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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/check_deferred_allocation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/check_deferred_type_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.hierarchy.expect
deleted file mode 100644
index 0f300a8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.f
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.outline.expect
deleted file mode 100644
index 8bc0ae6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart:17:3: Error: Can't infer the type of 'C._circular': circularity found during type inference.
-// Specify the type explicitly.
-//   C._circular(this.f);
-//   ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field self::C* f;
-  constructor _circular(self::C* f) → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::C* x;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.strong.expect
deleted file mode 100644
index eac62fc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.strong.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart:17:3: Error: Can't infer the type of 'C._circular': circularity found during type inference.
-// Specify the type explicitly.
-//   C._circular(this.f);
-//   ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field self::C* f = new self::C::_circular(null);
-  constructor _circular(self::C* f) → self::C*
-    : self::C::f = f, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::C* x = new self::C::_circular(null);
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.strong.transformed.expect
deleted file mode 100644
index eac62fc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.strong.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart:17:3: Error: Can't infer the type of 'C._circular': circularity found during type inference.
-// Specify the type explicitly.
-//   C._circular(this.f);
-//   ^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field self::C* f = new self::C::_circular(null);
-  constructor _circular(self::C* f) → self::C*
-    : self::C::f = f, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::C* x = new self::C::_circular(null);
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.weak.outline.expect
new file mode 100644
index 0000000..1bcbae7
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart.weak.outline.expect
@@ -0,0 +1,30 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/circularity-via-initializing-formal.dart:17:3: Error: Can't infer the type of 'C._circular': circularity found during type inference.
+// Specify the type explicitly.
+//   C._circular(this.f);
+//   ^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  field self::C* f;
+  constructor _circular(self::C* f) → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field self::C* x;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.hierarchy.expect
deleted file mode 100644
index e6e65a3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.outline.expect
deleted file mode 100644
index 09929fa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.outline.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* x;
-  final field core::int* y;
-  constructor •(core::int* y) → self::A*
-    ;
-  method method() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  constructor •(dynamic x) → self::B*
-    ;
-  method method() → dynamic
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.strong.expect
deleted file mode 100644
index 7f771eb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.strong.expect
+++ /dev/null
@@ -1,41 +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.{self::A::runtimeType});
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  constructor •(dynamic x) → self::B*
-    : super self::A::•(x as{TypeError,ForDynamic} core::int*)
-    ;
-  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.{self::A::method}();
-  b.{self::B::method}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.strong.transformed.expect
deleted file mode 100644
index 7f771eb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.strong.transformed.expect
+++ /dev/null
@@ -1,41 +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.{self::A::runtimeType});
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  constructor •(dynamic x) → self::B*
-    : super self::A::•(x as{TypeError,ForDynamic} core::int*)
-    ;
-  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.{self::A::method}();
-  b.{self::B::method}();
-}
diff --git a/pkg/front_end/testcases/general/classes.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/classes.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/classes.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.hierarchy.expect
deleted file mode 100644
index 49f41ab..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,3039 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Am1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with Am1<(null) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Bm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Bm1&Object&Am1<Z>
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Cm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Cm1&Object&Am1<Z>
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<() -> int, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Dm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Dm1&Object&Am1<Z>
-  interfaces: Am1<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<() -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Em1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Em1&Object&Am1<Z>
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<() -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Fm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Fm1&Object&Am1<Z>
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Gm1&Object&Am1<Z>
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(null) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Hm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Hm1&Object&Am1<Z>
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Im1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Im1&Object&Am1<Z>
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<Function, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Jm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Jm1&Object&Am1<Z>
-  interfaces: Am1<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<(Function) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Km1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Km1&Object&Am1<Z>
-  interfaces: Am1<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am1<() -> (Function) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Lm1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Lm1&Object&Am1<Z>
-  interfaces: Am1<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Mm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Nm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Om1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Pm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Qm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Rm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Sm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Tm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Um1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Vm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Wm1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am1<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Am2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with Am2<(null) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Bm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Bm2&Object&Am2<Z>
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Cm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Cm2&Object&Am2<Z>
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<() -> int, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Dm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Dm2&Object&Am2<Z>
-  interfaces: Am2<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<() -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Em2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Em2&Object&Am2<Z>
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<() -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Fm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Fm2&Object&Am2<Z>
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Gm2&Object&Am2<Z>
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(null) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Hm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Hm2&Object&Am2<Z>
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(x) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Im2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Im2&Object&Am2<Z>
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<Function, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Jm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Jm2&Object&Am2<Z>
-  interfaces: Am2<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<(Function) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Km2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Km2&Object&Am2<Z>
-  interfaces: Am2<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am2<() -> (Function) -> null, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Lm2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Lm2&Object&Am2<Z>
-  interfaces: Am2<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Mm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Nm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Om2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> int, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Pm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Qm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Rm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Sm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(null) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Tm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(x) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Um2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<Function, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Vm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<(Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Wm2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am2<() -> (Function) -> null, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Am3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with Am3<TdB, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdB, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Bm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Bm3&Object&Am3<Z>
-  interfaces: Am3<TdB, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdC, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdC, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Cm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Cm3&Object&Am3<Z>
-  interfaces: Am3<TdC, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdD, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdD, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Dm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Dm3&Object&Am3<Z>
-  interfaces: Am3<TdD, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdE, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdE, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Em3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Em3&Object&Am3<Z>
-  interfaces: Am3<TdE, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdF, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdF, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Fm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Fm3&Object&Am3<Z>
-  interfaces: Am3<TdF, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdG, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdG, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Gm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Gm3&Object&Am3<Z>
-  interfaces: Am3<TdG, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdH, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdH, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Hm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Hm3&Object&Am3<Z>
-  interfaces: Am3<TdH, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdI, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdI, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Im3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Im3&Object&Am3<Z>
-  interfaces: Am3<TdI, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdJ, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdJ, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Jm3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Jm3&Object&Am3<Z>
-  interfaces: Am3<TdJ, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with Am3<TdK, Z>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Am3<TdK, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Km3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Km3&Object&Am3<Z>
-  interfaces: Am3<TdK, Z>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Af1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Cf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Df1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ef1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ff1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Gf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-If1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Kf1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Cf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Df2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ef2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ff2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Gf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-If2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Jf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Kf2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.outline.expect
deleted file mode 100644
index 9d488ac..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.outline.expect
+++ /dev/null
@@ -1,1385 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:24:51: Error: Expected an identifier, but got '}'.
-// class Fm1<Z> extends Object with Am1<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:48:45: Error: Expected an identifier, but got '}'.
-// class Qm1<Z> = Object with Am1<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:79:51: Error: Expected an identifier, but got '}'.
-// class Fm2<Z> extends Object with Am2<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:107:45: Error: Expected an identifier, but got '}'.
-// class Qm2<Z> = Object with Am2<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:136:28: Error: Expected an identifier, but got '}'.
-// typedef TdF = Function({int});
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:192:34: Error: Expected an identifier, but got '}'.
-// class Ef1<X extends Function({int})> {
-//                                  ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:69:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:72:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:88:7: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Jm2<Z> extends Object with Am2<Function, Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:91:7: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:97:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Mm2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Mm2<Z> = Object with Am2<Function(int), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:100:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Nm2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Nm2<Z> = Object with Am2<Function(int x), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:116:7: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Um2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Um2<Z> = Object with Am2<Function, Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:119:7: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Vm2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-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*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::_Bm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bm1<Z extends core::Object* = dynamic> extends self::_Bm1&Object&Am1<self::Bm1::Z*> {
-  synthetic constructor •() → self::Bm1<self::Bm1::Z*>*
-    ;
-}
-abstract class _Cm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::_Cm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm1&Object&Am1<self::_Cm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cm1<Z extends core::Object* = dynamic> extends self::_Cm1&Object&Am1<self::Cm1::Z*> {
-  synthetic constructor •() → self::Cm1<self::Cm1::Z*>*
-    ;
-}
-abstract class _Dm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* core::int*, self::_Dm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm1&Object&Am1<self::_Dm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dm1<Z extends core::Object* = dynamic> extends self::_Dm1&Object&Am1<self::Dm1::Z*> {
-  synthetic constructor •() → self::Dm1<self::Dm1::Z*>*
-    ;
-}
-abstract class _Em1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::_Em1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em1&Object&Am1<self::_Em1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Em1<Z extends core::Object* = dynamic> extends self::_Em1&Object&Am1<self::Em1::Z*> {
-  synthetic constructor •() → self::Em1<self::Em1::Z*>*
-    ;
-}
-abstract class _Fm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::_Fm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm1&Object&Am1<self::_Fm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Fm1<Z extends core::Object* = dynamic> extends self::_Fm1&Object&Am1<self::Fm1::Z*> {
-  synthetic constructor •() → self::Fm1<self::Fm1::Z*>*
-    ;
-}
-abstract class _Gm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<({x: core::int*}) →* dynamic, self::_Gm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm1&Object&Am1<self::_Gm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gm1<Z extends core::Object* = dynamic> extends self::_Gm1&Object&Am1<self::Gm1::Z*> {
-  synthetic constructor •() → self::Gm1<self::Gm1::Z*>*
-    ;
-}
-abstract class _Hm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::_Hm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm1&Object&Am1<self::_Hm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hm1<Z extends core::Object* = dynamic> extends self::_Hm1&Object&Am1<self::Hm1::Z*> {
-  synthetic constructor •() → self::Hm1<self::Hm1::Z*>*
-    ;
-}
-abstract class _Im1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::_Im1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im1&Object&Am1<self::_Im1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Im1<Z extends core::Object* = dynamic> extends self::_Im1&Object&Am1<self::Im1::Z*> {
-  synthetic constructor •() → self::Im1<self::Im1::Z*>*
-    ;
-}
-abstract class _Jm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<core::Function*, self::_Jm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm1&Object&Am1<self::_Jm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jm1<Z extends core::Object* = dynamic> extends self::_Jm1&Object&Am1<self::Jm1::Z*> {
-  synthetic constructor •() → self::Jm1<self::Jm1::Z*>*
-    ;
-}
-abstract class _Km1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::Function*) →* dynamic, self::_Km1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km1&Object&Am1<self::_Km1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Km1<Z extends core::Object* = dynamic> extends self::_Km1&Object&Am1<self::Km1::Z*> {
-  synthetic constructor •() → self::Km1<self::Km1::Z*>*
-    ;
-}
-abstract class _Lm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* (() →* core::Function*) →* dynamic, self::_Lm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Lm1&Object&Am1<self::_Lm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Lm1<Z extends core::Object* = dynamic> extends self::_Lm1&Object&Am1<self::Lm1::Z*> {
-  synthetic constructor •() → self::Lm1<self::Lm1::Z*>*
-    ;
-}
-class Mm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::Mm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Mm1<self::Mm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Nm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::Nm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Nm1<self::Nm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Om1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* core::int*, self::Om1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Om1<self::Om1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Pm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::Pm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Pm1<self::Pm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Qm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::Qm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Qm1<self::Qm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Rm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<({x: core::int*}) →* dynamic, self::Rm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Rm1<self::Rm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::Sm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Sm1<self::Sm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Tm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::Tm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Tm1<self::Tm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Um1<Z extends core::Object* = dynamic> = core::Object with self::Am1<core::Function*, self::Um1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Um1<self::Um1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Vm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::Function*) →* dynamic, self::Vm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Vm1<self::Vm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Wm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* (() →* core::Function*) →* dynamic, self::Wm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Wm1<self::Wm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Am2<X extends () →* dynamic = () →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Am2<self::Am2::X*, self::Am2::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::_Bm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bm2<Z extends core::Object* = dynamic> extends self::_Bm2&Object&Am2<self::Bm2::Z*> {
-  synthetic constructor •() → self::Bm2<self::Bm2::Z*>*
-    ;
-}
-abstract class _Cm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::_Cm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm2&Object&Am2<self::_Cm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cm2<Z extends core::Object* = dynamic> extends self::_Cm2&Object&Am2<self::Cm2::Z*> {
-  synthetic constructor •() → self::Cm2<self::Cm2::Z*>*
-    ;
-}
-abstract class _Dm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* core::int*, self::_Dm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm2&Object&Am2<self::_Dm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dm2<Z extends core::Object* = dynamic> extends self::_Dm2&Object&Am2<self::Dm2::Z*> {
-  synthetic constructor •() → self::Dm2<self::Dm2::Z*>*
-    ;
-}
-abstract class _Em2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::_Em2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em2&Object&Am2<self::_Em2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Em2<Z extends core::Object* = dynamic> extends self::_Em2&Object&Am2<self::Em2::Z*> {
-  synthetic constructor •() → self::Em2<self::Em2::Z*>*
-    ;
-}
-abstract class _Fm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::_Fm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm2&Object&Am2<self::_Fm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Fm2<Z extends core::Object* = dynamic> extends self::_Fm2&Object&Am2<self::Fm2::Z*> {
-  synthetic constructor •() → self::Fm2<self::Fm2::Z*>*
-    ;
-}
-abstract class _Gm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<({x: core::int*}) →* dynamic, self::_Gm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm2&Object&Am2<self::_Gm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gm2<Z extends core::Object* = dynamic> extends self::_Gm2&Object&Am2<self::Gm2::Z*> {
-  synthetic constructor •() → self::Gm2<self::Gm2::Z*>*
-    ;
-}
-abstract class _Hm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::_Hm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm2&Object&Am2<self::_Hm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hm2<Z extends core::Object* = dynamic> extends self::_Hm2&Object&Am2<self::Hm2::Z*> {
-  synthetic constructor •() → self::Hm2<self::Hm2::Z*>*
-    ;
-}
-abstract class _Im2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::_Im2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im2&Object&Am2<self::_Im2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Im2<Z extends core::Object* = dynamic> extends self::_Im2&Object&Am2<self::Im2::Z*> {
-  synthetic constructor •() → self::Im2<self::Im2::Z*>*
-    ;
-}
-abstract class _Jm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<core::Function*, self::_Jm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm2&Object&Am2<self::_Jm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jm2<Z extends core::Object* = dynamic> extends self::_Jm2&Object&Am2<self::Jm2::Z*> {
-  synthetic constructor •() → self::Jm2<self::Jm2::Z*>*
-    ;
-}
-abstract class _Km2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::Function*) →* dynamic, self::_Km2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km2&Object&Am2<self::_Km2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Km2<Z extends core::Object* = dynamic> extends self::_Km2&Object&Am2<self::Km2::Z*> {
-  synthetic constructor •() → self::Km2<self::Km2::Z*>*
-    ;
-}
-abstract class _Lm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* (() →* core::Function*) →* dynamic, self::_Lm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Lm2&Object&Am2<self::_Lm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Lm2<Z extends core::Object* = dynamic> extends self::_Lm2&Object&Am2<self::Lm2::Z*> {
-  synthetic constructor •() → self::Lm2<self::Lm2::Z*>*
-    ;
-}
-class Mm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::Mm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Mm2<self::Mm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Nm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::Nm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Nm2<self::Nm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Om2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* core::int*, self::Om2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Om2<self::Om2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Pm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::Pm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Pm2<self::Pm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Qm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::Qm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Qm2<self::Qm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Rm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<({x: core::int*}) →* dynamic, self::Rm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Rm2<self::Rm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::Sm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Sm2<self::Sm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Tm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::Tm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Tm2<self::Tm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Um2<Z extends core::Object* = dynamic> = core::Object with self::Am2<core::Function*, self::Um2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Um2<self::Um2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Vm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::Function*) →* dynamic, self::Vm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Vm2<self::Vm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Wm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* (() →* core::Function*) →* dynamic, self::Wm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Wm2<self::Wm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::int*) →* dynamic, self::_Bm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bm3<Z extends core::Object* = dynamic> extends self::_Bm3&Object&Am3<self::Bm3::Z*> {
-  synthetic constructor •() → self::Bm3<self::Bm3::Z*>*
-    ;
-}
-abstract class _Cm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::int*) →* dynamic, self::_Cm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm3&Object&Am3<self::_Cm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cm3<Z extends core::Object* = dynamic> extends self::_Cm3&Object&Am3<self::Cm3::Z*> {
-  synthetic constructor •() → self::Cm3<self::Cm3::Z*>*
-    ;
-}
-abstract class _Dm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* core::int*, self::_Dm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm3&Object&Am3<self::_Dm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dm3<Z extends core::Object* = dynamic> extends self::_Dm3&Object&Am3<self::Dm3::Z*> {
-  synthetic constructor •() → self::Dm3<self::Dm3::Z*>*
-    ;
-}
-abstract class _Em3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* dynamic, self::_Em3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em3&Object&Am3<self::_Em3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Em3<Z extends core::Object* = dynamic> extends self::_Em3&Object&Am3<self::Em3::Z*> {
-  synthetic constructor •() → self::Em3<self::Em3::Z*>*
-    ;
-}
-abstract class _Fm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* dynamic, self::_Fm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm3&Object&Am3<self::_Fm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Fm3<Z extends core::Object* = dynamic> extends self::_Fm3&Object&Am3<self::Fm3::Z*> {
-  synthetic constructor •() → self::Fm3<self::Fm3::Z*>*
-    ;
-}
-abstract class _Gm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<({x: core::int*}) →* dynamic, self::_Gm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm3&Object&Am3<self::_Gm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gm3<Z extends core::Object* = dynamic> extends self::_Gm3&Object&Am3<self::Gm3::Z*> {
-  synthetic constructor •() → self::Gm3<self::Gm3::Z*>*
-    ;
-}
-abstract class _Hm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<([core::int*]) →* dynamic, self::_Hm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm3&Object&Am3<self::_Hm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hm3<Z extends core::Object* = dynamic> extends self::_Hm3&Object&Am3<self::Hm3::Z*> {
-  synthetic constructor •() → self::Hm3<self::Hm3::Z*>*
-    ;
-}
-abstract class _Im3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<([core::int*]) →* dynamic, self::_Im3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im3&Object&Am3<self::_Im3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Im3<Z extends core::Object* = dynamic> extends self::_Im3&Object&Am3<self::Im3::Z*> {
-  synthetic constructor •() → self::Im3<self::Im3::Z*>*
-    ;
-}
-abstract class _Jm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::Function*) →* dynamic, self::_Jm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm3&Object&Am3<self::_Jm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jm3<Z extends core::Object* = dynamic> extends self::_Jm3&Object&Am3<self::Jm3::Z*> {
-  synthetic constructor •() → self::Jm3<self::Jm3::Z*>*
-    ;
-}
-abstract class _Km3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* (() →* core::Function*) →* dynamic, self::_Km3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km3&Object&Am3<self::_Km3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Km3<Z extends core::Object* = dynamic> extends self::_Km3&Object&Am3<self::Km3::Z*> {
-  synthetic constructor •() → self::Km3<self::Km3::Z*>*
-    ;
-}
-class Af1<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Af1<self::Af1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bf1<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf1<self::Bf1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cf1<X extends () →* core::int* = () →* core::int*> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Cf1<self::Cf1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Df1<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Df1<self::Df1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ef1<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef1<self::Ef1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ff1<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Ff1<self::Ff1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gf1<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Gf1<self::Gf1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hf1<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf1<self::Hf1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class If1<X extends core::Function* = core::Function*> extends core::Object {
-  static factory foo<X extends core::Function* = dynamic>() → self::If1<self::If1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jf1<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf1<self::Jf1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Kf1<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf1<self::Kf1::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bf2<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf2<self::Bf2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cf2<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Cf2<self::Cf2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Df2<X extends () →* core::int* = () →* core::int*> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Df2<self::Df2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ef2<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef2<self::Ef2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ff2<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ff2<self::Ff2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gf2<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Gf2<self::Gf2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hf2<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf2<self::Hf2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class If2<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::If2<self::If2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jf2<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf2<self::Jf2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Kf2<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf2<self::Kf2::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.strong.expect
deleted file mode 100644
index feccdac..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.strong.expect
+++ /dev/null
@@ -1,1419 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:24:51: Error: Expected an identifier, but got '}'.
-// class Fm1<Z> extends Object with Am1<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:48:45: Error: Expected an identifier, but got '}'.
-// class Qm1<Z> = Object with Am1<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:79:51: Error: Expected an identifier, but got '}'.
-// class Fm2<Z> extends Object with Am2<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:107:45: Error: Expected an identifier, but got '}'.
-// class Qm2<Z> = Object with Am2<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:136:28: Error: Expected an identifier, but got '}'.
-// typedef TdF = Function({int});
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:192:34: Error: Expected an identifier, but got '}'.
-// class Ef1<X extends Function({int})> {
-//                                  ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:69:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:72:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:88:7: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Jm2<Z> extends Object with Am2<Function, Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:91:7: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:97:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Mm2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Mm2<Z> = Object with Am2<Function(int), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:100:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Nm2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Nm2<Z> = Object with Am2<Function(int x), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:116:7: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Um2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Um2<Z> = Object with Am2<Function, Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:119:7: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Vm2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::_Bm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm1&Object&Am1<self::_Cm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm1&Object&Am1<self::_Dm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em1&Object&Am1<self::_Em1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm1&Object&Am1<self::_Fm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm1&Object&Am1<self::_Gm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm1&Object&Am1<self::_Hm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im1&Object&Am1<self::_Im1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm1&Object&Am1<self::_Jm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km1&Object&Am1<self::_Km1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Lm1&Object&Am1<self::_Lm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Mm1<self::Mm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Nm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::Nm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Nm1<self::Nm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Om1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* core::int*, self::Om1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Om1<self::Om1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Pm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::Pm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Pm1<self::Pm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Qm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::Qm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Qm1<self::Qm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Rm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<({x: core::int*}) →* dynamic, self::Rm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Rm1<self::Rm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::Sm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Sm1<self::Sm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Tm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::Tm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Tm1<self::Tm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Um1<Z extends core::Object* = dynamic> = core::Object with self::Am1<core::Function*, self::Um1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Um1<self::Um1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Vm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::Function*) →* dynamic, self::Vm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Vm1<self::Vm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Wm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* (() →* core::Function*) →* dynamic, self::Wm1::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Wm1<self::Wm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::_Bm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm2&Object&Am2<self::_Cm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm2&Object&Am2<self::_Dm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em2&Object&Am2<self::_Em2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm2&Object&Am2<self::_Fm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm2&Object&Am2<self::_Gm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm2&Object&Am2<self::_Hm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im2&Object&Am2<self::_Im2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm2&Object&Am2<self::_Jm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km2&Object&Am2<self::_Km2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Lm2&Object&Am2<self::_Lm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Mm2<self::Mm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Nm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::Nm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Nm2<self::Nm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Om2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* core::int*, self::Om2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Om2<self::Om2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Pm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::Pm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Pm2<self::Pm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Qm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::Qm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Qm2<self::Qm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Rm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<({x: core::int*}) →* dynamic, self::Rm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Rm2<self::Rm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::Sm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Sm2<self::Sm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Tm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::Tm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Tm2<self::Tm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Um2<Z extends core::Object* = dynamic> = core::Object with self::Am2<core::Function*, self::Um2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Um2<self::Um2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Vm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::Function*) →* dynamic, self::Vm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Vm2<self::Vm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Wm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* (() →* core::Function*) →* dynamic, self::Wm2::Z*> /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::Wm2<self::Wm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::int*) →* dynamic, self::_Bm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm3&Object&Am3<self::_Cm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm3&Object&Am3<self::_Dm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em3&Object&Am3<self::_Em3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm3&Object&Am3<self::_Fm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm3&Object&Am3<self::_Gm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm3&Object&Am3<self::_Hm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im3&Object&Am3<self::_Im3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm3&Object&Am3<self::_Jm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km3&Object&Am3<self::_Km3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Af1<self::Af1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bf1<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf1<self::Bf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cf1<X extends () →* core::int* = () →* core::int*> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Cf1<self::Cf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Df1<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Df1<self::Df1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ef1<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef1<self::Ef1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ff1<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Ff1<self::Ff1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gf1<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Gf1<self::Gf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hf1<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf1<self::Hf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class If1<X extends core::Function* = core::Function*> extends core::Object {
-  static factory foo<X extends core::Function* = dynamic>() → self::If1<self::If1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jf1<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf1<self::Jf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Kf1<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf1<self::Kf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bf2<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf2<self::Bf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cf2<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Cf2<self::Cf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Df2<X extends () →* core::int* = () →* core::int*> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Df2<self::Df2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ef2<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef2<self::Ef2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ff2<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ff2<self::Ff2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gf2<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Gf2<self::Gf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hf2<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf2<self::Hf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class If2<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::If2<self::If2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jf2<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf2<self::Jf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Kf2<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf2<self::Kf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.strong.transformed.expect
deleted file mode 100644
index 92f2c53..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.strong.transformed.expect
+++ /dev/null
@@ -1,1419 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:24:51: Error: Expected an identifier, but got '}'.
-// class Fm1<Z> extends Object with Am1<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:48:45: Error: Expected an identifier, but got '}'.
-// class Qm1<Z> = Object with Am1<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:79:51: Error: Expected an identifier, but got '}'.
-// class Fm2<Z> extends Object with Am2<Function({int}), Z> {}
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:107:45: Error: Expected an identifier, but got '}'.
-// class Qm2<Z> = Object with Am2<Function({int}), Z>;
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:136:28: Error: Expected an identifier, but got '}'.
-// typedef TdF = Function({int});
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:192:34: Error: Expected an identifier, but got '}'.
-// class Ef1<X extends Function({int})> {
-//                                  ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:69:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:72:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:88:7: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Jm2<Z> extends Object with Am2<Function, Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:91:7: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:97:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Mm2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Mm2<Z> = Object with Am2<Function(int), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:100:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Nm2'.
-// Try changing type arguments so that they conform to the bounds.
-// class Nm2<Z> = Object with Am2<Function(int x), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:116:7: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Um2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Um2<Z> = Object with Am2<Function, Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:119:7: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Vm2'.
-//  - 'Function' is from 'dart:core'.
-// Try changing type arguments so that they conform to the bounds.
-// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
-// class Am2<X extends Function(), Y> {}
-//           ^
-//
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm1&Object&Am1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::int*) →* dynamic, self::_Bm1&Object&Am1::Z*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm1&Object&Am1<self::_Cm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm1&Object&Am1<self::_Dm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em1&Object&Am1<self::_Em1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm1&Object&Am1<self::_Fm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm1&Object&Am1<self::_Gm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm1&Object&Am1<self::_Hm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im1&Object&Am1<self::_Im1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm1&Object&Am1<self::_Jm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km1&Object&Am1<self::_Km1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Lm1&Object&Am1<self::_Lm1&Object&Am1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Mm1<self::Mm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Nm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::int*) →* dynamic, self::Nm1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Nm1<self::Nm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Om1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* core::int*, self::Om1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Om1<self::Om1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Pm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* dynamic, self::Pm1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Pm1<self::Pm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Qm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* dynamic, self::Qm1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Qm1<self::Qm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Rm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<({x: core::int*}) →* dynamic, self::Rm1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Rm1<self::Rm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<([core::int*]) →* dynamic, self::Sm1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Sm1<self::Sm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Tm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<([core::int*]) →* dynamic, self::Tm1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Tm1<self::Tm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Um1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<core::Function*, self::Um1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Um1<self::Um1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Vm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<(core::Function*) →* dynamic, self::Vm1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Vm1<self::Vm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Wm1<Z extends core::Object* = dynamic> extends core::Object implements self::Am1<() →* (() →* core::Function*) →* dynamic, self::Wm1::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Wm1<self::Wm1::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm2&Object&Am2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::int*) →* dynamic, self::_Bm2&Object&Am2::Z*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm2&Object&Am2<self::_Cm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm2&Object&Am2<self::_Dm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em2&Object&Am2<self::_Em2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm2&Object&Am2<self::_Fm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm2&Object&Am2<self::_Gm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm2&Object&Am2<self::_Hm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im2&Object&Am2<self::_Im2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm2&Object&Am2<self::_Jm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km2&Object&Am2<self::_Km2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Lm2&Object&Am2<self::_Lm2&Object&Am2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Mm2<self::Mm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Nm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::int*) →* dynamic, self::Nm2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Nm2<self::Nm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Om2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* core::int*, self::Om2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Om2<self::Om2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Pm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* dynamic, self::Pm2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Pm2<self::Pm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Qm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* dynamic, self::Qm2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Qm2<self::Qm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Rm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<({x: core::int*}) →* dynamic, self::Rm2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Rm2<self::Rm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<([core::int*]) →* dynamic, self::Sm2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Sm2<self::Sm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Tm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<([core::int*]) →* dynamic, self::Tm2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Tm2<self::Tm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Um2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<core::Function*, self::Um2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Um2<self::Um2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Vm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<(core::Function*) →* dynamic, self::Vm2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Vm2<self::Vm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Wm2<Z extends core::Object* = dynamic> extends core::Object implements self::Am2<() →* (() →* core::Function*) →* dynamic, self::Wm2::Z*> /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::Wm2<self::Wm2::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Bm3&Object&Am3<Z extends core::Object* = dynamic> extends core::Object implements self::Am3<(core::int*) →* dynamic, self::_Bm3&Object&Am3::Z*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Cm3&Object&Am3<self::_Cm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Dm3&Object&Am3<self::_Dm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Em3&Object&Am3<self::_Em3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Fm3&Object&Am3<self::_Fm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Gm3&Object&Am3<self::_Gm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Hm3&Object&Am3<self::_Hm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Im3&Object&Am3<self::_Im3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Jm3&Object&Am3<self::_Jm3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Km3&Object&Am3<self::_Km3&Object&Am3::Z*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Af1<self::Af1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bf1<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf1<self::Bf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cf1<X extends () →* core::int* = () →* core::int*> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Cf1<self::Cf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Df1<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Df1<self::Df1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ef1<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef1<self::Ef1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ff1<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Ff1<self::Ff1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gf1<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Gf1<self::Gf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hf1<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf1<self::Hf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class If1<X extends core::Function* = core::Function*> extends core::Object {
-  static factory foo<X extends core::Function* = dynamic>() → self::If1<self::If1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jf1<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf1<self::Jf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Kf1<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf1<self::Kf1::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bf2<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Bf2<self::Bf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Cf2<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::int*) →* dynamic = dynamic>() → self::Cf2<self::Cf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Df2<X extends () →* core::int* = () →* core::int*> extends core::Object {
-  static factory foo<X extends () →* core::int* = dynamic>() → self::Df2<self::Df2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ef2<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ef2<self::Ef2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ff2<X extends () →* dynamic = () →* dynamic> extends core::Object {
-  static factory foo<X extends () →* dynamic = dynamic>() → self::Ff2<self::Ff2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Gf2<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic> extends core::Object {
-  static factory foo<X extends ({x: core::int*}) →* dynamic = dynamic>() → self::Gf2<self::Gf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hf2<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::Hf2<self::Hf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class If2<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
-  static factory foo<X extends ([core::int*]) →* dynamic = dynamic>() → self::If2<self::If2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Jf2<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends (core::Function*) →* dynamic = dynamic>() → self::Jf2<self::Jf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Kf2<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic> extends core::Object {
-  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = dynamic>() → self::Kf2<self::Kf2::foo::X*>*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.weak.outline.expect
new file mode 100644
index 0000000..3c8f9dd
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart.weak.outline.expect
@@ -0,0 +1,1391 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:24:51: Error: Expected an identifier, but got '}'.
+// Try inserting an identifier before '}'.
+// class Fm1<Z> extends Object with Am1<Function({int}), Z> {}
+//                                                   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:48:45: Error: Expected an identifier, but got '}'.
+// Try inserting an identifier before '}'.
+// class Qm1<Z> = Object with Am1<Function({int}), Z>;
+//                                             ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:79:51: Error: Expected an identifier, but got '}'.
+// Try inserting an identifier before '}'.
+// class Fm2<Z> extends Object with Am2<Function({int}), Z> {}
+//                                                   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:107:45: Error: Expected an identifier, but got '}'.
+// Try inserting an identifier before '}'.
+// class Qm2<Z> = Object with Am2<Function({int}), Z>;
+//                                             ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:136:28: Error: Expected an identifier, but got '}'.
+// Try inserting an identifier before '}'.
+// typedef TdF = Function({int});
+//                            ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:192:34: Error: Expected an identifier, but got '}'.
+// Try inserting an identifier before '}'.
+// class Ef1<X extends Function({int})> {
+//                                  ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:69:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
+// Try changing type arguments so that they conform to the bounds.
+// class Bm2<Z> extends Object with Am2<Function(int), Z> {}
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
+// class Am2<X extends Function(), Y> {}
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:72:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
+// Try changing type arguments so that they conform to the bounds.
+// class Cm2<Z> extends Object with Am2<Function(int x), Z> {}
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
+// class Am2<X extends Function(), Y> {}
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:88:7: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
+//  - 'Function' is from 'dart:core'.
+// Try changing type arguments so that they conform to the bounds.
+// class Jm2<Z> extends Object with Am2<Function, Z> {}
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
+// class Am2<X extends Function(), Y> {}
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:91:7: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Object with Am2'.
+//  - 'Function' is from 'dart:core'.
+// Try changing type arguments so that they conform to the bounds.
+// class Km2<Z> extends Object with Am2<Function(Function Function), Z> {}
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
+// class Am2<X extends Function(), Y> {}
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:97:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Mm2'.
+// Try changing type arguments so that they conform to the bounds.
+// class Mm2<Z> = Object with Am2<Function(int), Z>;
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
+// class Am2<X extends Function(), Y> {}
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:100:7: Error: Type argument 'dynamic Function(int)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Nm2'.
+// Try changing type arguments so that they conform to the bounds.
+// class Nm2<Z> = Object with Am2<Function(int x), Z>;
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
+// class Am2<X extends Function(), Y> {}
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:116:7: Error: Type argument 'Function' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Um2'.
+//  - 'Function' is from 'dart:core'.
+// Try changing type arguments so that they conform to the bounds.
+// class Um2<Z> = Object with Am2<Function, Z>;
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
+// class Am2<X extends Function(), Y> {}
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:119:7: Error: Type argument 'dynamic Function(Function)' doesn't conform to the bound 'dynamic Function()' of the type variable 'X' on 'Am2' in the supertype 'Am2' of class 'Vm2'.
+//  - 'Function' is from 'dart:core'.
+// Try changing type arguments so that they conform to the bounds.
+// class Vm2<Z> = Object with Am2<Function(Function Function), Z>;
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/clone_function_type.dart:66:11: Context: This is the type variable whose bound isn't conformed to.
+// class Am2<X extends Function(), Y> {}
+//           ^
+//
+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*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _Bm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::_Bm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Bm1&Object&Am1<self::_Bm1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Bm1<Z extends core::Object* = dynamic> extends self::_Bm1&Object&Am1<self::Bm1::Z*> {
+  synthetic constructor •() → self::Bm1<self::Bm1::Z*>*
+    ;
+}
+abstract class _Cm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::_Cm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Cm1&Object&Am1<self::_Cm1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Cm1<Z extends core::Object* = dynamic> extends self::_Cm1&Object&Am1<self::Cm1::Z*> {
+  synthetic constructor •() → self::Cm1<self::Cm1::Z*>*
+    ;
+}
+abstract class _Dm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* core::int*, self::_Dm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Dm1&Object&Am1<self::_Dm1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Dm1<Z extends core::Object* = dynamic> extends self::_Dm1&Object&Am1<self::Dm1::Z*> {
+  synthetic constructor •() → self::Dm1<self::Dm1::Z*>*
+    ;
+}
+abstract class _Em1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::_Em1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Em1&Object&Am1<self::_Em1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Em1<Z extends core::Object* = dynamic> extends self::_Em1&Object&Am1<self::Em1::Z*> {
+  synthetic constructor •() → self::Em1<self::Em1::Z*>*
+    ;
+}
+abstract class _Fm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::_Fm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Fm1&Object&Am1<self::_Fm1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Fm1<Z extends core::Object* = dynamic> extends self::_Fm1&Object&Am1<self::Fm1::Z*> {
+  synthetic constructor •() → self::Fm1<self::Fm1::Z*>*
+    ;
+}
+abstract class _Gm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<({x: core::int*}) →* dynamic, self::_Gm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Gm1&Object&Am1<self::_Gm1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Gm1<Z extends core::Object* = dynamic> extends self::_Gm1&Object&Am1<self::Gm1::Z*> {
+  synthetic constructor •() → self::Gm1<self::Gm1::Z*>*
+    ;
+}
+abstract class _Hm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::_Hm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Hm1&Object&Am1<self::_Hm1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Hm1<Z extends core::Object* = dynamic> extends self::_Hm1&Object&Am1<self::Hm1::Z*> {
+  synthetic constructor •() → self::Hm1<self::Hm1::Z*>*
+    ;
+}
+abstract class _Im1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::_Im1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Im1&Object&Am1<self::_Im1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Im1<Z extends core::Object* = dynamic> extends self::_Im1&Object&Am1<self::Im1::Z*> {
+  synthetic constructor •() → self::Im1<self::Im1::Z*>*
+    ;
+}
+abstract class _Jm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<core::Function*, self::_Jm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Jm1&Object&Am1<self::_Jm1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jm1<Z extends core::Object* = dynamic> extends self::_Jm1&Object&Am1<self::Jm1::Z*> {
+  synthetic constructor •() → self::Jm1<self::Jm1::Z*>*
+    ;
+}
+abstract class _Km1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::Function*) →* dynamic, self::_Km1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Km1&Object&Am1<self::_Km1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Km1<Z extends core::Object* = dynamic> extends self::_Km1&Object&Am1<self::Km1::Z*> {
+  synthetic constructor •() → self::Km1<self::Km1::Z*>*
+    ;
+}
+abstract class _Lm1&Object&Am1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* (() →* core::Function*) →* dynamic, self::_Lm1&Object&Am1::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Lm1&Object&Am1<self::_Lm1&Object&Am1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Lm1<Z extends core::Object* = dynamic> extends self::_Lm1&Object&Am1<self::Lm1::Z*> {
+  synthetic constructor •() → self::Lm1<self::Lm1::Z*>*
+    ;
+}
+class Mm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::Mm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Mm1<self::Mm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Nm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::int*) →* dynamic, self::Nm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Nm1<self::Nm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Om1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* core::int*, self::Om1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Om1<self::Om1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Pm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::Pm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Pm1<self::Pm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Qm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* dynamic, self::Qm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Qm1<self::Qm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Rm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<({x: core::int*}) →* dynamic, self::Rm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Rm1<self::Rm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Sm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::Sm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Sm1<self::Sm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Tm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<([core::int*]) →* dynamic, self::Tm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Tm1<self::Tm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Um1<Z extends core::Object* = dynamic> = core::Object with self::Am1<core::Function*, self::Um1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Um1<self::Um1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Vm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<(core::Function*) →* dynamic, self::Vm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Vm1<self::Vm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Wm1<Z extends core::Object* = dynamic> = core::Object with self::Am1<() →* (() →* core::Function*) →* dynamic, self::Wm1::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Wm1<self::Wm1::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Am2<X extends () →* dynamic = () →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Am2<self::Am2::X*, self::Am2::Y*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _Bm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::_Bm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Bm2&Object&Am2<self::_Bm2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Bm2<Z extends core::Object* = dynamic> extends self::_Bm2&Object&Am2<self::Bm2::Z*> {
+  synthetic constructor •() → self::Bm2<self::Bm2::Z*>*
+    ;
+}
+abstract class _Cm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::_Cm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Cm2&Object&Am2<self::_Cm2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Cm2<Z extends core::Object* = dynamic> extends self::_Cm2&Object&Am2<self::Cm2::Z*> {
+  synthetic constructor •() → self::Cm2<self::Cm2::Z*>*
+    ;
+}
+abstract class _Dm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* core::int*, self::_Dm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Dm2&Object&Am2<self::_Dm2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Dm2<Z extends core::Object* = dynamic> extends self::_Dm2&Object&Am2<self::Dm2::Z*> {
+  synthetic constructor •() → self::Dm2<self::Dm2::Z*>*
+    ;
+}
+abstract class _Em2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::_Em2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Em2&Object&Am2<self::_Em2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Em2<Z extends core::Object* = dynamic> extends self::_Em2&Object&Am2<self::Em2::Z*> {
+  synthetic constructor •() → self::Em2<self::Em2::Z*>*
+    ;
+}
+abstract class _Fm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::_Fm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Fm2&Object&Am2<self::_Fm2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Fm2<Z extends core::Object* = dynamic> extends self::_Fm2&Object&Am2<self::Fm2::Z*> {
+  synthetic constructor •() → self::Fm2<self::Fm2::Z*>*
+    ;
+}
+abstract class _Gm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<({x: core::int*}) →* dynamic, self::_Gm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Gm2&Object&Am2<self::_Gm2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Gm2<Z extends core::Object* = dynamic> extends self::_Gm2&Object&Am2<self::Gm2::Z*> {
+  synthetic constructor •() → self::Gm2<self::Gm2::Z*>*
+    ;
+}
+abstract class _Hm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::_Hm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Hm2&Object&Am2<self::_Hm2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Hm2<Z extends core::Object* = dynamic> extends self::_Hm2&Object&Am2<self::Hm2::Z*> {
+  synthetic constructor •() → self::Hm2<self::Hm2::Z*>*
+    ;
+}
+abstract class _Im2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::_Im2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Im2&Object&Am2<self::_Im2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Im2<Z extends core::Object* = dynamic> extends self::_Im2&Object&Am2<self::Im2::Z*> {
+  synthetic constructor •() → self::Im2<self::Im2::Z*>*
+    ;
+}
+abstract class _Jm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<core::Function*, self::_Jm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Jm2&Object&Am2<self::_Jm2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jm2<Z extends core::Object* = dynamic> extends self::_Jm2&Object&Am2<self::Jm2::Z*> {
+  synthetic constructor •() → self::Jm2<self::Jm2::Z*>*
+    ;
+}
+abstract class _Km2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::Function*) →* dynamic, self::_Km2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Km2&Object&Am2<self::_Km2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Km2<Z extends core::Object* = dynamic> extends self::_Km2&Object&Am2<self::Km2::Z*> {
+  synthetic constructor •() → self::Km2<self::Km2::Z*>*
+    ;
+}
+abstract class _Lm2&Object&Am2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* (() →* core::Function*) →* dynamic, self::_Lm2&Object&Am2::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Lm2&Object&Am2<self::_Lm2&Object&Am2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Lm2<Z extends core::Object* = dynamic> extends self::_Lm2&Object&Am2<self::Lm2::Z*> {
+  synthetic constructor •() → self::Lm2<self::Lm2::Z*>*
+    ;
+}
+class Mm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::Mm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Mm2<self::Mm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Nm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::int*) →* dynamic, self::Nm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Nm2<self::Nm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Om2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* core::int*, self::Om2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Om2<self::Om2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Pm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::Pm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Pm2<self::Pm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Qm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* dynamic, self::Qm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Qm2<self::Qm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Rm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<({x: core::int*}) →* dynamic, self::Rm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Rm2<self::Rm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Sm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::Sm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Sm2<self::Sm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Tm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<([core::int*]) →* dynamic, self::Tm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Tm2<self::Tm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Um2<Z extends core::Object* = dynamic> = core::Object with self::Am2<core::Function*, self::Um2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Um2<self::Um2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Vm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<(core::Function*) →* dynamic, self::Vm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Vm2<self::Vm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Wm2<Z extends core::Object* = dynamic> = core::Object with self::Am2<() →* (() →* core::Function*) →* dynamic, self::Wm2::Z*> /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::Wm2<self::Wm2::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+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*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _Bm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::int*) →* dynamic, self::_Bm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Bm3&Object&Am3<self::_Bm3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Bm3<Z extends core::Object* = dynamic> extends self::_Bm3&Object&Am3<self::Bm3::Z*> {
+  synthetic constructor •() → self::Bm3<self::Bm3::Z*>*
+    ;
+}
+abstract class _Cm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::int*) →* dynamic, self::_Cm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Cm3&Object&Am3<self::_Cm3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Cm3<Z extends core::Object* = dynamic> extends self::_Cm3&Object&Am3<self::Cm3::Z*> {
+  synthetic constructor •() → self::Cm3<self::Cm3::Z*>*
+    ;
+}
+abstract class _Dm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* core::int*, self::_Dm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Dm3&Object&Am3<self::_Dm3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Dm3<Z extends core::Object* = dynamic> extends self::_Dm3&Object&Am3<self::Dm3::Z*> {
+  synthetic constructor •() → self::Dm3<self::Dm3::Z*>*
+    ;
+}
+abstract class _Em3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* dynamic, self::_Em3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Em3&Object&Am3<self::_Em3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Em3<Z extends core::Object* = dynamic> extends self::_Em3&Object&Am3<self::Em3::Z*> {
+  synthetic constructor •() → self::Em3<self::Em3::Z*>*
+    ;
+}
+abstract class _Fm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* dynamic, self::_Fm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Fm3&Object&Am3<self::_Fm3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Fm3<Z extends core::Object* = dynamic> extends self::_Fm3&Object&Am3<self::Fm3::Z*> {
+  synthetic constructor •() → self::Fm3<self::Fm3::Z*>*
+    ;
+}
+abstract class _Gm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<({x: core::int*}) →* dynamic, self::_Gm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Gm3&Object&Am3<self::_Gm3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Gm3<Z extends core::Object* = dynamic> extends self::_Gm3&Object&Am3<self::Gm3::Z*> {
+  synthetic constructor •() → self::Gm3<self::Gm3::Z*>*
+    ;
+}
+abstract class _Hm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<([core::int*]) →* dynamic, self::_Hm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Hm3&Object&Am3<self::_Hm3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Hm3<Z extends core::Object* = dynamic> extends self::_Hm3&Object&Am3<self::Hm3::Z*> {
+  synthetic constructor •() → self::Hm3<self::Hm3::Z*>*
+    ;
+}
+abstract class _Im3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<([core::int*]) →* dynamic, self::_Im3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Im3&Object&Am3<self::_Im3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Im3<Z extends core::Object* = dynamic> extends self::_Im3&Object&Am3<self::Im3::Z*> {
+  synthetic constructor •() → self::Im3<self::Im3::Z*>*
+    ;
+}
+abstract class _Jm3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<(core::Function*) →* dynamic, self::_Jm3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Jm3&Object&Am3<self::_Jm3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jm3<Z extends core::Object* = dynamic> extends self::_Jm3&Object&Am3<self::Jm3::Z*> {
+  synthetic constructor •() → self::Jm3<self::Jm3::Z*>*
+    ;
+}
+abstract class _Km3&Object&Am3<Z extends core::Object* = dynamic> = core::Object with self::Am3<() →* (() →* core::Function*) →* dynamic, self::_Km3&Object&Am3::Z*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Km3&Object&Am3<self::_Km3&Object&Am3::Z*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Km3<Z extends core::Object* = dynamic> extends self::_Km3&Object&Am3<self::Km3::Z*> {
+  synthetic constructor •() → self::Km3<self::Km3::Z*>*
+    ;
+}
+class Af1<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
+  static factory foo<X extends (core::int*) →* dynamic = (core::int*) →* dynamic>() → self::Af1<self::Af1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Bf1<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
+  static factory foo<X extends (core::int*) →* dynamic = (core::int*) →* dynamic>() → self::Bf1<self::Bf1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Cf1<X extends () →* core::int* = () →* core::int*> extends core::Object {
+  static factory foo<X extends () →* core::int* = () →* core::int*>() → self::Cf1<self::Cf1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Df1<X extends () →* dynamic = () →* dynamic> extends core::Object {
+  static factory foo<X extends () →* dynamic = () →* dynamic>() → self::Df1<self::Df1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Ef1<X extends () →* dynamic = () →* dynamic> extends core::Object {
+  static factory foo<X extends () →* dynamic = () →* dynamic>() → self::Ef1<self::Ef1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Ff1<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic> extends core::Object {
+  static factory foo<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic>() → self::Ff1<self::Ff1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Gf1<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
+  static factory foo<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic>() → self::Gf1<self::Gf1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Hf1<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
+  static factory foo<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic>() → self::Hf1<self::Hf1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class If1<X extends core::Function* = core::Function*> extends core::Object {
+  static factory foo<X extends core::Function* = core::Function*>() → self::If1<self::If1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jf1<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic> extends core::Object {
+  static factory foo<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic>() → self::Jf1<self::Jf1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Kf1<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic> extends core::Object {
+  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic>() → self::Kf1<self::Kf1::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Bf2<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
+  static factory foo<X extends (core::int*) →* dynamic = (core::int*) →* dynamic>() → self::Bf2<self::Bf2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Cf2<X extends (core::int*) →* dynamic = (core::int*) →* dynamic> extends core::Object {
+  static factory foo<X extends (core::int*) →* dynamic = (core::int*) →* dynamic>() → self::Cf2<self::Cf2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Df2<X extends () →* core::int* = () →* core::int*> extends core::Object {
+  static factory foo<X extends () →* core::int* = () →* core::int*>() → self::Df2<self::Df2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Ef2<X extends () →* dynamic = () →* dynamic> extends core::Object {
+  static factory foo<X extends () →* dynamic = () →* dynamic>() → self::Ef2<self::Ef2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Ff2<X extends () →* dynamic = () →* dynamic> extends core::Object {
+  static factory foo<X extends () →* dynamic = () →* dynamic>() → self::Ff2<self::Ff2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Gf2<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic> extends core::Object {
+  static factory foo<X extends ({x: core::int*}) →* dynamic = ({x: core::int*}) →* dynamic>() → self::Gf2<self::Gf2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Hf2<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
+  static factory foo<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic>() → self::Hf2<self::Hf2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class If2<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic> extends core::Object {
+  static factory foo<X extends ([core::int*]) →* dynamic = ([core::int*]) →* dynamic>() → self::If2<self::If2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Jf2<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic> extends core::Object {
+  static factory foo<X extends (core::Function*) →* dynamic = (core::Function*) →* dynamic>() → self::Jf2<self::Jf2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Kf2<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic> extends core::Object {
+  static factory foo<X extends () →* (() →* core::Function*) →* dynamic = () →* (() →* core::Function*) →* dynamic>() → self::Kf2<self::Kf2::foo::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.hierarchy.expect
deleted file mode 100644
index 986244a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo._field
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.outline.expect
deleted file mode 100644
index 3d14bb8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field self::Bar* _field;
-  synthetic constructor •() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method useCallback(dynamic callback) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.strong.expect
deleted file mode 100644
index 9362964..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.strong.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field self::Bar* _field = new self::Bar::•();
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method useCallback(dynamic callback) → dynamic {
-  dynamic _ = callback.call();
-}
-static method main() → dynamic {
-  dynamic x;
-  function inner() → self::Foo* {
-    x = new self::Foo::•();
-    return new self::Foo::•();
-  }
-  self::useCallback(inner);
-  self::Bar* _ = inner.call().{self::Foo::_field};
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.strong.transformed.expect
deleted file mode 100644
index 9362964..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.strong.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field self::Bar* _field = new self::Bar::•();
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method useCallback(dynamic callback) → dynamic {
-  dynamic _ = callback.call();
-}
-static method main() → dynamic {
-  dynamic x;
-  function inner() → self::Foo* {
-    x = new self::Foo::•();
-    return new self::Foo::•();
-  }
-  self::useCallback(inner);
-  self::Bar* _ = inner.call().{self::Foo::_field};
-}
diff --git a/pkg/front_end/testcases/general/closure.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/closure.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/closure.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.outline.expect
deleted file mode 100644
index 0ddfd27..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.outline.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:23:1: Error: Expected '{' before this.
-// class B {}
-// ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:22:1: Error: 'A' is already declared in this scope.
-// A()
-// ^
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:18:7: Context: Previous declaration of 'A'.
-// class A {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.strong.expect
deleted file mode 100644
index e54e63a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.strong.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:23:1: Error: Expected '{' before this.
-// class B {}
-// ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:22:1: Error: 'A' is already declared in this scope.
-// A()
-// ^
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:18:7: Context: Previous declaration of 'A'.
-// class A {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.strong.transformed.expect
deleted file mode 100644
index e54e63a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.strong.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:23:1: Error: Expected '{' before this.
-// class B {}
-// ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:22:1: Error: 'A' is already declared in this scope.
-// A()
-// ^
-// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:18:7: Context: Previous declaration of 'A'.
-// class A {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.weak.outline.expect
new file mode 100644
index 0000000..97215d9
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart.weak.outline.expect
@@ -0,0 +1,49 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:23:1: Error: Expected '{' before this.
+// class B {}
+// ^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:22:1: Error: 'A' is already declared in this scope.
+// A()
+// ^
+// pkg/front_end/testcases/general_nnbd_opt_out/co19_language_metadata_syntax_t04.dart:18:7: Context: Previous declaration of 'A'.
+// class A {
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends core::Object {
+  synthetic constructor •() → self::B*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.hierarchy.expect
deleted file mode 100644
index 1ad7539..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.hierarchy.expect
+++ /dev/null
@@ -1,547 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> A
-        -> B
-          -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-GB:
-  superclasses:
-    Object
-      -> G<B>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-GC:
-  superclasses:
-    Object
-      -> G<C>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-GD:
-  superclasses:
-    Object
-      -> G<D>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Y:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> X
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Z:
-  Longest path to Object: 4
-  superclasses:
-    Object
-  interfaces: Y, X, A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-W:
-  Longest path to Object: 5
-  superclasses:
-    Object
-  interfaces: Z, Y, X, A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GX:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: G<A>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GY:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> X
-  interfaces: A, GB, G<B>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GZ:
-  Longest path to Object: 4
-  superclasses:
-    Object
-  interfaces: Y, X, A, GC, G<C>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GW:
-  Longest path to Object: 5
-  superclasses:
-    Object
-  interfaces: Z, Y, X, A, GD, G<D>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GU:
-  Longest path to Object: 6
-  superclasses:
-    Object
-      -> GW
-  interfaces: Z, Y, X, A, GD, G<D>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-GV:
-  Longest path to Object: 7
-  superclasses:
-    Object
-      -> GW
-        -> GU
-  interfaces: Z, Y, X, A, GD, G<D>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-ARO:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ARQ:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: ARO<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-ARN:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> ARQ<A>
-  interfaces: ARO<A>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.outline.expect
deleted file mode 100644
index bccf614..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.outline.expect
+++ /dev/null
@@ -1,190 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-}
-class G<T extends self::A* = self::A*> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GB extends self::G<self::B*> {
-  synthetic constructor •() → self::GB*
-    ;
-}
-class GC extends self::G<self::C*> {
-  synthetic constructor •() → self::GC*
-    ;
-}
-class GD extends self::G<self::D*> {
-  synthetic constructor •() → self::GD*
-    ;
-}
-class X extends core::Object implements self::A {
-  synthetic constructor •() → self::X*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    ;
-}
-class Z extends core::Object implements self::Y {
-  synthetic constructor •() → self::Z*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class W extends core::Object implements self::Z {
-  synthetic constructor •() → self::W*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GX extends core::Object implements self::G<self::A*> {
-  synthetic constructor •() → self::GX*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GY extends self::X implements self::GB {
-  synthetic constructor •() → self::GY*
-    ;
-}
-class GZ extends core::Object implements self::Y, self::GC {
-  synthetic constructor •() → self::GZ*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GW extends core::Object implements self::Z, self::GD {
-  synthetic constructor •() → self::GW*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GU extends self::GW {
-  synthetic constructor •() → self::GU*
-    ;
-}
-class GV extends self::GU implements self::GW {
-  synthetic constructor •() → self::GV*
-    ;
-}
-class ARO<S extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::ARO<self::ARO::S*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ARQ<T extends core::Object* = dynamic> extends core::Object implements self::ARO<self::ARQ::T*> {
-  synthetic constructor •() → self::ARQ<self::ARQ::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ARN extends self::ARQ<self::A*> {
-  synthetic constructor •() → self::ARN*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.strong.expect
deleted file mode 100644
index 83cec9b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.strong.expect
+++ /dev/null
@@ -1,210 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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* = self::A*> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class W extends core::Object implements self::Z {
-  synthetic constructor •() → self::W*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GX extends core::Object implements self::G<self::A*> {
-  synthetic constructor •() → self::GX*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GW extends core::Object implements self::Z, self::GD {
-  synthetic constructor •() → self::GW*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/complex_class_hierarchy.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.strong.transformed.expect
deleted file mode 100644
index 83cec9b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.strong.transformed.expect
+++ /dev/null
@@ -1,210 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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* = self::A*> extends core::Object {
-  synthetic constructor •() → self::G<self::G::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class W extends core::Object implements self::Z {
-  synthetic constructor •() → self::W*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GX extends core::Object implements self::G<self::A*> {
-  synthetic constructor •() → self::GX*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class GW extends core::Object implements self::Z, self::GD {
-  synthetic constructor •() → self::GW*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/complex_class_hierarchy.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/complex_class_hierarchy.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.outline.expect
deleted file mode 100644
index d8fd738..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  operator +(self::B* b) → self::A*
-    ;
-}
-class C extends self::A {
-  synthetic constructor •() → self::C*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.strong.expect
deleted file mode 100644
index bd2219f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.strong.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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::B* b) → self::A*
-    return new self::C::•();
-}
-class C extends self::A {
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  core::Map<core::int*, self::B*>* map = <core::int*, self::B*>{0: new self::B::•()};
-  try {
-    let final core::Map<core::int*, self::B*>* #t1 = map in let final core::int* #t2 = 0 in #t1.{core::Map::[]=}(#t2, #t1.{core::Map::[]}(#t2).{self::B::+}(new self::B::•()) as{TypeError} self::B*);
-    throw "Expected type error";
-  }
-  on dynamic catch(final dynamic _) {
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.strong.transformed.expect
deleted file mode 100644
index bd2219f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.strong.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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::B* b) → self::A*
-    return new self::C::•();
-}
-class C extends self::A {
-  synthetic constructor •() → self::C*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  core::Map<core::int*, self::B*>* map = <core::int*, self::B*>{0: new self::B::•()};
-  try {
-    let final core::Map<core::int*, self::B*>* #t1 = map in let final core::int* #t2 = 0 in #t1.{core::Map::[]=}(#t2, #t1.{core::Map::[]}(#t2).{self::B::+}(new self::B::•()) as{TypeError} self::B*);
-    throw "Expected type error";
-  }
-  on dynamic catch(final dynamic _) {
-  }
-}
diff --git a/pkg/front_end/testcases/general/compound_binary_implicit_as.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/compound_binary_implicit_as.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/compound_binary_implicit_as.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.outline.expect
deleted file mode 100644
index 8ec6984..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart:14:21: Error: A constant constructor can't call a non-constant super constructor.
-//   const B() : super.bad();
-//                     ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : this self::A::bad()
-    ;
-  constructor bad() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B*
-    : super self::A::bad()
-    ;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.strong.expect
deleted file mode 100644
index 1945b51..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart:14:21: Error: A constant constructor can't call a non-constant super constructor.
-//   const B() : super.bad();
-//                     ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart:8:20: Error: A constant constructor can't call a non-constant constructor.
-//   const A() : this.bad();
-//                    ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : this self::A::bad()
-    ;
-  constructor bad() → self::A*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B*
-    : super self::A::bad()
-    ;
-}
-static method test() → dynamic {
-  core::print(invalid-expression "Non-const constructor invocation.");
-  core::print(invalid-expression "Non-const constructor invocation.");
-}
-static method main() → dynamic {
-  core::print(new self::A::•());
-  core::print(new self::B::•());
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.strong.transformed.expect
deleted file mode 100644
index 1945b51..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart:14:21: Error: A constant constructor can't call a non-constant super constructor.
-//   const B() : super.bad();
-//                     ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart:8:20: Error: A constant constructor can't call a non-constant constructor.
-//   const A() : this.bad();
-//                    ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : this self::A::bad()
-    ;
-  constructor bad() → self::A*
-    : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B*
-    : super self::A::bad()
-    ;
-}
-static method test() → dynamic {
-  core::print(invalid-expression "Non-const constructor invocation.");
-  core::print(invalid-expression "Non-const constructor invocation.");
-}
-static method main() → dynamic {
-  core::print(new self::A::•());
-  core::print(new self::B::•());
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.weak.outline.expect
new file mode 100644
index 0000000..30117e6
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart.weak.outline.expect
@@ -0,0 +1,37 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/const_redirect_to_nonconst.dart:14:21: Error: A constant constructor can't call a non-constant super constructor.
+//   const B() : super.bad();
+//                     ^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A*
+    : this self::A::bad()
+    ;
+  constructor bad() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A /*hasConstConstructor*/  {
+  const constructor •() → self::B*
+    : super self::A::bad()
+    ;
+}
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.hierarchy.expect
deleted file mode 100644
index 2a49e5e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,75 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Y:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.outline.expect
deleted file mode 100644
index bbe0bc2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.outline.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class _Y<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  constructor •() → self::B<self::B::T*>*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.strong.expect
deleted file mode 100644
index b21f585..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.strong.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class _Y<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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>().{self::A::x};
-  if(!(x is self::_Y<core::Null?>*)) {
-    throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}}, but `_Y<Null>` expected";
-  }
-}
-
-constants  {
-  #C1 = self::_Y<core::Null?> {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.strong.transformed.expect
deleted file mode 100644
index b21f585..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.strong.transformed.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class _Y<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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>().{self::A::x};
-  if(!(x is self::_Y<core::Null?>*)) {
-    throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}}, but `_Y<Null>` expected";
-  }
-}
-
-constants  {
-  #C1 = self::_Y<core::Null?> {}
-}
diff --git a/pkg/front_end/testcases/general/constructor_const_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/constructor_const_inference.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/constructor_const_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.outline.expect
deleted file mode 100644
index 1d73f78..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.outline.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor foo() → self::A*
-    ;
-  constructor bar() → self::A*
-    ;
-  constructor baz() → self::A*
-    ;
-  constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.strong.expect
deleted file mode 100644
index c7dcf49..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.strong.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart:9: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_nnbd_opt_out/constructor_cycle.dart:11: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.strong.transformed.expect
deleted file mode 100644
index c7dcf49..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.strong.transformed.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart:9: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_nnbd_opt_out/constructor_cycle.dart:11: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/constructor_cycle.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/constructor_cycle.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/constructor_cycle.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.hierarchy.expect
deleted file mode 100644
index d59504d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.outline.expect
deleted file mode 100644
index e6e46e9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.outline.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  constructor •(core::int* x, core::double* y, core::String* s) → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •() → self::C<self::C::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.strong.expect
deleted file mode 100644
index 5a5ea65..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.strong.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  constructor •(core::int* x, core::double* y, core::String* s) → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/constructor_function_types.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.strong.transformed.expect
deleted file mode 100644
index 5a5ea65..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.strong.transformed.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  constructor •(core::int* x, core::double* y, core::String* s) → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/constructor_function_types.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/constructor_function_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.hierarchy.expect
deleted file mode 100644
index 55483de..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.hierarchy.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C1.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C1.f
-
-C2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C2.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C2.f
-
-C3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C3.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C3.f
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.outline.expect
deleted file mode 100644
index 0a5dd83..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.outline.expect
+++ /dev/null
@@ -1,68 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:7:24: Error: Expected an initializer.
-// class C1 { int f; C1() : ; }
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:8: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_nnbd_opt_out/constructor_initializer_invalid.dart:9:26: Error: Expected an assignment after the field name.
-// To initialize a field, use the syntax 'name = value'.
-// class C3 { int f; C3() : f++; }
-//                          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C1 extends core::Object {
-  field core::int* f;
-  constructor •() → self::C1*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C2 extends core::Object {
-  field core::int* f;
-  constructor •() → self::C2*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C3 extends core::Object {
-  field core::int* f;
-  constructor •() → self::C3*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.strong.expect
deleted file mode 100644
index 2b933e4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.strong.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:7:24: Error: Expected an initializer.
-// class C1 { int f; C1() : ; }
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:8: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_nnbd_opt_out/constructor_initializer_invalid.dart:9: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_nnbd_opt_out/constructor_initializer_invalid.dart:9: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_nnbd_opt_out/constructor_initializer_invalid.dart:7:26: Error: This couldn't be parsed.
-class C1 { int f; C1() : ; }
-                         ^"
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C2 extends core::Object {
-  field core::int* f;
-  constructor •() → self::C2*
-    : self::C2::f = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:8:27: Error: This couldn't be parsed.
-class C2 { int f; C2() : f; }
-                          ^" as{TypeError,ForDynamic} core::int*, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C3 extends core::Object {
-  field core::int* f = null;
-  constructor •() → self::C3*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:9:26: Error: This couldn't be parsed.
-class C3 { int f; C3() : f++; }
-                         ^"
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::C1* c1 = new self::C1::•();
-  c1.{self::C1::toString}();
-  self::C2* c2 = new self::C2::•();
-  c2.{self::C2::toString}();
-  self::C3* c3 = new self::C3::•();
-  c3.{self::C3::toString}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.strong.transformed.expect
deleted file mode 100644
index 9c83963..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.strong.transformed.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:7:24: Error: Expected an initializer.
-// class C1 { int f; C1() : ; }
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:8: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_nnbd_opt_out/constructor_initializer_invalid.dart:9: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_nnbd_opt_out/constructor_initializer_invalid.dart:9: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_nnbd_opt_out/constructor_initializer_invalid.dart:7:26: Error: This couldn't be parsed.
-class C1 { int f; C1() : ; }
-                         ^"
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C2 extends core::Object {
-  field core::int* f;
-  constructor •() → self::C2*
-    : self::C2::f = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:8:27: Error: This couldn't be parsed.
-class C2 { int f; C2() : f; }
-                          ^", super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C3 extends core::Object {
-  field core::int* f = null;
-  constructor •() → self::C3*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:9:26: Error: This couldn't be parsed.
-class C3 { int f; C3() : f++; }
-                         ^"
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::C1* c1 = new self::C1::•();
-  c1.{self::C1::toString}();
-  self::C2* c2 = new self::C2::•();
-  c2.{self::C2::toString}();
-  self::C3* c3 = new self::C3::•();
-  c3.{self::C3::toString}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.weak.outline.expect
new file mode 100644
index 0000000..60ccdb3
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart.weak.outline.expect
@@ -0,0 +1,68 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:7:24: Error: Expected an initializer.
+// class C1 { int f; C1() : ; }
+//                        ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/constructor_initializer_invalid.dart:8: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_nnbd_opt_out/constructor_initializer_invalid.dart:9:26: Error: Expected an assignment after the field name.
+// To initialize a field, use the syntax 'name = value'.
+// class C3 { int f; C3() : f++; }
+//                          ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C1 extends core::Object {
+  field core::int* f;
+  constructor •() → self::C1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C2 extends core::Object {
+  field core::int* f;
+  constructor •() → self::C2*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C3 extends core::Object {
+  field core::int* f;
+  constructor •() → self::C3*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.outline.expect
deleted file mode 100644
index 2b2f2a5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.outline.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.strong.expect
deleted file mode 100644
index 35d026c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.strong.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart:12:3: Error: A prefix can't be used as an expression.
-//   lib(new C().missing());
-//   ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart:12:15: Error: The method 'missing' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart'.
-// Try correcting the name to the name of an existing method, or defining a method named 'missing'.
-//   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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart:12:3: Error: A prefix can't be used as an expression.
-  lib(new C().missing());
-  ^^^" in let final core::Object* #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart:12:15: Error: The method 'missing' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart'.
-Try correcting the name to the name of an existing method, or defining a method named 'missing'.
-  lib(new C().missing());
-              ^^^^^^^" in null;
-}
-static method main() → dynamic {}
-
-library /*isNonNullableByDefault*/;
-import self as self2;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.strong.transformed.expect
deleted file mode 100644
index 35d026c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.strong.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart:12:3: Error: A prefix can't be used as an expression.
-//   lib(new C().missing());
-//   ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart:12:15: Error: The method 'missing' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart'.
-// Try correcting the name to the name of an existing method, or defining a method named 'missing'.
-//   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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart:12:3: Error: A prefix can't be used as an expression.
-  lib(new C().missing());
-  ^^^" in let final core::Object* #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart:12:15: Error: The method 'missing' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart'.
-Try correcting the name to the name of an existing method, or defining a method named 'missing'.
-  lib(new C().missing());
-              ^^^^^^^" in null;
-}
-static method main() → dynamic {}
-
-library /*isNonNullableByDefault*/;
-import self as self2;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.weak.outline.expect
new file mode 100644
index 0000000..5473a25
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/continue_inference_after_error.dart.weak.outline.expect
@@ -0,0 +1,27 @@
+library;
+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*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.strong.expect
deleted file mode 100644
index 3044135..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.strong.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-static method main() → dynamic {
-  final core::List<core::int*>* aList = block {
-    final core::List<core::int*>* #t1 = <core::int*>[];
-    #t1.{core::List::add}(1);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t1.{core::List::add}(2);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t1.{core::List::add}(3);
-    else
-      #t1.{core::List::add}(1.{core::int::unary-}());
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t1.{core::List::add}(4);
-    for (core::int* i in <core::int*>[5, 6, 7])
-      #t1.{core::List::add}(i);
-    for (core::int* i in <core::int*>[8, 9, 10])
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t1.{core::List::add}(i);
-    for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
-      #t1.{core::List::add}(i);
-  } =>#t1;
-  final core::Set<core::int*>* aSet = block {
-    final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
-    #t2.{core::Set::add}(1);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t2.{core::Set::add}(2);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t2.{core::Set::add}(3);
-    else
-      #t2.{core::Set::add}(1.{core::int::unary-}());
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t2.{core::Set::add}(4);
-    for (core::int* i in <core::int*>[5, 6, 7])
-      #t2.{core::Set::add}(i);
-    for (core::int* i in <core::int*>[8, 9, 10])
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t2.{core::Set::add}(i);
-    for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
-      #t2.{core::Set::add}(i);
-  } =>#t2;
-  final core::Map<core::int*, core::int*>* aMap = block {
-    final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
-    #t3.{core::Map::[]=}(1, 1);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t3.{core::Map::[]=}(2, 2);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t3.{core::Map::[]=}(3, 3);
-    else
-      #t3.{core::Map::[]=}(1.{core::int::unary-}(), 1.{core::int::unary-}());
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t3.{core::Map::[]=}(4, 4);
-    for (core::int* i in <core::int*>[5, 6, 7])
-      #t3.{core::Map::[]=}(i, i);
-    for (core::int* i in <core::int*>[8, 9, 10])
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t3.{core::Map::[]=}(i, i);
-    for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
-      #t3.{core::Map::[]=}(i, i);
-  } =>#t3;
-  core::print(aList);
-  core::print(aSet);
-  core::print(aMap);
-}
-static method oracle() → dynamic
-  return true;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.strong.transformed.expect
deleted file mode 100644
index 9cdff84..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.strong.transformed.expect
+++ /dev/null
@@ -1,102 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-static method main() → dynamic {
-  final core::List<core::int*>* aList = block {
-    final core::List<core::int*>* #t1 = <core::int*>[];
-    #t1.{core::List::add}(1);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t1.{core::List::add}(2);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t1.{core::List::add}(3);
-    else
-      #t1.{core::List::add}(1.{core::int::unary-}());
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t1.{core::List::add}(4);
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        #t1.{core::List::add}(i);
-      }
-    }
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[8, 9, 10].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-          #t1.{core::List::add}(i);
-      }
-    }
-    for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
-      #t1.{core::List::add}(i);
-  } =>#t1;
-  final core::Set<core::int*>* aSet = block {
-    final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
-    #t2.{core::Set::add}(1);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t2.{core::Set::add}(2);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t2.{core::Set::add}(3);
-    else
-      #t2.{core::Set::add}(1.{core::int::unary-}());
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t2.{core::Set::add}(4);
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        #t2.{core::Set::add}(i);
-      }
-    }
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[8, 9, 10].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-          #t2.{core::Set::add}(i);
-      }
-    }
-    for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
-      #t2.{core::Set::add}(i);
-  } =>#t2;
-  final core::Map<core::int*, core::int*>* aMap = block {
-    final core::Map<core::int*, core::int*>* #t3 = <core::int*, core::int*>{};
-    #t3.{core::Map::[]=}(1, 1);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t3.{core::Map::[]=}(2, 2);
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      #t3.{core::Map::[]=}(3, 3);
-    else
-      #t3.{core::Map::[]=}(1.{core::int::unary-}(), 1.{core::int::unary-}());
-    if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-        #t3.{core::Map::[]=}(4, 4);
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[5, 6, 7].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        #t3.{core::Map::[]=}(i, i);
-      }
-    }
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[8, 9, 10].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        if(self::oracle() as{TypeError,ForDynamic} core::bool*)
-          #t3.{core::Map::[]=}(i, i);
-      }
-    }
-    for (core::int* i = 11; i.{core::num::<=}(14); i = i.{core::num::+}(1))
-      #t3.{core::Map::[]=}(i, i);
-  } =>#t3;
-  core::print(aList);
-  core::print(aSet);
-  core::print(aMap);
-}
-static method oracle() → dynamic
-  return true;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.hierarchy.expect
deleted file mode 100644
index 3a1da21..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.outline.expect
deleted file mode 100644
index 50ae146..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.outline.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  get foo() → core::int*
-    ;
-}
-static method oracle<T extends core::Object* = dynamic>([self::oracle::T* t]) → dynamic
-  ;
-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
-  ;
-static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic
-  ;
-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
-  ;
-static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic
-  ;
-static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic
-  ;
-static method testPromotion(self::A* a) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.strong.expect
deleted file mode 100644
index adddf26..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.strong.expect
+++ /dev/null
@@ -1,2219 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-//   Map<String, List<int>> map40 = {if (oracle("foo")) ...{"bar", []}, "baz": null};
-//                                  ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   var map82 = {if (oracle("foo")) ...mapToInt else ...dynVar, null};
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:108:44: Error: Expected ':' after this.
-//   Set<dynamic> set10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:109:53: Error: Expected ':' after this.
-//   Map<dynamic, dynamic> map10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:110:61: Error: Expected ':' after this.
-//   Set<dynamic> set11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:111:70: Error: Expected ':' after this.
-//   Map<dynamic, dynamic> map11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:112:35: Error: Expected ':' after this.
-//   var map12 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:113:52: Error: Expected ':' after this.
-//   var map13 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>[if (oracle("foo")) "bar"];
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>{if (oracle("foo")) "bar", null};
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <String, int>{if (oracle("foo")) "bar": "bar", "baz": null};
-//                                           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>[if (oracle("foo")) ...["bar"]];
-//                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>{if (oracle("foo")) ...["bar"], null};
-//                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <String, int>{if (oracle("foo")) ...{"bar": "bar"}, "baz": null};
-//                                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[if (oracle("foo")) ...map];
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{if (oracle("foo")) ...map, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{if (oracle("foo")) ...["bar"], "baz": null};
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String>[if (oracle("foo")) 42 else 3.14];
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String>[if (oracle("foo")) 42 else 3.14];
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String>{if (oracle("foo")) 42 else 3.14, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String>{if (oracle("foo")) 42 else 3.14, null};
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String, String>{if (oracle("foo")) "bar": 42 else "baz": 3.14, "baz": null};
-//                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String, String>{if (oracle("foo")) "bar": 42 else "baz": 3.14, "baz": null};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[if (oracle("foo")) ...map else 42];
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{if (oracle("foo")) ...[42] else "bar": 42, "baz": null};
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[if (oracle("foo")) 42 else ...map];
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{if (oracle("foo")) "bar": 42 else ...[42], "baz": null};
-//                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:108:24: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-//   Set<dynamic> set10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:110:24: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-//   Set<dynamic> set11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-//   List<int> list20 = [if (42) 42];
-//                           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:115:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-//   Set<int> set20 = {if (42) 42};
-//                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-//   Map<int, int> map30 = {if (42) 42: 42};
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-//   List<String> list40 = <String>[if (oracle("foo")) true else 42];
-//                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   List<String> list40 = <String>[if (oracle("foo")) true else 42];
-//                                                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-//   Set<String> set40 = <String>{if (oracle("foo")) true else 42};
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   Set<String> set40 = <String>{if (oracle("foo")) true else 42};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-//   Map<String, int> map40 = <String, int>{if (oracle("foo")) true: 42 else 42: 42};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   Map<String, int> map40 = <String, int>{if (oracle("foo")) true: 42 else 42: 42};
-//                                                                           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-//   Map<int, String> map41 = <int, String>{if (oracle("foo")) 42: true else 42: 42};
-//                                                                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   Map<int, String> map41 = <int, String>{if (oracle("foo")) 42: true else 42: 42};
-//                                                                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
-//   <int>[for (i in <int>[1]) i];
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
-//   <int>{for (i in <int>[1]) i, null};
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
-// 	<String, int>{for (i in <int>[1]) "bar": i, "baz": null};
-// 	                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:248: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_nnbd_opt_out/control_flow_collection_inference.dart:249: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_nnbd_opt_out/control_flow_collection_inference.dart:250: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_nnbd_opt_out/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>[for (int i = 0; oracle("foo"); i++) "bar"];
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>{for (int i = 0; oracle("foo"); i++) "bar", null};
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) "bar": "bar", "baz": null};
-//                                                  ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) "bar": "bar", "baz": null};
-//                                                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) "bar": "bar", "baz": null};
-//                                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...["bar"]];
-//                                                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...["bar"], null};
-//                                                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//                                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...map];
-//                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...map, null};
-//                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...list, 42: null};
-//                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String, String>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String, String>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                                                                                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42];
-//                                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42, null};
-//                                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...list else "bar": 42, "baz": null};
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map];
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map, null};
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else ...list, "baz": null};
-//                                                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:236:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
-//  - 'Iterable' is from 'dart:core'.
-//   var list10 = [for (var i in "not iterable") i];
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:237:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
-//  - 'Iterable' is from 'dart:core'.
-//   var set10 = {for (var i in "not iterable") i, null};
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:238:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
-//  - 'Iterable' is from 'dart:core'.
-//   var map10 = {for (var i in "not iterable") "bar": i, "baz": null};
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var list20 = [for (int i in ["not", "int"]) i];
-//                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var list20 = [for (int i in ["not", "int"]) i];
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var set20 = {for (int i in ["not", "int"]) i, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var set20 = {for (int i in ["not", "int"]) i, null};
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var map20 = {for (int i in ["not", "int"]) "bar": i, "baz": null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var map20 = {for (int i in ["not", "int"]) "bar": i, "baz": null};
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:242:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
-//  - 'Stream' is from 'dart:async'.
-//   var list30 = [await for (var i in "not stream") i];
-//                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:243:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
-//  - 'Stream' is from 'dart:async'.
-//   var set30 = {await for (var i in "not stream") i, null};
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:244:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
-//  - 'Stream' is from 'dart:async'.
-//   var map30 = {await for (var i in "not stream") "bar": i, "baz": null};
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var list40 = [await for (int i in Stream.fromIterable(["not", "int"])) i];
-//                                                          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var list40 = [await for (int i in Stream.fromIterable(["not", "int"])) i];
-//                                                                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var set40 = {await for (int i in Stream.fromIterable(["not", "int"])) i, null};
-//                                                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var set40 = {await for (int i in Stream.fromIterable(["not", "int"])) i, null};
-//                                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var map40 = {await for (int i in Stream.fromIterable(["not", "int"])) "bar": i, "baz": null};
-//                                                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var map40 = {await for (int i in Stream.fromIterable(["not", "int"])) "bar": i, "baz": null};
-//                                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-//   var list60 = [for (; "not bool";) 42];
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:252:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-//   var set60 = {for (; "not bool";) 42, null};
-//                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-//   var map60 = {for (; "not bool";) "bar": 42, "baz": null};
-//                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:257: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_nnbd_opt_out/control_flow_collection_inference.dart:258: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_nnbd_opt_out/control_flow_collection_inference.dart:259: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};
-//                                  ^^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-import "dart:async" as asy;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {
-  core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t1 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t1.{core::List::add}(42);
-  } =>#t1;
-  core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t2.{core::Set::add}(42);
-    #t2.{core::Set::add}(null);
-  } =>#t2;
-  core::Map<core::String*, core::int*>* map10 = block {
-    final core::Map<core::String*, core::int*>* #t3 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t3.{core::Map::[]=}("bar", 42);
-    #t3.{core::Map::[]=}("baz", null);
-  } =>#t3;
-  core::List<dynamic>* list11 = block {
-    final core::List<dynamic>* #t4 = <dynamic>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t4.{core::List::add}(dynVar);
-  } =>#t4;
-  core::Set<dynamic>* set11 = block {
-    final core::Set<dynamic>* #t5 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t5.{core::Set::add}(dynVar);
-    #t5.{core::Set::add}(null);
-  } =>#t5;
-  core::Map<core::String*, dynamic>* map11 = block {
-    final core::Map<core::String*, dynamic>* #t6 = <core::String*, dynamic>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t6.{core::Map::[]=}("bar", dynVar);
-    #t6.{core::Map::[]=}("baz", null);
-  } =>#t6;
-  core::List<core::List<core::int*>*>* list12 = block {
-    final core::List<core::List<core::int*>*>* #t7 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t7.{core::List::add}(<core::int*>[42]);
-  } =>#t7;
-  core::Set<core::List<core::int*>*>* set12 = block {
-    final core::Set<core::List<core::int*>*>* #t8 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t8.{core::Set::add}(<core::int*>[42]);
-    #t8.{core::Set::add}(null);
-  } =>#t8;
-  core::Map<core::String*, core::List<core::int*>*>* map12 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t9 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t9.{core::Map::[]=}("bar", <core::int*>[42]);
-    #t9.{core::Map::[]=}("baz", null);
-  } =>#t9;
-  core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t10 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::int* #t11 in <core::int*>[42])
-        #t10.{core::List::add}(#t11);
-  } =>#t10;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t12 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::int* #t13 in <core::int*>[42])
-        #t12.{core::Set::add}(#t13);
-    #t12.{core::Set::add}(null);
-  } =>#t12;
-  core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, core::int*>* #t15 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
-        #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
-    #t14.{core::Map::[]=}("baz", null);
-  } =>#t14;
-  core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t16 = <dynamic>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final dynamic #t17 in <dynamic>[dynVar])
-        #t16.{core::List::add}(#t17);
-  } =>#t16;
-  core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t18 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final dynamic #t19 in <dynamic>[dynVar])
-        #t18.{core::Set::add}(#t19);
-    #t18.{core::Set::add}(null);
-  } =>#t18;
-  core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t20 = <core::String*, dynamic>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, dynamic>* #t21 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
-        #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
-    #t20.{core::Map::[]=}("baz", null);
-  } =>#t20;
-  core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t22 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::List<core::int*>* #t23 in <core::List<core::int*>*>[<core::int*>[42]])
-        #t22.{core::List::add}(#t23);
-  } =>#t22;
-  core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t24 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::List<core::int*>* #t25 in <core::List<core::int*>*>[<core::int*>[42]])
-        #t24.{core::Set::add}(#t25);
-    #t24.{core::Set::add}(null);
-  } =>#t24;
-  core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t26 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t27 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
-        #t26.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
-    #t26.{core::Map::[]=}("baz", null);
-  } =>#t26;
-  core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t28 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::int* #t29 in <core::int*>[42])
-          #t28.{core::List::add}(#t29);
-  } =>#t28;
-  core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t30 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::int* #t31 in <core::int*>[42])
-          #t30.{core::Set::add}(#t31);
-    #t30.{core::Set::add}(null);
-  } =>#t30;
-  core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t32 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::int*>* #t33 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
-          #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
-    #t32.{core::Map::[]=}("baz", null);
-  } =>#t32;
-  core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t34 = <dynamic>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final dynamic #t35 in <dynamic>[dynVar])
-          #t34.{core::List::add}(#t35);
-  } =>#t34;
-  core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t36 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final dynamic #t37 in <dynamic>[dynVar])
-          #t36.{core::Set::add}(#t37);
-    #t36.{core::Set::add}(null);
-  } =>#t36;
-  core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t38 = <core::String*, dynamic>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, dynamic>* #t39 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
-          #t38.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
-    #t38.{core::Map::[]=}("baz", null);
-  } =>#t38;
-  core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t41 in <core::List<core::int*>*>[<core::int*>[42]])
-          #t40.{core::List::add}(#t41);
-  } =>#t40;
-  core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t42 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t43 in <core::List<core::int*>*>[<core::int*>[42]])
-          #t42.{core::Set::add}(#t43);
-    #t42.{core::Set::add}(null);
-  } =>#t42;
-  core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t44 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t45 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
-          #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
-    #t44.{core::Map::[]=}("baz", null);
-  } =>#t44;
-  core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t46 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::List<core::int*>* #t47 in <core::List<core::int*>*>[<core::int*>[]])
-        #t46.{core::List::add}(#t47);
-  } =>#t46;
-  core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t48 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::List<core::int*>* #t49 in <core::List<core::int*>*>[<core::int*>[]])
-        #t48.{core::Set::add}(#t49);
-    #t48.{core::Set::add}(null);
-  } =>#t48;
-  core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-  Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
-                                 ^";
-  core::List<core::List<core::int*>*>* list41 = block {
-    final core::List<core::List<core::int*>*>* #t50 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::List<core::int*>* #t51 in let final core::Set<core::List<core::int*>*>* #t52 = col::LinkedHashSet::•<core::List<core::int*>*>() in let final dynamic #t53 = #t52.{core::Set::add}(<core::int*>[]) in #t52)
-        #t50.{core::List::add}(#t51);
-  } =>#t50;
-  core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t54 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::List<core::int*>* #t55 in let final core::Set<core::List<core::int*>*>* #t56 = col::LinkedHashSet::•<core::List<core::int*>*>() in let final dynamic #t57 = #t56.{core::Set::add}(<core::int*>[]) in #t56)
-        #t54.{core::Set::add}(#t55);
-    #t54.{core::Set::add}(null);
-  } =>#t54;
-  core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t58 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t59 in <core::List<core::int*>*>[<core::int*>[]])
-          #t58.{core::List::add}(#t59);
-  } =>#t58;
-  core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t60 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t61 in <core::List<core::int*>*>[<core::int*>[]])
-          #t60.{core::Set::add}(#t61);
-    #t60.{core::Set::add}(null);
-  } =>#t60;
-  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t62 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t63 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
-          #t62.{core::Map::[]=}(#t63.{core::MapEntry::key}, #t63.{core::MapEntry::value});
-    #t62.{core::Map::[]=}("baz", null);
-  } =>#t62;
-  core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t64 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::int* #t65 in <core::int*>[])
-        #t64.{core::List::add}(#t65);
-  } =>#t64;
-  core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t66 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::int* #t67 in <core::int*>[])
-        #t66.{core::Set::add}(#t67);
-    #t66.{core::Set::add}(null);
-  } =>#t66;
-  core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t68 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, core::int*>* #t69 in <core::String*, core::int*>{}.{core::Map::entries})
-        #t68.{core::Map::[]=}(#t69.{core::MapEntry::key}, #t69.{core::MapEntry::value});
-    #t68.{core::Map::[]=}("baz", null);
-  } =>#t68;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t70 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::int* #t71 in let final core::Set<core::int*>* #t72 = col::LinkedHashSet::•<core::int*>() in #t72)
-        #t70.{core::List::add}(#t71);
-  } =>#t70;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t73 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::int* #t74 in let final core::Set<core::int*>* #t75 = col::LinkedHashSet::•<core::int*>() in #t75)
-        #t73.{core::Set::add}(#t74);
-    #t73.{core::Set::add}(null);
-  } =>#t73;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t76 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::int* #t77 in <core::int*>[])
-          #t76.{core::List::add}(#t77);
-  } =>#t76;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t78 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::int* #t79 in <core::int*>[])
-          #t78.{core::Set::add}(#t79);
-    #t78.{core::Set::add}(null);
-  } =>#t78;
-  core::Map<core::String*, core::int*>* map52 = block {
-    final core::Map<core::String*, core::int*>* #t80 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::int*>* #t81 in <core::String*, core::int*>{}.{core::Map::entries})
-          #t80.{core::Map::[]=}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
-    #t80.{core::Map::[]=}("baz", null);
-  } =>#t80;
-  core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t82 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::List<core::int*>* #t83 in <core::List<core::int*>*>[<core::int*>[]])
-        #t82.{core::List::add}(#t83);
-  } =>#t82;
-  core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t84 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::List<core::int*>* #t85 in <core::List<core::int*>*>[<core::int*>[]])
-        #t84.{core::Set::add}(#t85);
-    #t84.{core::Set::add}(null);
-  } =>#t84;
-  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t86 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t87 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
-        #t86.{core::Map::[]=}(#t87.{core::MapEntry::key}, #t87.{core::MapEntry::value});
-    #t86.{core::Map::[]=}("baz", null);
-  } =>#t86;
-  core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t88 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t89 in <core::List<core::int*>*>[<core::int*>[]])
-          #t88.{core::List::add}(#t89);
-  } =>#t88;
-  core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t90 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t91 in <core::List<core::int*>*>[<core::int*>[]])
-          #t90.{core::Set::add}(#t91);
-    #t90.{core::Set::add}(null);
-  } =>#t90;
-  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t92 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t93 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
-          #t92.{core::Map::[]=}(#t93.{core::MapEntry::key}, #t93.{core::MapEntry::value});
-    #t92.{core::Map::[]=}("baz", null);
-  } =>#t92;
-  core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t94 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t94.{core::List::add}(<core::int*>[]);
-  } =>#t94;
-  core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t95 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t95.{core::Set::add}(<core::int*>[]);
-    #t95.{core::Set::add}(null);
-  } =>#t95;
-  core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t96 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t96.{core::List::add}(<core::int*>[]);
-  } =>#t96;
-  core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t97 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t97.{core::Set::add}(<core::int*>[]);
-    #t97.{core::Set::add}(null);
-  } =>#t97;
-  core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t98 = <core::num*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t98.{core::List::add}(42);
-    else
-      #t98.{core::List::add}(3.14);
-  } =>#t98;
-  core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t99 = col::LinkedHashSet::•<core::num*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t99.{core::Set::add}(42);
-    else
-      #t99.{core::Set::add}(3.14);
-    #t99.{core::Set::add}(null);
-  } =>#t99;
-  core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t100 = <core::String*, core::num*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t100.{core::Map::[]=}("bar", 42);
-    else
-      #t100.{core::Map::[]=}("bar", 3.14);
-    #t100.{core::Map::[]=}("baz", null);
-  } =>#t100;
-  core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t101 = <core::num*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::num* #t102 in listInt)
-        #t101.{core::List::add}(#t102);
-    else
-      for (final core::num* #t103 in listDouble)
-        #t101.{core::List::add}(#t103);
-  } =>#t101;
-  core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t104 = col::LinkedHashSet::•<core::num*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::num* #t105 in listInt)
-        #t104.{core::Set::add}(#t105);
-    else
-      for (final core::num* #t106 in listDouble)
-        #t104.{core::Set::add}(#t106);
-    #t104.{core::Set::add}(null);
-  } =>#t104;
-  core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t107 = <core::String*, core::num*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, core::num*>* #t108 in mapToInt.{core::Map::entries})
-        #t107.{core::Map::[]=}(#t108.{core::MapEntry::key}, #t108.{core::MapEntry::value});
-    else
-      for (final core::MapEntry<core::String*, core::num*>* #t109 in mapToDouble.{core::Map::entries})
-        #t107.{core::Map::[]=}(#t109.{core::MapEntry::key}, #t109.{core::MapEntry::value});
-    #t107.{core::Map::[]=}("baz", null);
-  } =>#t107;
-  core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t110 = <dynamic>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final dynamic #t111 in listInt)
-        #t110.{core::List::add}(#t111);
-    else
-      for (final dynamic #t112 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-        #t110.{core::List::add}(#t112);
-  } =>#t110;
-  core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t113 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final dynamic #t114 in listInt)
-        #t113.{core::Set::add}(#t114);
-    else
-      for (final dynamic #t115 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-        #t113.{core::Set::add}(#t115);
-    #t113.{core::Set::add}(null);
-  } =>#t113;
-  core::Set<dynamic>* map82 = block {
-    final core::Set<dynamic>* #t116 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t116.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
-                                     ^");
-    else
-      for (final dynamic #t117 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-        #t116.{core::Set::add}(#t117);
-    #t116.{core::Set::add}(null);
-  } =>#t116;
-  core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t118 = <core::num*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t118.{core::List::add}(42);
-    else
-      for (final core::num* #t119 in listDouble)
-        #t118.{core::List::add}(#t119);
-  } =>#t118;
-  core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t120 = col::LinkedHashSet::•<core::num*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::num* #t121 in listInt)
-        #t120.{core::Set::add}(#t121);
-    else
-      #t120.{core::Set::add}(3.14);
-    #t120.{core::Set::add}(null);
-  } =>#t120;
-  core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t122 = <core::String*, core::num*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, core::num*>* #t123 in mapToInt.{core::Map::entries})
-        #t122.{core::Map::[]=}(#t123.{core::MapEntry::key}, #t123.{core::MapEntry::value});
-    else
-      #t122.{core::Map::[]=}("bar", 3.14);
-    #t122.{core::Map::[]=}("baz", null);
-  } =>#t122;
-  core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t124 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t124.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
-  } =>#t124;
-  core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t125 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t125.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
-    #t125.{core::Set::add}(null);
-  } =>#t125;
-  core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t126 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t126.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
-    #t126.{core::Map::[]=}("baz", null);
-  } =>#t126;
-  core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t127 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final dynamic #t128 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t129 = #t128 as{TypeError} core::int*;
-        #t127.{core::List::add}(#t129);
-      }
-  } =>#t127;
-  core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t130 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final dynamic #t131 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t132 = #t131 as{TypeError} core::int*;
-        #t130.{core::Set::add}(#t132);
-      }
-    #t130.{core::Set::add}(null);
-  } =>#t130;
-  core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t133 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<dynamic, dynamic>* #t134 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
-        final core::String* #t135 = #t134.{core::MapEntry::key} as{TypeError} core::String*;
-        final core::int* #t136 = #t134.{core::MapEntry::value} as{TypeError} core::int*;
-        #t133.{core::Map::[]=}(#t135, #t136);
-      }
-    #t133.{core::Map::[]=}("baz", null);
-  } =>#t133;
-  core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t137 = <core::int*>[];
-    if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t137.{core::List::add}(42);
-  } =>#t137;
-  core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t138 = col::LinkedHashSet::•<core::int*>();
-    if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t138.{core::Set::add}(42);
-  } =>#t138;
-  core::Map<core::int*, core::int*>* map100 = block {
-    final core::Map<core::int*, core::int*>* #t139 = <core::int*, core::int*>{};
-    if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t139.{core::Map::[]=}(42, 42);
-  } =>#t139;
-}
-static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
-  block {
-    final core::List<core::int*>* #t140 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t140.{core::List::add}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>[if (oracle(\"foo\")) \"bar\"];
-                           ^" in "bar" as{TypeError} core::int*);
-  } =>#t140;
-  block {
-    final core::Set<core::int*>* #t142 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t142.{core::Set::add}(let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>{if (oracle(\"foo\")) \"bar\", null};
-                           ^" in "bar" as{TypeError} core::int*);
-    #t142.{core::Set::add}(null);
-  } =>#t142;
-  block {
-    final core::Map<core::String*, core::int*>* #t144 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t144.{core::Map::[]=}("bar", let final<BottomType> #t145 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
-                                          ^" in "bar" as{TypeError} core::int*);
-    #t144.{core::Map::[]=}("baz", null);
-  } =>#t144;
-  block {
-    final core::List<core::int*>* #t146 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::int* #t147 in <core::int*>[let final<BottomType> #t148 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>[if (oracle(\"foo\")) ...[\"bar\"]];
-                               ^" in "bar" as{TypeError} core::int*])
-        #t146.{core::List::add}(#t147);
-  } =>#t146;
-  block {
-    final core::Set<core::int*>* #t149 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::int* #t150 in <core::int*>[let final<BottomType> #t151 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>{if (oracle(\"foo\")) ...[\"bar\"], null};
-                               ^" in "bar" as{TypeError} core::int*])
-        #t149.{core::Set::add}(#t150);
-    #t149.{core::Set::add}(null);
-  } =>#t149;
-  block {
-    final core::Map<core::String*, core::int*>* #t152 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final core::MapEntry<core::String*, core::int*>* #t153 in <core::String*, core::int*>{"bar": let final<BottomType> #t154 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                              ^" in "bar" as{TypeError} core::int*}.{core::Map::entries})
-        #t152.{core::Map::[]=}(#t153.{core::MapEntry::key}, #t153.{core::MapEntry::value});
-    #t152.{core::Map::[]=}("baz", null);
-  } =>#t152;
-  block {
-    final core::List<core::int*>* #t155 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t155.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[if (oracle(\"foo\")) ...map];
-                              ^");
-  } =>#t155;
-  block {
-    final core::Set<core::int*>* #t156 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t156.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{if (oracle(\"foo\")) ...map, null};
-                              ^");
-    #t156.{core::Set::add}(null);
-  } =>#t156;
-  <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
-                                      ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
-                                      ^": null};
-  block {
-    final core::List<core::String*>* #t157 = <core::String*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t157.{core::List::add}(let final<BottomType> #t158 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String>[if (oracle(\"foo\")) 42 else 3.14];
-                              ^" in 42 as{TypeError} core::String*);
-    else
-      #t157.{core::List::add}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String>[if (oracle(\"foo\")) 42 else 3.14];
-                                      ^" in 3.14 as{TypeError} core::String*);
-  } =>#t157;
-  block {
-    final core::Set<core::String*>* #t160 = col::LinkedHashSet::•<core::String*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t160.{core::Set::add}(let final<BottomType> #t161 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String>{if (oracle(\"foo\")) 42 else 3.14, null};
-                              ^" in 42 as{TypeError} core::String*);
-    else
-      #t160.{core::Set::add}(let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String>{if (oracle(\"foo\")) 42 else 3.14, null};
-                                      ^" in 3.14 as{TypeError} core::String*);
-    #t160.{core::Set::add}(null);
-  } =>#t160;
-  block {
-    final core::Map<core::String*, core::String*>* #t163 = <core::String*, core::String*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t163.{core::Map::[]=}("bar", let final<BottomType> #t164 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
-                                             ^" in 42 as{TypeError} core::String*);
-    else
-      #t163.{core::Map::[]=}("baz", let final<BottomType> #t165 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
-                                                            ^" in 3.14 as{TypeError} core::String*);
-    #t163.{core::Map::[]=}("baz", null);
-  } =>#t163;
-  block {
-    final core::List<core::int*>* #t166 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t166.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[if (oracle(\"foo\")) ...map else 42];
-                              ^");
-    else
-      #t166.{core::List::add}(42);
-  } =>#t166;
-  block {
-    final core::Set<core::int*>* #t167 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t167.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{if (oracle(\"foo\")) ...map else 42, null};
-                              ^");
-    else
-      #t167.{core::Set::add}(42);
-    #t167.{core::Set::add}(null);
-  } =>#t167;
-  <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
-                                      ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
-                                      ^": null};
-  block {
-    final core::List<core::int*>* #t168 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t168.{core::List::add}(42);
-    else
-      #t168.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[if (oracle(\"foo\")) 42 else ...map];
-                                      ^");
-  } =>#t168;
-  block {
-    final core::Set<core::int*>* #t169 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t169.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{if (oracle(\"foo\")) ...map else 42, null};
-                              ^");
-    else
-      #t169.{core::Set::add}(42);
-    #t169.{core::Set::add}(null);
-  } =>#t169;
-  <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
-                                                     ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
-                                                     ^": null};
-  core::Set<dynamic>* set10 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:108:24: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-  Set<dynamic> set10 = {if (oracle(\"foo\")) 42 else \"bar\": 3.14};
-                       ^";
-  core::Map<dynamic, dynamic>* map10 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:109:53: Error: Expected ':' after this.
-  Map<dynamic, dynamic> map10 = {if (oracle(\"foo\")) 42 else \"bar\": 3.14};
-                                                    ^": null};
-  core::Set<dynamic>* set11 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:110:24: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-  Set<dynamic> set11 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
-                       ^";
-  core::Map<dynamic, dynamic>* map11 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:111:70: Error: Expected ':' after this.
-  Map<dynamic, dynamic> map11 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
-                                                                     ^": null};
-  core::Map<dynamic, core::Null?>* map12 = <dynamic, core::Null?>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:112:35: Error: Expected ':' after this.
-  var map12 = {if (oracle(\"foo\")) 42 else \"bar\": 3.14};
-                                  ^": null};
-  core::Map<dynamic, core::Null?>* map13 = <dynamic, core::Null?>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:113:52: Error: Expected ':' after this.
-  var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
-                                                   ^": null};
-  core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t170 = <core::int*>[];
-    if(let final<BottomType> #t171 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-  List<int> list20 = [if (42) 42];
-                          ^" in 42 as{TypeError} core::bool*)
-      #t170.{core::List::add}(42);
-  } =>#t170;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t172 = col::LinkedHashSet::•<core::int*>();
-    if(let final<BottomType> #t173 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:115:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-  Set<int> set20 = {if (42) 42};
-                        ^" in 42 as{TypeError} core::bool*)
-      #t172.{core::Set::add}(42);
-  } =>#t172;
-  core::Map<core::int*, core::int*>* map30 = block {
-    final core::Map<core::int*, core::int*>* #t174 = <core::int*, core::int*>{};
-    if(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-  Map<int, int> map30 = {if (42) 42: 42};
-                             ^" in 42 as{TypeError} core::bool*)
-      #t174.{core::Map::[]=}(42, 42);
-  } =>#t174;
-  core::List<core::String*>* list40 = block {
-    final core::List<core::String*>* #t176 = <core::String*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t176.{core::List::add}(let final<BottomType> #t177 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-  List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
-                                                    ^" in true as{TypeError} core::String*);
-    else
-      #t176.{core::List::add}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
-                                                              ^" in 42 as{TypeError} core::String*);
-  } =>#t176;
-  core::Set<core::String*>* set40 = block {
-    final core::Set<core::String*>* #t179 = col::LinkedHashSet::•<core::String*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t179.{core::Set::add}(let final<BottomType> #t180 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-  Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
-                                                  ^" in true as{TypeError} core::String*);
-    else
-      #t179.{core::Set::add}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
-                                                            ^" in 42 as{TypeError} core::String*);
-  } =>#t179;
-  core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t182 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t182.{core::Map::[]=}(let final<BottomType> #t183 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-  Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
-                                                            ^" in true as{TypeError} core::String*, 42);
-    else
-      #t182.{core::Map::[]=}(let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
-                                                                          ^" in 42 as{TypeError} core::String*, 42);
-  } =>#t182;
-  core::Map<core::int*, core::String*>* map41 = block {
-    final core::Map<core::int*, core::String*>* #t185 = <core::int*, core::String*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t185.{core::Map::[]=}(42, let final<BottomType> #t186 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-  Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
-                                                                ^" in true as{TypeError} core::String*);
-    else
-      #t185.{core::Map::[]=}(42, let final<BottomType> #t187 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
-                                                                              ^" in 42 as{TypeError} core::String*);
-  } =>#t185;
-}
-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 {
-  core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t188 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t188.{core::List::add}(42);
-  } =>#t188;
-  core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t189 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t189.{core::Set::add}(42);
-    #t189.{core::Set::add}(null);
-  } =>#t189;
-  core::Map<core::String*, core::int*>* map10 = block {
-    final core::Map<core::String*, core::int*>* #t190 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t190.{core::Map::[]=}("bar", 42);
-    #t190.{core::Map::[]=}("baz", null);
-  } =>#t190;
-  core::List<dynamic>* list11 = block {
-    final core::List<dynamic>* #t191 = <dynamic>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t191.{core::List::add}(dynVar);
-  } =>#t191;
-  core::Set<dynamic>* set11 = block {
-    final core::Set<dynamic>* #t192 = col::LinkedHashSet::•<dynamic>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t192.{core::Set::add}(dynVar);
-    #t192.{core::Set::add}(null);
-  } =>#t192;
-  core::Map<core::String*, dynamic>* map11 = block {
-    final core::Map<core::String*, dynamic>* #t193 = <core::String*, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t193.{core::Map::[]=}("bar", dynVar);
-    #t193.{core::Map::[]=}("baz", null);
-  } =>#t193;
-  core::List<core::List<core::int*>*>* list12 = block {
-    final core::List<core::List<core::int*>*>* #t194 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t194.{core::List::add}(<core::int*>[42]);
-  } =>#t194;
-  core::Set<core::List<core::int*>*>* set12 = block {
-    final core::Set<core::List<core::int*>*>* #t195 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t195.{core::Set::add}(<core::int*>[42]);
-    #t195.{core::Set::add}(null);
-  } =>#t195;
-  core::Map<core::String*, core::List<core::int*>*>* map12 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t196 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t196.{core::Map::[]=}("bar", <core::int*>[42]);
-    #t196.{core::Map::[]=}("baz", null);
-  } =>#t196;
-  core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t197 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::int* #t198 in <core::int*>[42])
-        #t197.{core::List::add}(#t198);
-  } =>#t197;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t199 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::int* #t200 in <core::int*>[42])
-        #t199.{core::Set::add}(#t200);
-    #t199.{core::Set::add}(null);
-  } =>#t199;
-  core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t201 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::MapEntry<core::String*, core::int*>* #t202 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
-        #t201.{core::Map::[]=}(#t202.{core::MapEntry::key}, #t202.{core::MapEntry::value});
-    #t201.{core::Map::[]=}("baz", null);
-  } =>#t201;
-  core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t203 = <dynamic>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final dynamic #t204 in <dynamic>[dynVar])
-        #t203.{core::List::add}(#t204);
-  } =>#t203;
-  core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t205 = col::LinkedHashSet::•<dynamic>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final dynamic #t206 in <dynamic>[dynVar])
-        #t205.{core::Set::add}(#t206);
-    #t205.{core::Set::add}(null);
-  } =>#t205;
-  core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t207 = <core::String*, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::MapEntry<core::String*, dynamic>* #t208 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
-        #t207.{core::Map::[]=}(#t208.{core::MapEntry::key}, #t208.{core::MapEntry::value});
-    #t207.{core::Map::[]=}("baz", null);
-  } =>#t207;
-  core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t209 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::List<core::int*>* #t210 in <core::List<core::int*>*>[<core::int*>[42]])
-        #t209.{core::List::add}(#t210);
-  } =>#t209;
-  core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t211 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::List<core::int*>* #t212 in <core::List<core::int*>*>[<core::int*>[42]])
-        #t211.{core::Set::add}(#t212);
-    #t211.{core::Set::add}(null);
-  } =>#t211;
-  core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t213 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t214 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
-        #t213.{core::Map::[]=}(#t214.{core::MapEntry::key}, #t214.{core::MapEntry::value});
-    #t213.{core::Map::[]=}("baz", null);
-  } =>#t213;
-  core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t215 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::int* #t216 in <core::int*>[42])
-          #t215.{core::List::add}(#t216);
-  } =>#t215;
-  core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t217 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::int* #t218 in <core::int*>[42])
-          #t217.{core::Set::add}(#t218);
-    #t217.{core::Set::add}(null);
-  } =>#t217;
-  core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t219 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::int*>* #t220 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries})
-          #t219.{core::Map::[]=}(#t220.{core::MapEntry::key}, #t220.{core::MapEntry::value});
-    #t219.{core::Map::[]=}("baz", null);
-  } =>#t219;
-  core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t221 = <dynamic>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final dynamic #t222 in <dynamic>[dynVar])
-          #t221.{core::List::add}(#t222);
-  } =>#t221;
-  core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t223 = col::LinkedHashSet::•<dynamic>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final dynamic #t224 in <dynamic>[dynVar])
-          #t223.{core::Set::add}(#t224);
-    #t223.{core::Set::add}(null);
-  } =>#t223;
-  core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t225 = <core::String*, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, dynamic>* #t226 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries})
-          #t225.{core::Map::[]=}(#t226.{core::MapEntry::key}, #t226.{core::MapEntry::value});
-    #t225.{core::Map::[]=}("baz", null);
-  } =>#t225;
-  core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t227 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t228 in <core::List<core::int*>*>[<core::int*>[42]])
-          #t227.{core::List::add}(#t228);
-  } =>#t227;
-  core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t229 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t230 in <core::List<core::int*>*>[<core::int*>[42]])
-          #t229.{core::Set::add}(#t230);
-    #t229.{core::Set::add}(null);
-  } =>#t229;
-  core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t231 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t232 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries})
-          #t231.{core::Map::[]=}(#t232.{core::MapEntry::key}, #t232.{core::MapEntry::value});
-    #t231.{core::Map::[]=}("baz", null);
-  } =>#t231;
-  core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t233 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::List<core::int*>* #t234 in <core::List<core::int*>*>[<core::int*>[]])
-        #t233.{core::List::add}(#t234);
-  } =>#t233;
-  core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t235 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::List<core::int*>* #t236 in <core::List<core::int*>*>[<core::int*>[]])
-        #t235.{core::Set::add}(#t236);
-    #t235.{core::Set::add}(null);
-  } =>#t235;
-  core::Map<core::String*, core::List<core::int*>*>* map40 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t237 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t238 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
-        #t237.{core::Map::[]=}(#t238.{core::MapEntry::key}, #t238.{core::MapEntry::value});
-    #t237.{core::Map::[]=}("baz", null);
-  } =>#t237;
-  core::List<core::List<core::int*>*>* list41 = block {
-    final core::List<core::List<core::int*>*>* #t239 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::List<core::int*>* #t240 in let final core::Set<core::List<core::int*>*>* #t241 = col::LinkedHashSet::•<core::List<core::int*>*>() in let final dynamic #t242 = #t241.{core::Set::add}(<core::int*>[]) in #t241)
-        #t239.{core::List::add}(#t240);
-  } =>#t239;
-  core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t243 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::List<core::int*>* #t244 in let final core::Set<core::List<core::int*>*>* #t245 = col::LinkedHashSet::•<core::List<core::int*>*>() in let final dynamic #t246 = #t245.{core::Set::add}(<core::int*>[]) in #t245)
-        #t243.{core::Set::add}(#t244);
-    #t243.{core::Set::add}(null);
-  } =>#t243;
-  core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t247 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t248 in <core::List<core::int*>*>[<core::int*>[]])
-          #t247.{core::List::add}(#t248);
-  } =>#t247;
-  core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t249 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t250 in <core::List<core::int*>*>[<core::int*>[]])
-          #t249.{core::Set::add}(#t250);
-    #t249.{core::Set::add}(null);
-  } =>#t249;
-  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t251 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t252 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
-          #t251.{core::Map::[]=}(#t252.{core::MapEntry::key}, #t252.{core::MapEntry::value});
-    #t251.{core::Map::[]=}("baz", null);
-  } =>#t251;
-  core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t253 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::int* #t254 in <core::int*>[])
-        #t253.{core::List::add}(#t254);
-  } =>#t253;
-  core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t255 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::int* #t256 in <core::int*>[])
-        #t255.{core::Set::add}(#t256);
-    #t255.{core::Set::add}(null);
-  } =>#t255;
-  core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t257 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::MapEntry<core::String*, core::int*>* #t258 in <core::String*, core::int*>{}.{core::Map::entries})
-        #t257.{core::Map::[]=}(#t258.{core::MapEntry::key}, #t258.{core::MapEntry::value});
-    #t257.{core::Map::[]=}("baz", null);
-  } =>#t257;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t259 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::int* #t260 in let final core::Set<core::int*>* #t261 = col::LinkedHashSet::•<core::int*>() in #t261)
-        #t259.{core::List::add}(#t260);
-  } =>#t259;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t262 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::int* #t263 in let final core::Set<core::int*>* #t264 = col::LinkedHashSet::•<core::int*>() in #t264)
-        #t262.{core::Set::add}(#t263);
-    #t262.{core::Set::add}(null);
-  } =>#t262;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t265 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::int* #t266 in <core::int*>[])
-          #t265.{core::List::add}(#t266);
-  } =>#t265;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t267 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::int* #t268 in <core::int*>[])
-          #t267.{core::Set::add}(#t268);
-    #t267.{core::Set::add}(null);
-  } =>#t267;
-  core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t269 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::List<core::int*>* #t270 in <core::List<core::int*>*>[<core::int*>[]])
-        #t269.{core::List::add}(#t270);
-  } =>#t269;
-  core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t271 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::List<core::int*>* #t272 in <core::List<core::int*>*>[<core::int*>[]])
-        #t271.{core::Set::add}(#t272);
-    #t271.{core::Set::add}(null);
-  } =>#t271;
-  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t273 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t274 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
-        #t273.{core::Map::[]=}(#t274.{core::MapEntry::key}, #t274.{core::MapEntry::value});
-    #t273.{core::Map::[]=}("baz", null);
-  } =>#t273;
-  core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t275 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t276 in <core::List<core::int*>*>[<core::int*>[]])
-          #t275.{core::List::add}(#t276);
-  } =>#t275;
-  core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t277 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::List<core::int*>* #t278 in <core::List<core::int*>*>[<core::int*>[]])
-          #t277.{core::Set::add}(#t278);
-    #t277.{core::Set::add}(null);
-  } =>#t277;
-  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t279 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t280 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries})
-          #t279.{core::Map::[]=}(#t280.{core::MapEntry::key}, #t280.{core::MapEntry::value});
-    #t279.{core::Map::[]=}("baz", null);
-  } =>#t279;
-  core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t281 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t281.{core::List::add}(<core::int*>[]);
-  } =>#t281;
-  core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t282 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t282.{core::Set::add}(<core::int*>[]);
-    #t282.{core::Set::add}(null);
-  } =>#t282;
-  core::Map<core::String*, core::List<core::int*>*>* map70 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t283 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t283.{core::Map::[]=}("bar", <core::int*>[]);
-    #t283.{core::Map::[]=}("baz", null);
-  } =>#t283;
-  core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t284 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t284.{core::List::add}(<core::int*>[]);
-  } =>#t284;
-  core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t285 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t285.{core::Set::add}(<core::int*>[]);
-    #t285.{core::Set::add}(null);
-  } =>#t285;
-  core::Map<core::String*, core::List<core::int*>*>* map71 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t286 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t286.{core::Map::[]=}("bar", <core::int*>[]);
-    #t286.{core::Map::[]=}("baz", null);
-  } =>#t286;
-  core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t287 = <core::num*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t287.{core::List::add}(42);
-      else
-        #t287.{core::List::add}(3.14);
-  } =>#t287;
-  core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t288 = col::LinkedHashSet::•<core::num*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t288.{core::Set::add}(42);
-      else
-        #t288.{core::Set::add}(3.14);
-    #t288.{core::Set::add}(null);
-  } =>#t288;
-  core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t289 = <core::String*, core::num*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t289.{core::Map::[]=}("bar", 42);
-      else
-        #t289.{core::Map::[]=}("bar", 3.14);
-    #t289.{core::Map::[]=}("baz", null);
-  } =>#t289;
-  core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t290 = <core::num*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::num* #t291 in listInt)
-          #t290.{core::List::add}(#t291);
-      else
-        for (final core::num* #t292 in listDouble)
-          #t290.{core::List::add}(#t292);
-  } =>#t290;
-  core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t293 = col::LinkedHashSet::•<core::num*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::num* #t294 in listInt)
-          #t293.{core::Set::add}(#t294);
-      else
-        for (final core::num* #t295 in listDouble)
-          #t293.{core::Set::add}(#t295);
-    #t293.{core::Set::add}(null);
-  } =>#t293;
-  core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t296 = <core::String*, core::num*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::num*>* #t297 in mapStringInt.{core::Map::entries})
-          #t296.{core::Map::[]=}(#t297.{core::MapEntry::key}, #t297.{core::MapEntry::value});
-      else
-        for (final core::MapEntry<core::String*, core::num*>* #t298 in mapStringDouble.{core::Map::entries})
-          #t296.{core::Map::[]=}(#t298.{core::MapEntry::key}, #t298.{core::MapEntry::value});
-    #t296.{core::Map::[]=}("baz", null);
-  } =>#t296;
-  core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t299 = <dynamic>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final dynamic #t300 in listInt)
-          #t299.{core::List::add}(#t300);
-      else
-        for (final dynamic #t301 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-          #t299.{core::List::add}(#t301);
-  } =>#t299;
-  core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t302 = col::LinkedHashSet::•<dynamic>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final dynamic #t303 in listInt)
-          #t302.{core::Set::add}(#t303);
-      else
-        for (final dynamic #t304 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-          #t302.{core::Set::add}(#t304);
-    #t302.{core::Set::add}(null);
-  } =>#t302;
-  core::Map<dynamic, dynamic>* map82 = block {
-    final core::Map<dynamic, dynamic>* #t305 = <dynamic, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<dynamic, dynamic>* #t306 in mapStringInt.{core::Map::entries})
-          #t305.{core::Map::[]=}(#t306.{core::MapEntry::key}, #t306.{core::MapEntry::value});
-      else
-        for (final core::MapEntry<dynamic, dynamic>* #t307 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries})
-          #t305.{core::Map::[]=}(#t307.{core::MapEntry::key}, #t307.{core::MapEntry::value});
-    #t305.{core::Map::[]=}("baz", null);
-  } =>#t305;
-  core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t308 = <core::num*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t308.{core::List::add}(42);
-      else
-        for (final core::num* #t309 in listDouble)
-          #t308.{core::List::add}(#t309);
-  } =>#t308;
-  core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t310 = col::LinkedHashSet::•<core::num*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::num* #t311 in listInt)
-          #t310.{core::Set::add}(#t311);
-      else
-        #t310.{core::Set::add}(3.14);
-    #t310.{core::Set::add}(null);
-  } =>#t310;
-  core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t312 = <core::String*, core::num*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final core::MapEntry<core::String*, core::num*>* #t313 in mapStringInt.{core::Map::entries})
-          #t312.{core::Map::[]=}(#t313.{core::MapEntry::key}, #t313.{core::MapEntry::value});
-      else
-        #t312.{core::Map::[]=}("bar", 3.14);
-    #t312.{core::Map::[]=}("baz", null);
-  } =>#t312;
-  core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t314 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t314.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
-  } =>#t314;
-  core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t315 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t315.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
-    #t315.{core::Set::add}(null);
-  } =>#t315;
-  core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t316 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t316.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
-    #t316.{core::Map::[]=}("baz", null);
-  } =>#t316;
-  core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t317 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final dynamic #t318 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t319 = #t318 as{TypeError} core::int*;
-        #t317.{core::List::add}(#t319);
-      }
-  } =>#t317;
-  core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t320 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final dynamic #t321 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t322 = #t321 as{TypeError} core::int*;
-        #t320.{core::Set::add}(#t322);
-      }
-    #t320.{core::Set::add}(null);
-  } =>#t320;
-  core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t323 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::MapEntry<dynamic, dynamic>* #t324 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
-        final core::String* #t325 = #t324.{core::MapEntry::key} as{TypeError} core::String*;
-        final core::int* #t326 = #t324.{core::MapEntry::value} as{TypeError} core::int*;
-        #t323.{core::Map::[]=}(#t325, #t326);
-      }
-    #t323.{core::Map::[]=}("baz", null);
-  } =>#t323;
-  core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t327 = <core::int*>[];
-    for (final core::int* #t328 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
-      #t327.{core::List::add}(42);
-  } =>#t327;
-  core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t329 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t330 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
-      #t329.{core::Set::add}(42);
-  } =>#t329;
-  core::Map<core::String*, core::int*>* map100 = block {
-    final core::Map<core::String*, core::int*>* #t331 = <core::String*, core::int*>{};
-    for (final core::int* #t332 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
-      #t331.{core::Map::[]=}("bar", 42);
-  } =>#t331;
-  core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t333 = <core::int*>[];
-    for (core::int* i in <core::int*>[1, 2, 3])
-      #t333.{core::List::add}(i);
-  } =>#t333;
-  core::Set<core::int*>* set110 = block {
-    final core::Set<core::int*>* #t334 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i in <core::int*>[1, 2, 3])
-      #t334.{core::Set::add}(i);
-    #t334.{core::Set::add}(null);
-  } =>#t334;
-  core::Map<core::String*, core::int*>* map110 = block {
-    final core::Map<core::String*, core::int*>* #t335 = <core::String*, core::int*>{};
-    for (core::int* i in <core::int*>[1, 2, 3])
-      #t335.{core::Map::[]=}("bar", i);
-    #t335.{core::Map::[]=}("baz", null);
-  } =>#t335;
-  core::List<core::int*>* list120 = block {
-    final core::List<core::int*>* #t336 = <core::int*>[];
-    for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t336.{core::List::add}(i as{TypeError,ForDynamic} core::int*);
-  } =>#t336;
-  core::Set<core::int*>* set120 = block {
-    final core::Set<core::int*>* #t337 = col::LinkedHashSet::•<core::int*>();
-    for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t337.{core::Set::add}(i as{TypeError,ForDynamic} core::int*);
-    #t337.{core::Set::add}(null);
-  } =>#t337;
-  core::Map<core::String*, core::int*>* map120 = block {
-    final core::Map<core::String*, core::int*>* #t338 = <core::String*, core::int*>{};
-    for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t338.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*);
-    #t338.{core::Map::[]=}("baz", null);
-  } =>#t338;
-  core::List<core::int*>* list130 = block {
-    final core::List<core::int*>* #t339 = <core::int*>[];
-    for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
-      #t339.{core::List::add}(i);
-  } =>#t339;
-  core::Set<core::int*>* set130 = block {
-    final core::Set<core::int*>* #t340 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
-      #t340.{core::Set::add}(i);
-  } =>#t340;
-  core::Map<core::int*, core::int*>* map130 = block {
-    final core::Map<core::int*, core::int*>* #t341 = <core::int*, core::int*>{};
-    for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
-      #t341.{core::Map::[]=}(i, i);
-  } =>#t341;
-}
-static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async {
-  block {
-    final core::List<core::int*>* #t342 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t342.{core::List::add}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
-                                            ^" in "bar" as{TypeError} core::int*);
-  } =>#t342;
-  block {
-    final core::Set<core::int*>* #t344 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t344.{core::Set::add}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
-                                            ^" in "bar" as{TypeError} core::int*);
-    #t344.{core::Set::add}(null);
-  } =>#t344;
-  block {
-    final core::Map<core::int*, core::int*>* #t346 = <core::int*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t346.{core::Map::[]=}(let final<BottomType> #t347 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
-                                                 ^" in "bar" as{TypeError} core::int*, let final<BottomType> #t348 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
-                                                        ^" in "bar" as{TypeError} core::int*);
-    #t346.{core::Map::[]=}(let final<BottomType> #t349 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
-                                                               ^" in "baz" as{TypeError} core::int*, null);
-  } =>#t346;
-  block {
-    final core::List<core::int*>* #t350 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::int* #t351 in <core::int*>[let final<BottomType> #t352 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
-                                                ^" in "bar" as{TypeError} core::int*])
-        #t350.{core::List::add}(#t351);
-  } =>#t350;
-  block {
-    final core::Set<core::int*>* #t353 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::int* #t354 in <core::int*>[let final<BottomType> #t355 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
-                                                ^" in "bar" as{TypeError} core::int*])
-        #t353.{core::Set::add}(#t354);
-    #t353.{core::Set::add}(null);
-  } =>#t353;
-  block {
-    final core::Map<core::int*, core::int*>* #t356 = <core::int*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      for (final core::MapEntry<core::int*, core::int*>* #t357 in <core::int*, core::int*>{let final<BottomType> #t358 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                     ^" in "bar" as{TypeError} core::int*: let final<BottomType> #t359 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                            ^" in "bar" as{TypeError} core::int*}.{core::Map::entries})
-        #t356.{core::Map::[]=}(#t357.{core::MapEntry::key}, #t357.{core::MapEntry::value});
-    #t356.{core::Map::[]=}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                                    ^" in "baz" as{TypeError} core::int*, null);
-  } =>#t356;
-  block {
-    final core::List<core::int*>* #t361 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t361.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
-                                               ^");
-  } =>#t361;
-  block {
-    final core::Set<core::int*>* #t362 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t362.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
-                                               ^");
-    #t362.{core::Set::add}(null);
-  } =>#t362;
-  <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
-                                                    ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
-                                                    ^": null};
-  block {
-    final core::List<core::String*>* #t363 = <core::String*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t363.{core::List::add}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
-                                                             ^" in 42 as{TypeError} core::String*);
-      else
-        #t363.{core::List::add}(let final<BottomType> #t365 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
-                                                                     ^" in 3.14 as{TypeError} core::String*);
-  } =>#t363;
-  block {
-    final core::Set<core::String*>* #t366 = col::LinkedHashSet::•<core::String*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t366.{core::Set::add}(let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
-                                                             ^" in 42 as{TypeError} core::String*);
-      else
-        #t366.{core::Set::add}(let final<BottomType> #t368 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
-                                                                     ^" in 3.14 as{TypeError} core::String*);
-    #t366.{core::Set::add}(null);
-  } =>#t366;
-  block {
-    final core::Map<core::String*, core::String*>* #t369 = <core::String*, core::String*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t369.{core::Map::[]=}("bar", let final<BottomType> #t370 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
-                                                                            ^" in 42 as{TypeError} core::String*);
-      else
-        #t369.{core::Map::[]=}("bar", let final<BottomType> #t371 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
-                                                                                           ^" in 3.14 as{TypeError} core::String*);
-    #t369.{core::Map::[]=}("baz", null);
-  } =>#t369;
-  block {
-    final core::List<core::int*>* #t372 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t372.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
-                                                             ^");
-      else
-        #t372.{core::List::add}(42);
-  } =>#t372;
-  block {
-    final core::Set<core::int*>* #t373 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t373.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
-                                                             ^");
-      else
-        #t373.{core::Set::add}(42);
-    #t373.{core::Set::add}(null);
-  } =>#t373;
-  <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
-                                                                     ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
-                                                                     ^": null};
-  block {
-    final core::List<core::int*>* #t374 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t374.{core::List::add}(42);
-      else
-        #t374.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
-                                                                     ^");
-  } =>#t374;
-  block {
-    final core::Set<core::int*>* #t375 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t375.{core::Set::add}(42);
-      else
-        #t375.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
-                                                                     ^");
-    #t375.{core::Set::add}(null);
-  } =>#t375;
-  <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
-                                                                                    ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
-                                                                                    ^": null};
-  final core::int* i = 0;
-  block {
-    final core::List<core::int*>* #t376 = <core::int*>[];
-    for (final core::int* #t377 in <core::int*>[1]) {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
-  <int>[for (i in <int>[1]) i];
-             ^";
-      #t376.{core::List::add}(i);
-    }
-  } =>#t376;
-  block {
-    final core::Set<core::int*>* #t378 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t379 in <core::int*>[1]) {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
-  <int>{for (i in <int>[1]) i, null};
-             ^";
-      #t378.{core::Set::add}(i);
-    }
-    #t378.{core::Set::add}(null);
-  } =>#t378;
-  block {
-    final core::Map<core::String*, core::int*>* #t380 = <core::String*, core::int*>{};
-    for (final core::int* #t381 in <core::int*>[1]) {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
-\t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
-\t                   ^";
-      #t380.{core::Map::[]=}("bar", i);
-    }
-    #t380.{core::Map::[]=}("baz", null);
-  } =>#t380;
-  core::List<dynamic>* list10 = block {
-    final core::List<dynamic>* #t382 = <dynamic>[];
-    for (dynamic i in let final<BottomType> #t383 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:236:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- - 'Iterable' is from 'dart:core'.
-  var list10 = [for (var i in \"not iterable\") i];
-                              ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t382.{core::List::add}(i);
-  } =>#t382;
-  core::Set<dynamic>* set10 = block {
-    final core::Set<dynamic>* #t384 = col::LinkedHashSet::•<dynamic>();
-    for (dynamic i in let final<BottomType> #t385 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:237:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- - 'Iterable' is from 'dart:core'.
-  var set10 = {for (var i in \"not iterable\") i, null};
-                             ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t384.{core::Set::add}(i);
-    #t384.{core::Set::add}(null);
-  } =>#t384;
-  core::Map<core::String*, dynamic>* map10 = block {
-    final core::Map<core::String*, dynamic>* #t386 = <core::String*, dynamic>{};
-    for (dynamic i in let final<BottomType> #t387 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:238:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- - 'Iterable' is from 'dart:core'.
-  var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
-                             ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t386.{core::Map::[]=}("bar", i);
-    #t386.{core::Map::[]=}("baz", null);
-  } =>#t386;
-  core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t388 = <core::int*>[];
-    for (core::int* i in <core::int*>[let final<BottomType> #t389 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var list20 = [for (int i in [\"not\", \"int\"]) i];
-                               ^" in "not" as{TypeError} core::int*, let final<BottomType> #t390 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var list20 = [for (int i in [\"not\", \"int\"]) i];
-                                      ^" in "int" as{TypeError} core::int*])
-      #t388.{core::List::add}(i);
-  } =>#t388;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t391 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i in <core::int*>[let final<BottomType> #t392 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var set20 = {for (int i in [\"not\", \"int\"]) i, null};
-                              ^" in "not" as{TypeError} core::int*, let final<BottomType> #t393 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var set20 = {for (int i in [\"not\", \"int\"]) i, null};
-                                     ^" in "int" as{TypeError} core::int*])
-      #t391.{core::Set::add}(i);
-    #t391.{core::Set::add}(null);
-  } =>#t391;
-  core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t394 = <core::String*, core::int*>{};
-    for (core::int* i in <core::int*>[let final<BottomType> #t395 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
-                              ^" in "not" as{TypeError} core::int*, let final<BottomType> #t396 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
-                                     ^" in "int" as{TypeError} core::int*])
-      #t394.{core::Map::[]=}("bar", i);
-    #t394.{core::Map::[]=}("baz", null);
-  } =>#t394;
-  core::List<dynamic>* list30 = block {
-    final core::List<dynamic>* #t397 = <dynamic>[];
-    await for (dynamic i in let final<BottomType> #t398 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:242:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
- - 'Stream' is from 'dart:async'.
-  var list30 = [await for (var i in \"not stream\") i];
-                                    ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t397.{core::List::add}(i);
-  } =>#t397;
-  core::Set<dynamic>* set30 = block {
-    final core::Set<dynamic>* #t399 = col::LinkedHashSet::•<dynamic>();
-    await for (dynamic i in let final<BottomType> #t400 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:243:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
- - 'Stream' is from 'dart:async'.
-  var set30 = {await for (var i in \"not stream\") i, null};
-                                   ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t399.{core::Set::add}(i);
-    #t399.{core::Set::add}(null);
-  } =>#t399;
-  core::Map<core::String*, dynamic>* map30 = block {
-    final core::Map<core::String*, dynamic>* #t401 = <core::String*, dynamic>{};
-    await for (dynamic i in let final<BottomType> #t402 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:244:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
- - 'Stream' is from 'dart:async'.
-  var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
-                                   ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t401.{core::Map::[]=}("bar", i);
-    #t401.{core::Map::[]=}("baz", null);
-  } =>#t401;
-  core::List<core::int*>* list40 = block {
-    final core::List<core::int*>* #t403 = <core::int*>[];
-    await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[let final<BottomType> #t404 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
-                                                         ^" in "not" as{TypeError} core::int*, let final<BottomType> #t405 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
-                                                                ^" in "int" as{TypeError} core::int*]))
-      #t403.{core::List::add}(i);
-  } =>#t403;
-  core::Set<core::int*>* set40 = block {
-    final core::Set<core::int*>* #t406 = col::LinkedHashSet::•<core::int*>();
-    await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[let final<BottomType> #t407 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
-                                                        ^" in "not" as{TypeError} core::int*, let final<BottomType> #t408 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
-                                                               ^" in "int" as{TypeError} core::int*]))
-      #t406.{core::Set::add}(i);
-    #t406.{core::Set::add}(null);
-  } =>#t406;
-  core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t409 = <core::String*, core::int*>{};
-    await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[let final<BottomType> #t410 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
-                                                        ^" in "not" as{TypeError} core::int*, let final<BottomType> #t411 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
-                                                               ^" in "int" as{TypeError} core::int*]))
-      #t409.{core::Map::[]=}("bar", i);
-    #t409.{core::Map::[]=}("baz", null);
-  } =>#t409;
-  core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t412 = <core::int*>[];
-    for (; ; )
-      #t412.{core::List::add}(42);
-  } =>#t412;
-  core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t413 = col::LinkedHashSet::•<core::int*>();
-    for (; ; )
-      #t413.{core::Set::add}(42);
-    #t413.{core::Set::add}(null);
-  } =>#t413;
-  core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t414 = <core::String*, core::int*>{};
-    for (; ; )
-      #t414.{core::Map::[]=}("bar", 42);
-    #t414.{core::Map::[]=}("baz", null);
-  } =>#t414;
-  core::List<core::int*>* list60 = block {
-    final core::List<core::int*>* #t415 = <core::int*>[];
-    for (; let final<BottomType> #t416 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-  var list60 = [for (; \"not bool\";) 42];
-                       ^" in "not bool" as{TypeError} core::bool*; )
-      #t415.{core::List::add}(42);
-  } =>#t415;
-  core::Set<core::int*>* set60 = block {
-    final core::Set<core::int*>* #t417 = col::LinkedHashSet::•<core::int*>();
-    for (; let final<BottomType> #t418 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:252:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-  var set60 = {for (; \"not bool\";) 42, null};
-                      ^" in "not bool" as{TypeError} core::bool*; )
-      #t417.{core::Set::add}(42);
-    #t417.{core::Set::add}(null);
-  } =>#t417;
-  core::Map<core::String*, core::int*>* map60 = block {
-    final core::Map<core::String*, core::int*>* #t419 = <core::String*, core::int*>{};
-    for (; let final<BottomType> #t420 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-  var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
-                      ^" in "not bool" as{TypeError} core::bool*; )
-      #t419.{core::Map::[]=}("bar", 42);
-    #t419.{core::Map::[]=}("baz", null);
-  } =>#t419;
-}
-static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
-  block {
-    final core::List<core::int*>* #t421 = <core::int*>[];
-    await for (core::int* i in stream)
-      #t421.{core::List::add}(i);
-  } =>#t421;
-  block {
-    final core::Set<core::int*>* #t422 = col::LinkedHashSet::•<core::int*>();
-    await for (core::int* i in stream)
-      #t422.{core::Set::add}(i);
-  } =>#t422;
-  block {
-    final core::Map<core::String*, core::int*>* #t423 = <core::String*, core::int*>{};
-    await for (core::int* i in stream)
-      #t423.{core::Map::[]=}("bar", i);
-  } =>#t423;
-}
-static method testPromotion(self::A* a) → dynamic {
-  core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t424 = <core::int*>[];
-    if(a is self::B*)
-      #t424.{core::List::add}(a{self::B*}.{self::B::foo});
-  } =>#t424;
-  core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t425 = col::LinkedHashSet::•<core::int*>();
-    if(a is self::B*)
-      #t425.{core::Set::add}(a{self::B*}.{self::B::foo});
-  } =>#t425;
-  core::Map<core::int*, core::int*>* map10 = block {
-    final core::Map<core::int*, core::int*>* #t426 = <core::int*, core::int*>{};
-    if(a is self::B*)
-      #t426.{core::Map::[]=}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
-  } =>#t426;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.strong.transformed.expect
deleted file mode 100644
index 68516e9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.strong.transformed.expect
+++ /dev/null
@@ -1,2925 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-//   Map<String, List<int>> map40 = {if (oracle("foo")) ...{"bar", []}, "baz": null};
-//                                  ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   var map82 = {if (oracle("foo")) ...mapToInt else ...dynVar, null};
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:108:44: Error: Expected ':' after this.
-//   Set<dynamic> set10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:109:53: Error: Expected ':' after this.
-//   Map<dynamic, dynamic> map10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:110:61: Error: Expected ':' after this.
-//   Set<dynamic> set11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:111:70: Error: Expected ':' after this.
-//   Map<dynamic, dynamic> map11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:112:35: Error: Expected ':' after this.
-//   var map12 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:113:52: Error: Expected ':' after this.
-//   var map13 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>[if (oracle("foo")) "bar"];
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>{if (oracle("foo")) "bar", null};
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <String, int>{if (oracle("foo")) "bar": "bar", "baz": null};
-//                                           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>[if (oracle("foo")) ...["bar"]];
-//                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>{if (oracle("foo")) ...["bar"], null};
-//                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <String, int>{if (oracle("foo")) ...{"bar": "bar"}, "baz": null};
-//                                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[if (oracle("foo")) ...map];
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{if (oracle("foo")) ...map, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{if (oracle("foo")) ...["bar"], "baz": null};
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String>[if (oracle("foo")) 42 else 3.14];
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String>[if (oracle("foo")) 42 else 3.14];
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String>{if (oracle("foo")) 42 else 3.14, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String>{if (oracle("foo")) 42 else 3.14, null};
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String, String>{if (oracle("foo")) "bar": 42 else "baz": 3.14, "baz": null};
-//                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String, String>{if (oracle("foo")) "bar": 42 else "baz": 3.14, "baz": null};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[if (oracle("foo")) ...map else 42];
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{if (oracle("foo")) ...[42] else "bar": 42, "baz": null};
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[if (oracle("foo")) 42 else ...map];
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{if (oracle("foo")) ...map else 42, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{if (oracle("foo")) "bar": 42 else ...[42], "baz": null};
-//                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:108:24: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-//   Set<dynamic> set10 = {if (oracle("foo")) 42 else "bar": 3.14};
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:110:24: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-//   Set<dynamic> set11 = {if (oracle("foo")) "bar": 3.14 else 42};
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-//   List<int> list20 = [if (42) 42];
-//                           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:115:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-//   Set<int> set20 = {if (42) 42};
-//                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-//   Map<int, int> map30 = {if (42) 42: 42};
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-//   List<String> list40 = <String>[if (oracle("foo")) true else 42];
-//                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   List<String> list40 = <String>[if (oracle("foo")) true else 42];
-//                                                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-//   Set<String> set40 = <String>{if (oracle("foo")) true else 42};
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   Set<String> set40 = <String>{if (oracle("foo")) true else 42};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-//   Map<String, int> map40 = <String, int>{if (oracle("foo")) true: 42 else 42: 42};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   Map<String, int> map40 = <String, int>{if (oracle("foo")) true: 42 else 42: 42};
-//                                                                           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-//   Map<int, String> map41 = <int, String>{if (oracle("foo")) 42: true else 42: 42};
-//                                                                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   Map<int, String> map41 = <int, String>{if (oracle("foo")) 42: true else 42: 42};
-//                                                                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
-//   <int>[for (i in <int>[1]) i];
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
-//   <int>{for (i in <int>[1]) i, null};
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
-// 	<String, int>{for (i in <int>[1]) "bar": i, "baz": null};
-// 	                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:248: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_nnbd_opt_out/control_flow_collection_inference.dart:249: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_nnbd_opt_out/control_flow_collection_inference.dart:250: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_nnbd_opt_out/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>[for (int i = 0; oracle("foo"); i++) "bar"];
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>{for (int i = 0; oracle("foo"); i++) "bar", null};
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) "bar": "bar", "baz": null};
-//                                                  ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) "bar": "bar", "baz": null};
-//                                                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) "bar": "bar", "baz": null};
-//                                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...["bar"]];
-//                                                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...["bar"], null};
-//                                                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...{"bar": "bar"}, "baz": null};
-//                                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[for (int i = 0; oracle("foo"); i++) ...map];
-//                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{for (int i = 0; oracle("foo"); i++) ...map, null};
-//                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <int, int>{for (int i = 0; oracle("foo"); i++) ...list, 42: null};
-//                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14];
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else 3.14, null};
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-//   <String, String>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                                                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-//   <String, String>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else "bar": 3.14, "baz": null};
-//                                                                                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42];
-//                                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...map else 42, null};
-//                                                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) ...list else "bar": 42, "baz": null};
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>[for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map];
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
-//  - 'Map' is from 'dart:core'.
-//   <int>{for (int i = 0; oracle("foo"); i++) if (oracle()) 42 else ...map, null};
-//                                                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
-//  - 'List' is from 'dart:core'.
-//   <String, int>{for (int i = 0; oracle("foo"); i++) if (oracle()) "bar": 42 else ...list, "baz": null};
-//                                                                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:236:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
-//  - 'Iterable' is from 'dart:core'.
-//   var list10 = [for (var i in "not iterable") i];
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:237:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
-//  - 'Iterable' is from 'dart:core'.
-//   var set10 = {for (var i in "not iterable") i, null};
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:238:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
-//  - 'Iterable' is from 'dart:core'.
-//   var map10 = {for (var i in "not iterable") "bar": i, "baz": null};
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var list20 = [for (int i in ["not", "int"]) i];
-//                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var list20 = [for (int i in ["not", "int"]) i];
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var set20 = {for (int i in ["not", "int"]) i, null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var set20 = {for (int i in ["not", "int"]) i, null};
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var map20 = {for (int i in ["not", "int"]) "bar": i, "baz": null};
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var map20 = {for (int i in ["not", "int"]) "bar": i, "baz": null};
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:242:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
-//  - 'Stream' is from 'dart:async'.
-//   var list30 = [await for (var i in "not stream") i];
-//                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:243:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
-//  - 'Stream' is from 'dart:async'.
-//   var set30 = {await for (var i in "not stream") i, null};
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:244:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
-//  - 'Stream' is from 'dart:async'.
-//   var map30 = {await for (var i in "not stream") "bar": i, "baz": null};
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var list40 = [await for (int i in Stream.fromIterable(["not", "int"])) i];
-//                                                          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var list40 = [await for (int i in Stream.fromIterable(["not", "int"])) i];
-//                                                                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var set40 = {await for (int i in Stream.fromIterable(["not", "int"])) i, null};
-//                                                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var set40 = {await for (int i in Stream.fromIterable(["not", "int"])) i, null};
-//                                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var map40 = {await for (int i in Stream.fromIterable(["not", "int"])) "bar": i, "baz": null};
-//                                                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   var map40 = {await for (int i in Stream.fromIterable(["not", "int"])) "bar": i, "baz": null};
-//                                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-//   var list60 = [for (; "not bool";) 42];
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:252:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-//   var set60 = {for (; "not bool";) 42, null};
-//                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-//   var map60 = {for (; "not bool";) "bar": 42, "baz": null};
-//                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:257: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_nnbd_opt_out/control_flow_collection_inference.dart:258: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_nnbd_opt_out/control_flow_collection_inference.dart:259: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};
-//                                  ^^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-import "dart:async" as asy;
-import "dart:_internal" as _in;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {
-  core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t1 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t1.{core::List::add}(42);
-  } =>#t1;
-  core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t2 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t2.{core::Set::add}(42);
-    #t2.{core::Set::add}(null);
-  } =>#t2;
-  core::Map<core::String*, core::int*>* map10 = block {
-    final core::Map<core::String*, core::int*>* #t3 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t3.{core::Map::[]=}("bar", 42);
-    #t3.{core::Map::[]=}("baz", null);
-  } =>#t3;
-  core::List<dynamic>* list11 = block {
-    final core::List<dynamic>* #t4 = <dynamic>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t4.{core::List::add}(dynVar);
-  } =>#t4;
-  core::Set<dynamic>* set11 = block {
-    final core::Set<dynamic>* #t5 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t5.{core::Set::add}(dynVar);
-    #t5.{core::Set::add}(null);
-  } =>#t5;
-  core::Map<core::String*, dynamic>* map11 = block {
-    final core::Map<core::String*, dynamic>* #t6 = <core::String*, dynamic>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t6.{core::Map::[]=}("bar", dynVar);
-    #t6.{core::Map::[]=}("baz", null);
-  } =>#t6;
-  core::List<core::List<core::int*>*>* list12 = block {
-    final core::List<core::List<core::int*>*>* #t7 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t7.{core::List::add}(<core::int*>[42]);
-  } =>#t7;
-  core::Set<core::List<core::int*>*>* set12 = block {
-    final core::Set<core::List<core::int*>*>* #t8 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t8.{core::Set::add}(<core::int*>[42]);
-    #t8.{core::Set::add}(null);
-  } =>#t8;
-  core::Map<core::String*, core::List<core::int*>*>* map12 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t9 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t9.{core::Map::[]=}("bar", <core::int*>[42]);
-    #t9.{core::Map::[]=}("baz", null);
-  } =>#t9;
-  core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t10 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t11 = :sync-for-iterator.{core::Iterator::current};
-        #t10.{core::List::add}(#t11);
-      }
-    }
-  } =>#t10;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t12 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t13 = :sync-for-iterator.{core::Iterator::current};
-        #t12.{core::Set::add}(#t13);
-      }
-    }
-    #t12.{core::Set::add}(null);
-  } =>#t12;
-  core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t15 = :sync-for-iterator.{core::Iterator::current};
-        #t14.{core::Map::[]=}(#t15.{core::MapEntry::key}, #t15.{core::MapEntry::value});
-      }
-    }
-    #t14.{core::Map::[]=}("baz", null);
-  } =>#t14;
-  core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t16 = <dynamic>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t17 = :sync-for-iterator.{core::Iterator::current};
-        #t16.{core::List::add}(#t17);
-      }
-    }
-  } =>#t16;
-  core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t18 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t19 = :sync-for-iterator.{core::Iterator::current};
-        #t18.{core::Set::add}(#t19);
-      }
-    }
-    #t18.{core::Set::add}(null);
-  } =>#t18;
-  core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t20 = <core::String*, dynamic>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, dynamic>* #t21 = :sync-for-iterator.{core::Iterator::current};
-        #t20.{core::Map::[]=}(#t21.{core::MapEntry::key}, #t21.{core::MapEntry::value});
-      }
-    }
-    #t20.{core::Map::[]=}("baz", null);
-  } =>#t20;
-  core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t22 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t23 = :sync-for-iterator.{core::Iterator::current};
-        #t22.{core::List::add}(#t23);
-      }
-    }
-  } =>#t22;
-  core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t24 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t25 = :sync-for-iterator.{core::Iterator::current};
-        #t24.{core::Set::add}(#t25);
-      }
-    }
-    #t24.{core::Set::add}(null);
-  } =>#t24;
-  core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t26 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t27 = :sync-for-iterator.{core::Iterator::current};
-        #t26.{core::Map::[]=}(#t27.{core::MapEntry::key}, #t27.{core::MapEntry::value});
-      }
-    }
-    #t26.{core::Map::[]=}("baz", null);
-  } =>#t26;
-  core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t28 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t29 = :sync-for-iterator.{core::Iterator::current};
-          #t28.{core::List::add}(#t29);
-        }
-      }
-  } =>#t28;
-  core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t30 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t31 = :sync-for-iterator.{core::Iterator::current};
-          #t30.{core::Set::add}(#t31);
-        }
-      }
-    #t30.{core::Set::add}(null);
-  } =>#t30;
-  core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t32 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::int*>* #t33 = :sync-for-iterator.{core::Iterator::current};
-          #t32.{core::Map::[]=}(#t33.{core::MapEntry::key}, #t33.{core::MapEntry::value});
-        }
-      }
-    #t32.{core::Map::[]=}("baz", null);
-  } =>#t32;
-  core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t34 = <dynamic>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t35 = :sync-for-iterator.{core::Iterator::current};
-          #t34.{core::List::add}(#t35);
-        }
-      }
-  } =>#t34;
-  core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t36 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t37 = :sync-for-iterator.{core::Iterator::current};
-          #t36.{core::Set::add}(#t37);
-        }
-      }
-    #t36.{core::Set::add}(null);
-  } =>#t36;
-  core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t38 = <core::String*, dynamic>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, dynamic>* #t39 = :sync-for-iterator.{core::Iterator::current};
-          #t38.{core::Map::[]=}(#t39.{core::MapEntry::key}, #t39.{core::MapEntry::value});
-        }
-      }
-    #t38.{core::Map::[]=}("baz", null);
-  } =>#t38;
-  core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t41 = :sync-for-iterator.{core::Iterator::current};
-          #t40.{core::List::add}(#t41);
-        }
-      }
-  } =>#t40;
-  core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t42 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t43 = :sync-for-iterator.{core::Iterator::current};
-          #t42.{core::Set::add}(#t43);
-        }
-      }
-    #t42.{core::Set::add}(null);
-  } =>#t42;
-  core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t44 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t45 = :sync-for-iterator.{core::Iterator::current};
-          #t44.{core::Map::[]=}(#t45.{core::MapEntry::key}, #t45.{core::MapEntry::value});
-        }
-      }
-    #t44.{core::Map::[]=}("baz", null);
-  } =>#t44;
-  core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t46 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current};
-        #t46.{core::List::add}(#t47);
-      }
-    }
-  } =>#t46;
-  core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t48 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t49 = :sync-for-iterator.{core::Iterator::current};
-        #t48.{core::Set::add}(#t49);
-      }
-    }
-    #t48.{core::Set::add}(null);
-  } =>#t48;
-  core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-  Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
-                                 ^";
-  core::List<core::List<core::int*>*>* list41 = block {
-    final core::List<core::List<core::int*>*>* #t50 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = (let final core::Set<core::List<core::int*>*>* #t51 = col::LinkedHashSet::•<core::List<core::int*>*>() in let final core::bool #t52 = #t51.{core::Set::add}(<core::int*>[]) in #t51).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t53 = :sync-for-iterator.{core::Iterator::current};
-        #t50.{core::List::add}(#t53);
-      }
-    }
-  } =>#t50;
-  core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t54 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = (let final core::Set<core::List<core::int*>*>* #t55 = col::LinkedHashSet::•<core::List<core::int*>*>() in let final core::bool #t56 = #t55.{core::Set::add}(<core::int*>[]) in #t55).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t57 = :sync-for-iterator.{core::Iterator::current};
-        #t54.{core::Set::add}(#t57);
-      }
-    }
-    #t54.{core::Set::add}(null);
-  } =>#t54;
-  core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t58 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t59 = :sync-for-iterator.{core::Iterator::current};
-          #t58.{core::List::add}(#t59);
-        }
-      }
-  } =>#t58;
-  core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t60 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t61 = :sync-for-iterator.{core::Iterator::current};
-          #t60.{core::Set::add}(#t61);
-        }
-      }
-    #t60.{core::Set::add}(null);
-  } =>#t60;
-  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t62 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t63 = :sync-for-iterator.{core::Iterator::current};
-          #t62.{core::Map::[]=}(#t63.{core::MapEntry::key}, #t63.{core::MapEntry::value});
-        }
-      }
-    #t62.{core::Map::[]=}("baz", null);
-  } =>#t62;
-  core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t64 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t65 = :sync-for-iterator.{core::Iterator::current};
-        #t64.{core::List::add}(#t65);
-      }
-    }
-  } =>#t64;
-  core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t66 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t67 = :sync-for-iterator.{core::Iterator::current};
-        #t66.{core::Set::add}(#t67);
-      }
-    }
-    #t66.{core::Set::add}(null);
-  } =>#t66;
-  core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t68 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t69 = :sync-for-iterator.{core::Iterator::current};
-        #t68.{core::Map::[]=}(#t69.{core::MapEntry::key}, #t69.{core::MapEntry::value});
-      }
-    }
-    #t68.{core::Map::[]=}("baz", null);
-  } =>#t68;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t70 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = (let final core::Set<core::int*>* #t71 = col::LinkedHashSet::•<core::int*>() in #t71).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t72 = :sync-for-iterator.{core::Iterator::current};
-        #t70.{core::List::add}(#t72);
-      }
-    }
-  } =>#t70;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t73 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = (let final core::Set<core::int*>* #t74 = col::LinkedHashSet::•<core::int*>() in #t74).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t75 = :sync-for-iterator.{core::Iterator::current};
-        #t73.{core::Set::add}(#t75);
-      }
-    }
-    #t73.{core::Set::add}(null);
-  } =>#t73;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t76 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t77 = :sync-for-iterator.{core::Iterator::current};
-          #t76.{core::List::add}(#t77);
-        }
-      }
-  } =>#t76;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t78 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t79 = :sync-for-iterator.{core::Iterator::current};
-          #t78.{core::Set::add}(#t79);
-        }
-      }
-    #t78.{core::Set::add}(null);
-  } =>#t78;
-  core::Map<core::String*, core::int*>* map52 = block {
-    final core::Map<core::String*, core::int*>* #t80 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::int*>* #t81 = :sync-for-iterator.{core::Iterator::current};
-          #t80.{core::Map::[]=}(#t81.{core::MapEntry::key}, #t81.{core::MapEntry::value});
-        }
-      }
-    #t80.{core::Map::[]=}("baz", null);
-  } =>#t80;
-  core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t82 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t83 = :sync-for-iterator.{core::Iterator::current};
-        #t82.{core::List::add}(#t83);
-      }
-    }
-  } =>#t82;
-  core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t84 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t85 = :sync-for-iterator.{core::Iterator::current};
-        #t84.{core::Set::add}(#t85);
-      }
-    }
-    #t84.{core::Set::add}(null);
-  } =>#t84;
-  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t86 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t87 = :sync-for-iterator.{core::Iterator::current};
-        #t86.{core::Map::[]=}(#t87.{core::MapEntry::key}, #t87.{core::MapEntry::value});
-      }
-    }
-    #t86.{core::Map::[]=}("baz", null);
-  } =>#t86;
-  core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t88 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t89 = :sync-for-iterator.{core::Iterator::current};
-          #t88.{core::List::add}(#t89);
-        }
-      }
-  } =>#t88;
-  core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t90 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t91 = :sync-for-iterator.{core::Iterator::current};
-          #t90.{core::Set::add}(#t91);
-        }
-      }
-    #t90.{core::Set::add}(null);
-  } =>#t90;
-  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t92 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t93 = :sync-for-iterator.{core::Iterator::current};
-          #t92.{core::Map::[]=}(#t93.{core::MapEntry::key}, #t93.{core::MapEntry::value});
-        }
-      }
-    #t92.{core::Map::[]=}("baz", null);
-  } =>#t92;
-  core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t94 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t94.{core::List::add}(<core::int*>[]);
-  } =>#t94;
-  core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t95 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t95.{core::Set::add}(<core::int*>[]);
-    #t95.{core::Set::add}(null);
-  } =>#t95;
-  core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t96 = <core::List<core::int*>*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t96.{core::List::add}(<core::int*>[]);
-  } =>#t96;
-  core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t97 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t97.{core::Set::add}(<core::int*>[]);
-    #t97.{core::Set::add}(null);
-  } =>#t97;
-  core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t98 = <core::num*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t98.{core::List::add}(42);
-    else
-      #t98.{core::List::add}(3.14);
-  } =>#t98;
-  core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t99 = col::LinkedHashSet::•<core::num*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t99.{core::Set::add}(42);
-    else
-      #t99.{core::Set::add}(3.14);
-    #t99.{core::Set::add}(null);
-  } =>#t99;
-  core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t100 = <core::String*, core::num*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t100.{core::Map::[]=}("bar", 42);
-    else
-      #t100.{core::Map::[]=}("bar", 3.14);
-    #t100.{core::Map::[]=}("baz", null);
-  } =>#t100;
-  core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t101 = <core::num*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::num* #t102 = :sync-for-iterator.{core::Iterator::current};
-        #t101.{core::List::add}(#t102);
-      }
-    }
-    else {
-      core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::num* #t103 = :sync-for-iterator.{core::Iterator::current};
-        #t101.{core::List::add}(#t103);
-      }
-    }
-  } =>#t101;
-  core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t104 = col::LinkedHashSet::•<core::num*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::num* #t105 = :sync-for-iterator.{core::Iterator::current};
-        #t104.{core::Set::add}(#t105);
-      }
-    }
-    else {
-      core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::num* #t106 = :sync-for-iterator.{core::Iterator::current};
-        #t104.{core::Set::add}(#t106);
-      }
-    }
-    #t104.{core::Set::add}(null);
-  } =>#t104;
-  core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t107 = <core::String*, core::num*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapToInt.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::num*>* #t108 = :sync-for-iterator.{core::Iterator::current};
-        #t107.{core::Map::[]=}(#t108.{core::MapEntry::key}, #t108.{core::MapEntry::value});
-      }
-    }
-    else {
-      core::Iterator<core::MapEntry<core::String*, core::double*>>* :sync-for-iterator = mapToDouble.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::num*>* #t109 = :sync-for-iterator.{core::Iterator::current};
-        #t107.{core::Map::[]=}(#t109.{core::MapEntry::key}, #t109.{core::MapEntry::value});
-      }
-    }
-    #t107.{core::Map::[]=}("baz", null);
-  } =>#t107;
-  core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t110 = <dynamic>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t111 = :sync-for-iterator.{core::Iterator::current};
-        #t110.{core::List::add}(#t111);
-      }
-    }
-    else {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t112 = :sync-for-iterator.{core::Iterator::current};
-        #t110.{core::List::add}(#t112);
-      }
-    }
-  } =>#t110;
-  core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t113 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t114 = :sync-for-iterator.{core::Iterator::current};
-        #t113.{core::Set::add}(#t114);
-      }
-    }
-    else {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t115 = :sync-for-iterator.{core::Iterator::current};
-        #t113.{core::Set::add}(#t115);
-      }
-    }
-    #t113.{core::Set::add}(null);
-  } =>#t113;
-  core::Set<dynamic>* map82 = block {
-    final core::Set<dynamic>* #t116 = col::LinkedHashSet::•<dynamic>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t116.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
-                                     ^");
-    else {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t117 = :sync-for-iterator.{core::Iterator::current};
-        #t116.{core::Set::add}(#t117);
-      }
-    }
-    #t116.{core::Set::add}(null);
-  } =>#t116;
-  core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t118 = <core::num*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t118.{core::List::add}(42);
-    else {
-      core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::num* #t119 = :sync-for-iterator.{core::Iterator::current};
-        #t118.{core::List::add}(#t119);
-      }
-    }
-  } =>#t118;
-  core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t120 = col::LinkedHashSet::•<core::num*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::num* #t121 = :sync-for-iterator.{core::Iterator::current};
-        #t120.{core::Set::add}(#t121);
-      }
-    }
-    else
-      #t120.{core::Set::add}(3.14);
-    #t120.{core::Set::add}(null);
-  } =>#t120;
-  core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t122 = <core::String*, core::num*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapToInt.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::num*>* #t123 = :sync-for-iterator.{core::Iterator::current};
-        #t122.{core::Map::[]=}(#t123.{core::MapEntry::key}, #t123.{core::MapEntry::value});
-      }
-    }
-    else
-      #t122.{core::Map::[]=}("bar", 3.14);
-    #t122.{core::Map::[]=}("baz", null);
-  } =>#t122;
-  core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t124 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t124.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
-  } =>#t124;
-  core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t125 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t125.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
-    #t125.{core::Set::add}(null);
-  } =>#t125;
-  core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t126 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t126.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
-    #t126.{core::Map::[]=}("baz", null);
-  } =>#t126;
-  core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t127 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t128 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t129 = #t128 as{TypeError} core::int*;
-          #t127.{core::List::add}(#t129);
-        }
-      }
-    }
-  } =>#t127;
-  core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t130 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t131 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t132 = #t131 as{TypeError} core::int*;
-          #t130.{core::Set::add}(#t132);
-        }
-      }
-    }
-    #t130.{core::Set::add}(null);
-  } =>#t130;
-  core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t133 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<dynamic, dynamic>* #t134 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::String* #t135 = #t134.{core::MapEntry::key} as{TypeError} core::String*;
-          final core::int* #t136 = #t134.{core::MapEntry::value} as{TypeError} core::int*;
-          #t133.{core::Map::[]=}(#t135, #t136);
-        }
-      }
-    }
-    #t133.{core::Map::[]=}("baz", null);
-  } =>#t133;
-  core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t137 = <core::int*>[];
-    if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t137.{core::List::add}(42);
-  } =>#t137;
-  core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t138 = col::LinkedHashSet::•<core::int*>();
-    if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t138.{core::Set::add}(42);
-  } =>#t138;
-  core::Map<core::int*, core::int*>* map100 = block {
-    final core::Map<core::int*, core::int*>* #t139 = <core::int*, core::int*>{};
-    if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t139.{core::Map::[]=}(42, 42);
-  } =>#t139;
-}
-static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
-  block {
-    final core::List<core::int*>* #t140 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t140.{core::List::add}(let final<BottomType> #t141 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>[if (oracle(\"foo\")) \"bar\"];
-                           ^" in "bar" as{TypeError} core::int*);
-  } =>#t140;
-  block {
-    final core::Set<core::int*>* #t142 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t142.{core::Set::add}(let final<BottomType> #t143 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>{if (oracle(\"foo\")) \"bar\", null};
-                           ^" in "bar" as{TypeError} core::int*);
-    #t142.{core::Set::add}(null);
-  } =>#t142;
-  block {
-    final core::Map<core::String*, core::int*>* #t144 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t144.{core::Map::[]=}("bar", let final<BottomType> #t145 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
-                                          ^" in "bar" as{TypeError} core::int*);
-    #t144.{core::Map::[]=}("baz", null);
-  } =>#t144;
-  block {
-    final core::List<core::int*>* #t146 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[let final<BottomType> #t147 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>[if (oracle(\"foo\")) ...[\"bar\"]];
-                               ^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t148 = :sync-for-iterator.{core::Iterator::current};
-        #t146.{core::List::add}(#t148);
-      }
-    }
-  } =>#t146;
-  block {
-    final core::Set<core::int*>* #t149 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[let final<BottomType> #t150 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>{if (oracle(\"foo\")) ...[\"bar\"], null};
-                               ^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t151 = :sync-for-iterator.{core::Iterator::current};
-        #t149.{core::Set::add}(#t151);
-      }
-    }
-    #t149.{core::Set::add}(null);
-  } =>#t149;
-  block {
-    final core::Map<core::String*, core::int*>* #t152 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": let final<BottomType> #t153 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                              ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t154 = :sync-for-iterator.{core::Iterator::current};
-        #t152.{core::Map::[]=}(#t154.{core::MapEntry::key}, #t154.{core::MapEntry::value});
-      }
-    }
-    #t152.{core::Map::[]=}("baz", null);
-  } =>#t152;
-  block {
-    final core::List<core::int*>* #t155 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t155.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[if (oracle(\"foo\")) ...map];
-                              ^");
-  } =>#t155;
-  block {
-    final core::Set<core::int*>* #t156 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t156.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{if (oracle(\"foo\")) ...map, null};
-                              ^");
-    #t156.{core::Set::add}(null);
-  } =>#t156;
-  <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
-                                      ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
-                                      ^": null};
-  block {
-    final core::List<core::String*>* #t157 = <core::String*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t157.{core::List::add}(let final<BottomType> #t158 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String>[if (oracle(\"foo\")) 42 else 3.14];
-                              ^" in 42 as{TypeError} core::String*);
-    else
-      #t157.{core::List::add}(let final<BottomType> #t159 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String>[if (oracle(\"foo\")) 42 else 3.14];
-                                      ^" in 3.14 as{TypeError} core::String*);
-  } =>#t157;
-  block {
-    final core::Set<core::String*>* #t160 = col::LinkedHashSet::•<core::String*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t160.{core::Set::add}(let final<BottomType> #t161 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String>{if (oracle(\"foo\")) 42 else 3.14, null};
-                              ^" in 42 as{TypeError} core::String*);
-    else
-      #t160.{core::Set::add}(let final<BottomType> #t162 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String>{if (oracle(\"foo\")) 42 else 3.14, null};
-                                      ^" in 3.14 as{TypeError} core::String*);
-    #t160.{core::Set::add}(null);
-  } =>#t160;
-  block {
-    final core::Map<core::String*, core::String*>* #t163 = <core::String*, core::String*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t163.{core::Map::[]=}("bar", let final<BottomType> #t164 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
-                                             ^" in 42 as{TypeError} core::String*);
-    else
-      #t163.{core::Map::[]=}("baz", let final<BottomType> #t165 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
-                                                            ^" in 3.14 as{TypeError} core::String*);
-    #t163.{core::Map::[]=}("baz", null);
-  } =>#t163;
-  block {
-    final core::List<core::int*>* #t166 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t166.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[if (oracle(\"foo\")) ...map else 42];
-                              ^");
-    else
-      #t166.{core::List::add}(42);
-  } =>#t166;
-  block {
-    final core::Set<core::int*>* #t167 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t167.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{if (oracle(\"foo\")) ...map else 42, null};
-                              ^");
-    else
-      #t167.{core::Set::add}(42);
-    #t167.{core::Set::add}(null);
-  } =>#t167;
-  <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
-                                      ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
-                                      ^": null};
-  block {
-    final core::List<core::int*>* #t168 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t168.{core::List::add}(42);
-    else
-      #t168.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[if (oracle(\"foo\")) 42 else ...map];
-                                      ^");
-  } =>#t168;
-  block {
-    final core::Set<core::int*>* #t169 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t169.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{if (oracle(\"foo\")) ...map else 42, null};
-                              ^");
-    else
-      #t169.{core::Set::add}(42);
-    #t169.{core::Set::add}(null);
-  } =>#t169;
-  <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
-                                                     ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
-                                                     ^": null};
-  core::Set<dynamic>* set10 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:108:24: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-  Set<dynamic> set10 = {if (oracle(\"foo\")) 42 else \"bar\": 3.14};
-                       ^";
-  core::Map<dynamic, dynamic>* map10 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:109:53: Error: Expected ':' after this.
-  Map<dynamic, dynamic> map10 = {if (oracle(\"foo\")) 42 else \"bar\": 3.14};
-                                                    ^": null};
-  core::Set<dynamic>* set11 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:110:24: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-  Set<dynamic> set11 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
-                       ^";
-  core::Map<dynamic, dynamic>* map11 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:111:70: Error: Expected ':' after this.
-  Map<dynamic, dynamic> map11 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
-                                                                     ^": null};
-  core::Map<dynamic, core::Null?>* map12 = <dynamic, core::Null?>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:112:35: Error: Expected ':' after this.
-  var map12 = {if (oracle(\"foo\")) 42 else \"bar\": 3.14};
-                                  ^": null};
-  core::Map<dynamic, core::Null?>* map13 = <dynamic, core::Null?>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:113:52: Error: Expected ':' after this.
-  var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
-                                                   ^": null};
-  core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t170 = <core::int*>[];
-    if(let final<BottomType> #t171 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-  List<int> list20 = [if (42) 42];
-                          ^" in 42 as{TypeError} core::bool*)
-      #t170.{core::List::add}(42);
-  } =>#t170;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t172 = col::LinkedHashSet::•<core::int*>();
-    if(let final<BottomType> #t173 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:115:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-  Set<int> set20 = {if (42) 42};
-                        ^" in 42 as{TypeError} core::bool*)
-      #t172.{core::Set::add}(42);
-  } =>#t172;
-  core::Map<core::int*, core::int*>* map30 = block {
-    final core::Map<core::int*, core::int*>* #t174 = <core::int*, core::int*>{};
-    if(let final<BottomType> #t175 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
-  Map<int, int> map30 = {if (42) 42: 42};
-                             ^" in 42 as{TypeError} core::bool*)
-      #t174.{core::Map::[]=}(42, 42);
-  } =>#t174;
-  core::List<core::String*>* list40 = block {
-    final core::List<core::String*>* #t176 = <core::String*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t176.{core::List::add}(let final<BottomType> #t177 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-  List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
-                                                    ^" in true as{TypeError} core::String*);
-    else
-      #t176.{core::List::add}(let final<BottomType> #t178 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
-                                                              ^" in 42 as{TypeError} core::String*);
-  } =>#t176;
-  core::Set<core::String*>* set40 = block {
-    final core::Set<core::String*>* #t179 = col::LinkedHashSet::•<core::String*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t179.{core::Set::add}(let final<BottomType> #t180 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-  Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
-                                                  ^" in true as{TypeError} core::String*);
-    else
-      #t179.{core::Set::add}(let final<BottomType> #t181 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
-                                                            ^" in 42 as{TypeError} core::String*);
-  } =>#t179;
-  core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t182 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t182.{core::Map::[]=}(let final<BottomType> #t183 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-  Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
-                                                            ^" in true as{TypeError} core::String*, 42);
-    else
-      #t182.{core::Map::[]=}(let final<BottomType> #t184 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
-                                                                          ^" in 42 as{TypeError} core::String*, 42);
-  } =>#t182;
-  core::Map<core::int*, core::String*>* map41 = block {
-    final core::Map<core::int*, core::String*>* #t185 = <core::int*, core::String*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t185.{core::Map::[]=}(42, let final<BottomType> #t186 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
-  Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
-                                                                ^" in true as{TypeError} core::String*);
-    else
-      #t185.{core::Map::[]=}(42, let final<BottomType> #t187 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
-                                                                              ^" in 42 as{TypeError} core::String*);
-  } =>#t185;
-}
-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 {
-  core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t188 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t188.{core::List::add}(42);
-  } =>#t188;
-  core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t189 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t189.{core::Set::add}(42);
-    #t189.{core::Set::add}(null);
-  } =>#t189;
-  core::Map<core::String*, core::int*>* map10 = block {
-    final core::Map<core::String*, core::int*>* #t190 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t190.{core::Map::[]=}("bar", 42);
-    #t190.{core::Map::[]=}("baz", null);
-  } =>#t190;
-  core::List<dynamic>* list11 = block {
-    final core::List<dynamic>* #t191 = <dynamic>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t191.{core::List::add}(dynVar);
-  } =>#t191;
-  core::Set<dynamic>* set11 = block {
-    final core::Set<dynamic>* #t192 = col::LinkedHashSet::•<dynamic>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t192.{core::Set::add}(dynVar);
-    #t192.{core::Set::add}(null);
-  } =>#t192;
-  core::Map<core::String*, dynamic>* map11 = block {
-    final core::Map<core::String*, dynamic>* #t193 = <core::String*, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t193.{core::Map::[]=}("bar", dynVar);
-    #t193.{core::Map::[]=}("baz", null);
-  } =>#t193;
-  core::List<core::List<core::int*>*>* list12 = block {
-    final core::List<core::List<core::int*>*>* #t194 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t194.{core::List::add}(<core::int*>[42]);
-  } =>#t194;
-  core::Set<core::List<core::int*>*>* set12 = block {
-    final core::Set<core::List<core::int*>*>* #t195 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t195.{core::Set::add}(<core::int*>[42]);
-    #t195.{core::Set::add}(null);
-  } =>#t195;
-  core::Map<core::String*, core::List<core::int*>*>* map12 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t196 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t196.{core::Map::[]=}("bar", <core::int*>[42]);
-    #t196.{core::Map::[]=}("baz", null);
-  } =>#t196;
-  core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t197 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t198 = :sync-for-iterator.{core::Iterator::current};
-        #t197.{core::List::add}(#t198);
-      }
-    }
-  } =>#t197;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t199 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t200 = :sync-for-iterator.{core::Iterator::current};
-        #t199.{core::Set::add}(#t200);
-      }
-    }
-    #t199.{core::Set::add}(null);
-  } =>#t199;
-  core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t201 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t202 = :sync-for-iterator.{core::Iterator::current};
-        #t201.{core::Map::[]=}(#t202.{core::MapEntry::key}, #t202.{core::MapEntry::value});
-      }
-    }
-    #t201.{core::Map::[]=}("baz", null);
-  } =>#t201;
-  core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t203 = <dynamic>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t204 = :sync-for-iterator.{core::Iterator::current};
-        #t203.{core::List::add}(#t204);
-      }
-    }
-  } =>#t203;
-  core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t205 = col::LinkedHashSet::•<dynamic>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t206 = :sync-for-iterator.{core::Iterator::current};
-        #t205.{core::Set::add}(#t206);
-      }
-    }
-    #t205.{core::Set::add}(null);
-  } =>#t205;
-  core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t207 = <core::String*, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, dynamic>* #t208 = :sync-for-iterator.{core::Iterator::current};
-        #t207.{core::Map::[]=}(#t208.{core::MapEntry::key}, #t208.{core::MapEntry::value});
-      }
-    }
-    #t207.{core::Map::[]=}("baz", null);
-  } =>#t207;
-  core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t209 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t210 = :sync-for-iterator.{core::Iterator::current};
-        #t209.{core::List::add}(#t210);
-      }
-    }
-  } =>#t209;
-  core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t211 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t212 = :sync-for-iterator.{core::Iterator::current};
-        #t211.{core::Set::add}(#t212);
-      }
-    }
-    #t211.{core::Set::add}(null);
-  } =>#t211;
-  core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t213 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t214 = :sync-for-iterator.{core::Iterator::current};
-        #t213.{core::Map::[]=}(#t214.{core::MapEntry::key}, #t214.{core::MapEntry::value});
-      }
-    }
-    #t213.{core::Map::[]=}("baz", null);
-  } =>#t213;
-  core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t215 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t216 = :sync-for-iterator.{core::Iterator::current};
-          #t215.{core::List::add}(#t216);
-        }
-      }
-  } =>#t215;
-  core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t217 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[42].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t218 = :sync-for-iterator.{core::Iterator::current};
-          #t217.{core::Set::add}(#t218);
-        }
-      }
-    #t217.{core::Set::add}(null);
-  } =>#t217;
-  core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t219 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::int*>* #t220 = :sync-for-iterator.{core::Iterator::current};
-          #t219.{core::Map::[]=}(#t220.{core::MapEntry::key}, #t220.{core::MapEntry::value});
-        }
-      }
-    #t219.{core::Map::[]=}("baz", null);
-  } =>#t219;
-  core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t221 = <dynamic>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t222 = :sync-for-iterator.{core::Iterator::current};
-          #t221.{core::List::add}(#t222);
-        }
-      }
-  } =>#t221;
-  core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t223 = col::LinkedHashSet::•<dynamic>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[dynVar].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t224 = :sync-for-iterator.{core::Iterator::current};
-          #t223.{core::Set::add}(#t224);
-        }
-      }
-    #t223.{core::Set::add}(null);
-  } =>#t223;
-  core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t225 = <core::String*, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, dynamic>* #t226 = :sync-for-iterator.{core::Iterator::current};
-          #t225.{core::Map::[]=}(#t226.{core::MapEntry::key}, #t226.{core::MapEntry::value});
-        }
-      }
-    #t225.{core::Map::[]=}("baz", null);
-  } =>#t225;
-  core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t227 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t228 = :sync-for-iterator.{core::Iterator::current};
-          #t227.{core::List::add}(#t228);
-        }
-      }
-  } =>#t227;
-  core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t229 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[42]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t230 = :sync-for-iterator.{core::Iterator::current};
-          #t229.{core::Set::add}(#t230);
-        }
-      }
-    #t229.{core::Set::add}(null);
-  } =>#t229;
-  core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t231 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t232 = :sync-for-iterator.{core::Iterator::current};
-          #t231.{core::Map::[]=}(#t232.{core::MapEntry::key}, #t232.{core::MapEntry::value});
-        }
-      }
-    #t231.{core::Map::[]=}("baz", null);
-  } =>#t231;
-  core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t233 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t234 = :sync-for-iterator.{core::Iterator::current};
-        #t233.{core::List::add}(#t234);
-      }
-    }
-  } =>#t233;
-  core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t235 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t236 = :sync-for-iterator.{core::Iterator::current};
-        #t235.{core::Set::add}(#t236);
-      }
-    }
-    #t235.{core::Set::add}(null);
-  } =>#t235;
-  core::Map<core::String*, core::List<core::int*>*>* map40 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t237 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t238 = :sync-for-iterator.{core::Iterator::current};
-        #t237.{core::Map::[]=}(#t238.{core::MapEntry::key}, #t238.{core::MapEntry::value});
-      }
-    }
-    #t237.{core::Map::[]=}("baz", null);
-  } =>#t237;
-  core::List<core::List<core::int*>*>* list41 = block {
-    final core::List<core::List<core::int*>*>* #t239 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = (let final core::Set<core::List<core::int*>*>* #t240 = col::LinkedHashSet::•<core::List<core::int*>*>() in let final core::bool #t241 = #t240.{core::Set::add}(<core::int*>[]) in #t240).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t242 = :sync-for-iterator.{core::Iterator::current};
-        #t239.{core::List::add}(#t242);
-      }
-    }
-  } =>#t239;
-  core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t243 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = (let final core::Set<core::List<core::int*>*>* #t244 = col::LinkedHashSet::•<core::List<core::int*>*>() in let final core::bool #t245 = #t244.{core::Set::add}(<core::int*>[]) in #t244).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t246 = :sync-for-iterator.{core::Iterator::current};
-        #t243.{core::Set::add}(#t246);
-      }
-    }
-    #t243.{core::Set::add}(null);
-  } =>#t243;
-  core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t247 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t248 = :sync-for-iterator.{core::Iterator::current};
-          #t247.{core::List::add}(#t248);
-        }
-      }
-  } =>#t247;
-  core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t249 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t250 = :sync-for-iterator.{core::Iterator::current};
-          #t249.{core::Set::add}(#t250);
-        }
-      }
-    #t249.{core::Set::add}(null);
-  } =>#t249;
-  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t251 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t252 = :sync-for-iterator.{core::Iterator::current};
-          #t251.{core::Map::[]=}(#t252.{core::MapEntry::key}, #t252.{core::MapEntry::value});
-        }
-      }
-    #t251.{core::Map::[]=}("baz", null);
-  } =>#t251;
-  core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t253 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t254 = :sync-for-iterator.{core::Iterator::current};
-        #t253.{core::List::add}(#t254);
-      }
-    }
-  } =>#t253;
-  core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t255 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t256 = :sync-for-iterator.{core::Iterator::current};
-        #t255.{core::Set::add}(#t256);
-      }
-    }
-    #t255.{core::Set::add}(null);
-  } =>#t255;
-  core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t257 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t258 = :sync-for-iterator.{core::Iterator::current};
-        #t257.{core::Map::[]=}(#t258.{core::MapEntry::key}, #t258.{core::MapEntry::value});
-      }
-    }
-    #t257.{core::Map::[]=}("baz", null);
-  } =>#t257;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t259 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::int*>* :sync-for-iterator = (let final core::Set<core::int*>* #t260 = col::LinkedHashSet::•<core::int*>() in #t260).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t261 = :sync-for-iterator.{core::Iterator::current};
-        #t259.{core::List::add}(#t261);
-      }
-    }
-  } =>#t259;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t262 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::int*>* :sync-for-iterator = (let final core::Set<core::int*>* #t263 = col::LinkedHashSet::•<core::int*>() in #t263).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t264 = :sync-for-iterator.{core::Iterator::current};
-        #t262.{core::Set::add}(#t264);
-      }
-    }
-    #t262.{core::Set::add}(null);
-  } =>#t262;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t265 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t266 = :sync-for-iterator.{core::Iterator::current};
-          #t265.{core::List::add}(#t266);
-        }
-      }
-  } =>#t265;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t267 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t268 = :sync-for-iterator.{core::Iterator::current};
-          #t267.{core::Set::add}(#t268);
-        }
-      }
-    #t267.{core::Set::add}(null);
-  } =>#t267;
-  core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t269 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t270 = :sync-for-iterator.{core::Iterator::current};
-        #t269.{core::List::add}(#t270);
-      }
-    }
-  } =>#t269;
-  core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t271 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t272 = :sync-for-iterator.{core::Iterator::current};
-        #t271.{core::Set::add}(#t272);
-      }
-    }
-    #t271.{core::Set::add}(null);
-  } =>#t271;
-  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t273 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t274 = :sync-for-iterator.{core::Iterator::current};
-        #t273.{core::Map::[]=}(#t274.{core::MapEntry::key}, #t274.{core::MapEntry::value});
-      }
-    }
-    #t273.{core::Map::[]=}("baz", null);
-  } =>#t273;
-  core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t275 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t276 = :sync-for-iterator.{core::Iterator::current};
-          #t275.{core::List::add}(#t276);
-        }
-      }
-  } =>#t275;
-  core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t277 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::List<core::int*>* #t278 = :sync-for-iterator.{core::Iterator::current};
-          #t277.{core::Set::add}(#t278);
-        }
-      }
-    #t277.{core::Set::add}(null);
-  } =>#t277;
-  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t279 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t280 = :sync-for-iterator.{core::Iterator::current};
-          #t279.{core::Map::[]=}(#t280.{core::MapEntry::key}, #t280.{core::MapEntry::value});
-        }
-      }
-    #t279.{core::Map::[]=}("baz", null);
-  } =>#t279;
-  core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t281 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t281.{core::List::add}(<core::int*>[]);
-  } =>#t281;
-  core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t282 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t282.{core::Set::add}(<core::int*>[]);
-    #t282.{core::Set::add}(null);
-  } =>#t282;
-  core::Map<core::String*, core::List<core::int*>*>* map70 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t283 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t283.{core::Map::[]=}("bar", <core::int*>[]);
-    #t283.{core::Map::[]=}("baz", null);
-  } =>#t283;
-  core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t284 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t284.{core::List::add}(<core::int*>[]);
-  } =>#t284;
-  core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t285 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t285.{core::Set::add}(<core::int*>[]);
-    #t285.{core::Set::add}(null);
-  } =>#t285;
-  core::Map<core::String*, core::List<core::int*>*>* map71 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t286 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t286.{core::Map::[]=}("bar", <core::int*>[]);
-    #t286.{core::Map::[]=}("baz", null);
-  } =>#t286;
-  core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t287 = <core::num*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t287.{core::List::add}(42);
-      else
-        #t287.{core::List::add}(3.14);
-  } =>#t287;
-  core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t288 = col::LinkedHashSet::•<core::num*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t288.{core::Set::add}(42);
-      else
-        #t288.{core::Set::add}(3.14);
-    #t288.{core::Set::add}(null);
-  } =>#t288;
-  core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t289 = <core::String*, core::num*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t289.{core::Map::[]=}("bar", 42);
-      else
-        #t289.{core::Map::[]=}("bar", 3.14);
-    #t289.{core::Map::[]=}("baz", null);
-  } =>#t289;
-  core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t290 = <core::num*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::num* #t291 = :sync-for-iterator.{core::Iterator::current};
-          #t290.{core::List::add}(#t291);
-        }
-      }
-      else {
-        core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::num* #t292 = :sync-for-iterator.{core::Iterator::current};
-          #t290.{core::List::add}(#t292);
-        }
-      }
-  } =>#t290;
-  core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t293 = col::LinkedHashSet::•<core::num*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::num* #t294 = :sync-for-iterator.{core::Iterator::current};
-          #t293.{core::Set::add}(#t294);
-        }
-      }
-      else {
-        core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::num* #t295 = :sync-for-iterator.{core::Iterator::current};
-          #t293.{core::Set::add}(#t295);
-        }
-      }
-    #t293.{core::Set::add}(null);
-  } =>#t293;
-  core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t296 = <core::String*, core::num*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::num*>* #t297 = :sync-for-iterator.{core::Iterator::current};
-          #t296.{core::Map::[]=}(#t297.{core::MapEntry::key}, #t297.{core::MapEntry::value});
-        }
-      }
-      else {
-        core::Iterator<core::MapEntry<core::String*, core::double*>>* :sync-for-iterator = mapStringDouble.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::num*>* #t298 = :sync-for-iterator.{core::Iterator::current};
-          #t296.{core::Map::[]=}(#t298.{core::MapEntry::key}, #t298.{core::MapEntry::value});
-        }
-      }
-    #t296.{core::Map::[]=}("baz", null);
-  } =>#t296;
-  core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t299 = <dynamic>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t300 = :sync-for-iterator.{core::Iterator::current};
-          #t299.{core::List::add}(#t300);
-        }
-      }
-      else {
-        core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t301 = :sync-for-iterator.{core::Iterator::current};
-          #t299.{core::List::add}(#t301);
-        }
-      }
-  } =>#t299;
-  core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t302 = col::LinkedHashSet::•<dynamic>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t303 = :sync-for-iterator.{core::Iterator::current};
-          #t302.{core::Set::add}(#t303);
-        }
-      }
-      else {
-        core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t304 = :sync-for-iterator.{core::Iterator::current};
-          #t302.{core::Set::add}(#t304);
-        }
-      }
-    #t302.{core::Set::add}(null);
-  } =>#t302;
-  core::Map<dynamic, dynamic>* map82 = block {
-    final core::Map<dynamic, dynamic>* #t305 = <dynamic, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<dynamic, dynamic>* #t306 = :sync-for-iterator.{core::Iterator::current};
-          #t305.{core::Map::[]=}(#t306.{core::MapEntry::key}, #t306.{core::MapEntry::value});
-        }
-      }
-      else {
-        core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<dynamic, dynamic>* #t307 = :sync-for-iterator.{core::Iterator::current};
-          #t305.{core::Map::[]=}(#t307.{core::MapEntry::key}, #t307.{core::MapEntry::value});
-        }
-      }
-    #t305.{core::Map::[]=}("baz", null);
-  } =>#t305;
-  core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t308 = <core::num*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t308.{core::List::add}(42);
-      else {
-        core::Iterator<core::double*>* :sync-for-iterator = listDouble.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::num* #t309 = :sync-for-iterator.{core::Iterator::current};
-          #t308.{core::List::add}(#t309);
-        }
-      }
-  } =>#t308;
-  core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t310 = col::LinkedHashSet::•<core::num*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::int*>* :sync-for-iterator = listInt.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::num* #t311 = :sync-for-iterator.{core::Iterator::current};
-          #t310.{core::Set::add}(#t311);
-        }
-      }
-      else
-        #t310.{core::Set::add}(3.14);
-    #t310.{core::Set::add}(null);
-  } =>#t310;
-  core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t312 = <core::String*, core::num*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::MapEntry<core::String*, core::num*>* #t313 = :sync-for-iterator.{core::Iterator::current};
-          #t312.{core::Map::[]=}(#t313.{core::MapEntry::key}, #t313.{core::MapEntry::value});
-        }
-      }
-      else
-        #t312.{core::Map::[]=}("bar", 3.14);
-    #t312.{core::Map::[]=}("baz", null);
-  } =>#t312;
-  core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t314 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t314.{core::List::add}(dynVar as{TypeError,ForDynamic} core::int*);
-  } =>#t314;
-  core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t315 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t315.{core::Set::add}(dynVar as{TypeError,ForDynamic} core::int*);
-    #t315.{core::Set::add}(null);
-  } =>#t315;
-  core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t316 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-      #t316.{core::Map::[]=}("bar", dynVar as{TypeError,ForDynamic} core::int*);
-    #t316.{core::Map::[]=}("baz", null);
-  } =>#t316;
-  core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t317 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t318 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t319 = #t318 as{TypeError} core::int*;
-          #t317.{core::List::add}(#t319);
-        }
-      }
-    }
-  } =>#t317;
-  core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t320 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t321 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t322 = #t321 as{TypeError} core::int*;
-          #t320.{core::Set::add}(#t322);
-        }
-      }
-    }
-    #t320.{core::Set::add}(null);
-  } =>#t320;
-  core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t323 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<dynamic, dynamic>* #t324 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::String* #t325 = #t324.{core::MapEntry::key} as{TypeError} core::String*;
-          final core::int* #t326 = #t324.{core::MapEntry::value} as{TypeError} core::int*;
-          #t323.{core::Map::[]=}(#t325, #t326);
-        }
-      }
-    }
-    #t323.{core::Map::[]=}("baz", null);
-  } =>#t323;
-  core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t327 = <core::int*>[];
-    for (final core::int* #t328 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
-      #t327.{core::List::add}(42);
-  } =>#t327;
-  core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t329 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t330 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
-      #t329.{core::Set::add}(42);
-  } =>#t329;
-  core::Map<core::String*, core::int*>* map100 = block {
-    final core::Map<core::String*, core::int*>* #t331 = <core::String*, core::int*>{};
-    for (final core::int* #t332 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1))
-      #t331.{core::Map::[]=}("bar", 42);
-  } =>#t331;
-  core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t333 = <core::int*>[];
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        #t333.{core::List::add}(i);
-      }
-    }
-  } =>#t333;
-  core::Set<core::int*>* set110 = block {
-    final core::Set<core::int*>* #t334 = col::LinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        #t334.{core::Set::add}(i);
-      }
-    }
-    #t334.{core::Set::add}(null);
-  } =>#t334;
-  core::Map<core::String*, core::int*>* map110 = block {
-    final core::Map<core::String*, core::int*>* #t335 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1, 2, 3].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        core::int* i = :sync-for-iterator.{core::Iterator::current};
-        #t335.{core::Map::[]=}("bar", i);
-      }
-    }
-    #t335.{core::Map::[]=}("baz", null);
-  } =>#t335;
-  core::List<core::int*>* list120 = block {
-    final core::List<core::int*>* #t336 = <core::int*>[];
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        dynamic i = :sync-for-iterator.{core::Iterator::current};
-        #t336.{core::List::add}(i as{TypeError,ForDynamic} core::int*);
-      }
-    }
-  } =>#t336;
-  core::Set<core::int*>* set120 = block {
-    final core::Set<core::int*>* #t337 = col::LinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        dynamic i = :sync-for-iterator.{core::Iterator::current};
-        #t337.{core::Set::add}(i as{TypeError,ForDynamic} core::int*);
-      }
-    }
-    #t337.{core::Set::add}(null);
-  } =>#t337;
-  core::Map<core::String*, core::int*>* map120 = block {
-    final core::Map<core::String*, core::int*>* #t338 = <core::String*, core::int*>{};
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        dynamic i = :sync-for-iterator.{core::Iterator::current};
-        #t338.{core::Map::[]=}("bar", i as{TypeError,ForDynamic} core::int*);
-      }
-    }
-    #t338.{core::Map::[]=}("baz", null);
-  } =>#t338;
-  core::List<core::int*>* list130 = block {
-    final core::List<core::int*>* #t339 = <core::int*>[];
-    for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
-      #t339.{core::List::add}(i);
-  } =>#t339;
-  core::Set<core::int*>* set130 = block {
-    final core::Set<core::int*>* #t340 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
-      #t340.{core::Set::add}(i);
-  } =>#t340;
-  core::Map<core::int*, core::int*>* map130 = block {
-    final core::Map<core::int*, core::int*>* #t341 = <core::int*, core::int*>{};
-    for (core::int* i = 1; i.{core::num::<}(2); i = i.{core::num::+}(1))
-      #t341.{core::Map::[]=}(i, i);
-  } =>#t341;
-}
-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) →* dynamic :async_op_then;
-  (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-  core::int* :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:
-      {
-        block {
-          final core::List<core::int*>* #t342 = <core::int*>[];
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            #t342.{core::List::add}(let final<BottomType> #t343 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
-                                            ^" in "bar" as{TypeError} core::int*);
-        } =>#t342;
-        block {
-          final core::Set<core::int*>* #t344 = col::LinkedHashSet::•<core::int*>();
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            #t344.{core::Set::add}(let final<BottomType> #t345 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
-                                            ^" in "bar" as{TypeError} core::int*);
-          #t344.{core::Set::add}(null);
-        } =>#t344;
-        block {
-          final core::Map<core::int*, core::int*>* #t346 = <core::int*, core::int*>{};
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            #t346.{core::Map::[]=}(let final<BottomType> #t347 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
-                                                 ^" in "bar" as{TypeError} core::int*, let final<BottomType> #t348 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
-                                                        ^" in "bar" as{TypeError} core::int*);
-          #t346.{core::Map::[]=}(let final<BottomType> #t349 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
-                                                               ^" in "baz" as{TypeError} core::int*, null);
-        } =>#t346;
-        block {
-          final core::List<core::int*>* #t350 = <core::int*>[];
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-            core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[let final<BottomType> #t351 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
-                                                ^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              final core::int* #t352 = :sync-for-iterator.{core::Iterator::current};
-              #t350.{core::List::add}(#t352);
-            }
-          }
-        } =>#t350;
-        block {
-          final core::Set<core::int*>* #t353 = col::LinkedHashSet::•<core::int*>();
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-            core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[let final<BottomType> #t354 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
-                                                ^" in "bar" as{TypeError} core::int*].{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              final core::int* #t355 = :sync-for-iterator.{core::Iterator::current};
-              #t353.{core::Set::add}(#t355);
-            }
-          }
-          #t353.{core::Set::add}(null);
-        } =>#t353;
-        block {
-          final core::Map<core::int*, core::int*>* #t356 = <core::int*, core::int*>{};
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1)) {
-            core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{let final<BottomType> #t357 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                     ^" in "bar" as{TypeError} core::int*: let final<BottomType> #t358 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                            ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}.{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              final core::MapEntry<core::int*, core::int*>* #t359 = :sync-for-iterator.{core::Iterator::current};
-              #t356.{core::Map::[]=}(#t359.{core::MapEntry::key}, #t359.{core::MapEntry::value});
-            }
-          }
-          #t356.{core::Map::[]=}(let final<BottomType> #t360 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                                    ^" in "baz" as{TypeError} core::int*, null);
-        } =>#t356;
-        block {
-          final core::List<core::int*>* #t361 = <core::int*>[];
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            #t361.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
-                                               ^");
-        } =>#t361;
-        block {
-          final core::Set<core::int*>* #t362 = col::LinkedHashSet::•<core::int*>();
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            #t362.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
-                                               ^");
-          #t362.{core::Set::add}(null);
-        } =>#t362;
-        <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
-                                                    ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
-                                                    ^": null};
-        block {
-          final core::List<core::String*>* #t363 = <core::String*>[];
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-              #t363.{core::List::add}(let final<BottomType> #t364 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
-                                                             ^" in 42 as{TypeError} core::String*);
-            else
-              #t363.{core::List::add}(let final<BottomType> #t365 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
-                                                                     ^" in 3.14 as{TypeError} core::String*);
-        } =>#t363;
-        block {
-          final core::Set<core::String*>* #t366 = col::LinkedHashSet::•<core::String*>();
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-              #t366.{core::Set::add}(let final<BottomType> #t367 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
-                                                             ^" in 42 as{TypeError} core::String*);
-            else
-              #t366.{core::Set::add}(let final<BottomType> #t368 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
-                                                                     ^" in 3.14 as{TypeError} core::String*);
-          #t366.{core::Set::add}(null);
-        } =>#t366;
-        block {
-          final core::Map<core::String*, core::String*>* #t369 = <core::String*, core::String*>{};
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-              #t369.{core::Map::[]=}("bar", let final<BottomType> #t370 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
-  <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
-                                                                            ^" in 42 as{TypeError} core::String*);
-            else
-              #t369.{core::Map::[]=}("bar", let final<BottomType> #t371 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
-  <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
-                                                                                           ^" in 3.14 as{TypeError} core::String*);
-          #t369.{core::Map::[]=}("baz", null);
-        } =>#t369;
-        block {
-          final core::List<core::int*>* #t372 = <core::int*>[];
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-              #t372.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
-                                                             ^");
-            else
-              #t372.{core::List::add}(42);
-        } =>#t372;
-        block {
-          final core::Set<core::int*>* #t373 = col::LinkedHashSet::•<core::int*>();
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-              #t373.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
-                                                             ^");
-            else
-              #t373.{core::Set::add}(42);
-          #t373.{core::Set::add}(null);
-        } =>#t373;
-        <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
-                                                                     ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
-                                                                     ^": null};
-        block {
-          final core::List<core::int*>* #t374 = <core::int*>[];
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-              #t374.{core::List::add}(42);
-            else
-              #t374.{core::List::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
-                                                                     ^");
-        } =>#t374;
-        block {
-          final core::Set<core::int*>* #t375 = col::LinkedHashSet::•<core::int*>();
-          for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1))
-            if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-              #t375.{core::Set::add}(42);
-            else
-              #t375.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
- - 'Map' is from 'dart:core'.
-  <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
-                                                                     ^");
-          #t375.{core::Set::add}(null);
-        } =>#t375;
-        <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
-                                                                                    ^": null, invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
- - 'List' is from 'dart:core'.
-  <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
-                                                                                    ^": null};
-        final core::int* i = 0;
-        block {
-          final core::List<core::int*>* #t376 = <core::int*>[];
-          {
-            core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1].{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              final core::int* #t377 = :sync-for-iterator.{core::Iterator::current};
-              {
-                invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
-  <int>[for (i in <int>[1]) i];
-             ^";
-                #t376.{core::List::add}(i);
-              }
-            }
-          }
-        } =>#t376;
-        block {
-          final core::Set<core::int*>* #t378 = col::LinkedHashSet::•<core::int*>();
-          {
-            core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1].{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              final core::int* #t379 = :sync-for-iterator.{core::Iterator::current};
-              {
-                invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
-  <int>{for (i in <int>[1]) i, null};
-             ^";
-                #t378.{core::Set::add}(i);
-              }
-            }
-          }
-          #t378.{core::Set::add}(null);
-        } =>#t378;
-        block {
-          final core::Map<core::String*, core::int*>* #t380 = <core::String*, core::int*>{};
-          {
-            core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[1].{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              final core::int* #t381 = :sync-for-iterator.{core::Iterator::current};
-              {
-                invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
-\t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
-\t                   ^";
-                #t380.{core::Map::[]=}("bar", i);
-              }
-            }
-          }
-          #t380.{core::Map::[]=}("baz", null);
-        } =>#t380;
-        core::List<dynamic>* list10 = block {
-          final core::List<dynamic>* #t382 = <dynamic>[];
-          {
-            core::Iterator<dynamic>* :sync-for-iterator = (let final<BottomType> #t383 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:236:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- - 'Iterable' is from 'dart:core'.
-  var list10 = [for (var i in \"not iterable\") i];
-                              ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              dynamic i = :sync-for-iterator.{core::Iterator::current};
-              #t382.{core::List::add}(i);
-            }
-          }
-        } =>#t382;
-        core::Set<dynamic>* set10 = block {
-          final core::Set<dynamic>* #t384 = col::LinkedHashSet::•<dynamic>();
-          {
-            core::Iterator<dynamic>* :sync-for-iterator = (let final<BottomType> #t385 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:237:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- - 'Iterable' is from 'dart:core'.
-  var set10 = {for (var i in \"not iterable\") i, null};
-                             ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              dynamic i = :sync-for-iterator.{core::Iterator::current};
-              #t384.{core::Set::add}(i);
-            }
-          }
-          #t384.{core::Set::add}(null);
-        } =>#t384;
-        core::Map<core::String*, dynamic>* map10 = block {
-          final core::Map<core::String*, dynamic>* #t386 = <core::String*, dynamic>{};
-          {
-            core::Iterator<dynamic>* :sync-for-iterator = (let final<BottomType> #t387 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:238:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
- - 'Iterable' is from 'dart:core'.
-  var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
-                             ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*).{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              dynamic i = :sync-for-iterator.{core::Iterator::current};
-              #t386.{core::Map::[]=}("bar", i);
-            }
-          }
-          #t386.{core::Map::[]=}("baz", null);
-        } =>#t386;
-        core::List<core::int*>* list20 = block {
-          final core::List<core::int*>* #t388 = <core::int*>[];
-          {
-            core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[let final<BottomType> #t389 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var list20 = [for (int i in [\"not\", \"int\"]) i];
-                               ^" in "not" as{TypeError} core::int*, let final<BottomType> #t390 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:239:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var list20 = [for (int i in [\"not\", \"int\"]) i];
-                                      ^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              core::int* i = :sync-for-iterator.{core::Iterator::current};
-              #t388.{core::List::add}(i);
-            }
-          }
-        } =>#t388;
-        core::Set<core::int*>* set20 = block {
-          final core::Set<core::int*>* #t391 = col::LinkedHashSet::•<core::int*>();
-          {
-            core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[let final<BottomType> #t392 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var set20 = {for (int i in [\"not\", \"int\"]) i, null};
-                              ^" in "not" as{TypeError} core::int*, let final<BottomType> #t393 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:240:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var set20 = {for (int i in [\"not\", \"int\"]) i, null};
-                                     ^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              core::int* i = :sync-for-iterator.{core::Iterator::current};
-              #t391.{core::Set::add}(i);
-            }
-          }
-          #t391.{core::Set::add}(null);
-        } =>#t391;
-        core::Map<core::String*, core::int*>* map20 = block {
-          final core::Map<core::String*, core::int*>* #t394 = <core::String*, core::int*>{};
-          {
-            core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[let final<BottomType> #t395 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
-                              ^" in "not" as{TypeError} core::int*, let final<BottomType> #t396 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:241:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
-                                     ^" in "int" as{TypeError} core::int*].{core::Iterable::iterator};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-              core::int* i = :sync-for-iterator.{core::Iterator::current};
-              #t394.{core::Map::[]=}("bar", i);
-            }
-          }
-          #t394.{core::Map::[]=}("baz", null);
-        } =>#t394;
-        final core::List<dynamic>* #t397 = <dynamic>[];
-        {
-          asy::Stream<dynamic>* :stream = let final<BottomType> #t398 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:242:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
- - 'Stream' is from 'dart:async'.
-  var list30 = [await for (var i in \"not stream\") i];
-                                    ^" in "not stream" as{TypeError} asy::Stream<dynamic>*;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L2:
-            while (true) {
-              dynamic #t399 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t400 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(_in::unsafeCast<core::bool>(:result)) {
-                dynamic i = :for-iterator.{asy::_StreamIterator::current};
-                #t397.{core::List::add}(i);
-              }
-              else
-                break #L2;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t401 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        core::List<dynamic>* list30 = block {} =>#t397;
-        final core::Set<dynamic>* #t402 = col::LinkedHashSet::•<dynamic>();
-        {
-          asy::Stream<dynamic>* :stream = let final<BottomType> #t403 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:243:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
- - 'Stream' is from 'dart:async'.
-  var set30 = {await for (var i in \"not stream\") i, null};
-                                   ^" in "not stream" as{TypeError} asy::Stream<dynamic>*;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L3:
-            while (true) {
-              dynamic #t404 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t405 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(_in::unsafeCast<core::bool>(:result)) {
-                dynamic i = :for-iterator.{asy::_StreamIterator::current};
-                #t402.{core::Set::add}(i);
-              }
-              else
-                break #L3;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t406 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        core::Set<dynamic>* set30 = block {
-          #t402.{core::Set::add}(null);
-        } =>#t402;
-        final core::Map<core::String*, dynamic>* #t407 = <core::String*, dynamic>{};
-        {
-          asy::Stream<dynamic>* :stream = let final<BottomType> #t408 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:244:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
- - 'Stream' is from 'dart:async'.
-  var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
-                                   ^" in "not stream" as{TypeError} asy::Stream<dynamic>*;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L4:
-            while (true) {
-              dynamic #t409 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t410 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(_in::unsafeCast<core::bool>(:result)) {
-                dynamic i = :for-iterator.{asy::_StreamIterator::current};
-                #t407.{core::Map::[]=}("bar", i);
-              }
-              else
-                break #L4;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t411 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        core::Map<core::String*, dynamic>* map30 = block {
-          #t407.{core::Map::[]=}("baz", null);
-        } =>#t407;
-        final core::List<core::int*>* #t412 = <core::int*>[];
-        {
-          asy::Stream<core::int*> :stream = asy::Stream::fromIterable<core::int*>(<core::int*>[let final<BottomType> #t413 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
-                                                         ^" in "not" as{TypeError} core::int*, let final<BottomType> #t414 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:245:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
-                                                                ^" in "int" as{TypeError} core::int*]);
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<core::int*>* :for-iterator = new asy::_StreamIterator::•<core::int*>(:stream);
-          try
-            #L5:
-            while (true) {
-              dynamic #t415 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t416 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(_in::unsafeCast<core::bool>(:result)) {
-                core::int* i = :for-iterator.{asy::_StreamIterator::current};
-                #t412.{core::List::add}(i);
-              }
-              else
-                break #L5;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t417 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        core::List<core::int*>* list40 = block {} =>#t412;
-        final core::Set<core::int*>* #t418 = col::LinkedHashSet::•<core::int*>();
-        {
-          asy::Stream<core::int*> :stream = asy::Stream::fromIterable<core::int*>(<core::int*>[let final<BottomType> #t419 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
-                                                        ^" in "not" as{TypeError} core::int*, let final<BottomType> #t420 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:246:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
-                                                               ^" in "int" as{TypeError} core::int*]);
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<core::int*>* :for-iterator = new asy::_StreamIterator::•<core::int*>(:stream);
-          try
-            #L6:
-            while (true) {
-              dynamic #t421 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t422 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(_in::unsafeCast<core::bool>(:result)) {
-                core::int* i = :for-iterator.{asy::_StreamIterator::current};
-                #t418.{core::Set::add}(i);
-              }
-              else
-                break #L6;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t423 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        core::Set<core::int*>* set40 = block {
-          #t418.{core::Set::add}(null);
-        } =>#t418;
-        final core::Map<core::String*, core::int*>* #t424 = <core::String*, core::int*>{};
-        {
-          asy::Stream<core::int*> :stream = asy::Stream::fromIterable<core::int*>(<core::int*>[let final<BottomType> #t425 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
-                                                        ^" in "not" as{TypeError} core::int*, let final<BottomType> #t426 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:247:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
-                                                               ^" in "int" as{TypeError} core::int*]);
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<core::int*>* :for-iterator = new asy::_StreamIterator::•<core::int*>(:stream);
-          try
-            #L7:
-            while (true) {
-              dynamic #t427 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t428 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(_in::unsafeCast<core::bool>(:result)) {
-                core::int* i = :for-iterator.{asy::_StreamIterator::current};
-                #t424.{core::Map::[]=}("bar", i);
-              }
-              else
-                break #L7;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t429 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        core::Map<core::String*, core::int*>* map40 = block {
-          #t424.{core::Map::[]=}("baz", null);
-        } =>#t424;
-        core::List<core::int*>* list50 = block {
-          final core::List<core::int*>* #t430 = <core::int*>[];
-          for (; ; )
-            #t430.{core::List::add}(42);
-        } =>#t430;
-        core::Set<core::int*>* set50 = block {
-          final core::Set<core::int*>* #t431 = col::LinkedHashSet::•<core::int*>();
-          for (; ; )
-            #t431.{core::Set::add}(42);
-          #t431.{core::Set::add}(null);
-        } =>#t431;
-        core::Map<core::String*, core::int*>* map50 = block {
-          final core::Map<core::String*, core::int*>* #t432 = <core::String*, core::int*>{};
-          for (; ; )
-            #t432.{core::Map::[]=}("bar", 42);
-          #t432.{core::Map::[]=}("baz", null);
-        } =>#t432;
-        core::List<core::int*>* list60 = block {
-          final core::List<core::int*>* #t433 = <core::int*>[];
-          for (; let final<BottomType> #t434 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-  var list60 = [for (; \"not bool\";) 42];
-                       ^" in "not bool" as{TypeError} core::bool*; )
-            #t433.{core::List::add}(42);
-        } =>#t433;
-        core::Set<core::int*>* set60 = block {
-          final core::Set<core::int*>* #t435 = col::LinkedHashSet::•<core::int*>();
-          for (; let final<BottomType> #t436 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:252:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-  var set60 = {for (; \"not bool\";) 42, null};
-                      ^" in "not bool" as{TypeError} core::bool*; )
-            #t435.{core::Set::add}(42);
-          #t435.{core::Set::add}(null);
-        } =>#t435;
-        core::Map<core::String*, core::int*>* map60 = block {
-          final core::Map<core::String*, core::int*>* #t437 = <core::String*, core::int*>{};
-          for (; let final<BottomType> #t438 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
-  var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
-                      ^" in "not bool" as{TypeError} core::bool*; )
-            #t437.{core::Map::[]=}("bar", 42);
-          #t437.{core::Map::[]=}("baz", null);
-        } =>#t437;
-      }
-      asy::_completeOnAsyncReturn(:async_completer, :return_value);
-      return;
-    }
-    on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-  return :async_completer.{asy::Completer::future};
-}
-static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
-  block {
-    final core::List<core::int*>* #t439 = <core::int*>[];
-    await for (core::int* i in stream)
-      #t439.{core::List::add}(i);
-  } =>#t439;
-  block {
-    final core::Set<core::int*>* #t440 = col::LinkedHashSet::•<core::int*>();
-    await for (core::int* i in stream)
-      #t440.{core::Set::add}(i);
-  } =>#t440;
-  block {
-    final core::Map<core::String*, core::int*>* #t441 = <core::String*, core::int*>{};
-    await for (core::int* i in stream)
-      #t441.{core::Map::[]=}("bar", i);
-  } =>#t441;
-}
-static method testPromotion(self::A* a) → dynamic {
-  core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t442 = <core::int*>[];
-    if(a is self::B*)
-      #t442.{core::List::add}(a{self::B*}.{self::B::foo});
-  } =>#t442;
-  core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t443 = col::LinkedHashSet::•<core::int*>();
-    if(a is self::B*)
-      #t443.{core::Set::add}(a{self::B*}.{self::B::foo});
-  } =>#t443;
-  core::Map<core::int*, core::int*>* map10 = block {
-    final core::Map<core::int*, core::int*>* #t444 = <core::int*, core::int*>{};
-    if(a is self::B*)
-      #t444.{core::Map::[]=}(a{self::B*}.{self::B::foo}, a{self::B*}.{self::B::foo});
-  } =>#t444;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/control_flow_collection_inference.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/control_flow_collection_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.outline.expect
deleted file mode 100644
index 84e0d15..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.outline.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  operator ==(covariant self::A* other) → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  operator ==(covariant self::A* other) → core::bool*
-    ;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  operator ==(covariant generic-covariant-impl self::C<self::C::T*>* other) → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
-    ;
-}
-static method main() → dynamic
-  ;
-static method test(self::A* a, self::B* b, self::C<dynamic>* c_dynamic, self::C<core::int*>* c_int, self::C<core::String*>* c_string, self::D* d) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.strong.expect
deleted file mode 100644
index 8b477b1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.strong.expect
+++ /dev/null
@@ -1,284 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:26:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   a == c_dynamic; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:27:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   a == c_int; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:28:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   a == c_string; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:29:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   a == d; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:33:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   b == c_dynamic; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:34:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   b == c_int; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:35:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   b == c_string; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:36:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   b == d; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:38:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_dynamic == a; // error
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:39:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_dynamic == b; // error
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:45:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_int == a; // error
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:46:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_int == b; // error
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:49:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_int == c_string; // error
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:52:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_string == a; // error
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:53:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_string == b; // error
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:55:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_string == c_int; // error
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:57:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_string == d; // error
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:59:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   d == a; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:60:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   d == b; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:63:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   d == c_string; // error
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator ==(covariant self::A* other) → core::bool*
-    return true;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator ==(covariant self::A* other) → core::bool*
-    return true;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  operator ==(covariant generic-covariant-impl self::C<self::C::T*>* other) → core::bool*
-    return true;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static method main() → dynamic {}
-static method test(self::A* a, self::B* b, self::C<dynamic>* c_dynamic, self::C<core::int*>* c_int, self::C<core::String*>* c_string, self::D* d) → dynamic {
-  a.{self::A::==}(a);
-  a.{self::A::==}(b);
-  a.{self::A::==}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:26:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  a == c_dynamic; // error
-       ^" in c_dynamic as{TypeError} self::A*);
-  a.{self::A::==}(let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:27:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  a == c_int; // error
-       ^" in c_int as{TypeError} self::A*);
-  a.{self::A::==}(let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:28:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  a == c_string; // error
-       ^" in c_string as{TypeError} self::A*);
-  a.{self::A::==}(let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:29:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  a == d; // error
-       ^" in d as{TypeError} self::A*);
-  b.{self::B::==}(a);
-  b.{self::B::==}(b);
-  b.{self::B::==}(let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:33:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  b == c_dynamic; // error
-       ^" in c_dynamic as{TypeError} self::A*);
-  b.{self::B::==}(let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:34:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  b == c_int; // error
-       ^" in c_int as{TypeError} self::A*);
-  b.{self::B::==}(let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:35:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  b == c_string; // error
-       ^" in c_string as{TypeError} self::A*);
-  b.{self::B::==}(let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:36:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  b == d; // error
-       ^" in d as{TypeError} self::A*);
-  c_dynamic.{self::C::==}(let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:38:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_dynamic == a; // error
-               ^" in a as{TypeError} self::C<dynamic>*);
-  c_dynamic.{self::C::==}(let final<BottomType> #t10 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:39:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_dynamic == b; // error
-               ^" in b as{TypeError} self::C<dynamic>*);
-  c_dynamic.{self::C::==}(c_dynamic);
-  c_dynamic.{self::C::==}(c_int);
-  c_dynamic.{self::C::==}(c_string);
-  c_dynamic.{self::C::==}(d);
-  c_int.{self::C::==}(let final<BottomType> #t11 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:45:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_int == a; // error
-           ^" in a as{TypeError} self::C<core::int*>*);
-  c_int.{self::C::==}(let final<BottomType> #t12 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:46:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_int == b; // error
-           ^" in b as{TypeError} self::C<core::int*>*);
-  c_int.{self::C::==}(c_dynamic as{TypeError} self::C<core::int*>*);
-  c_int.{self::C::==}(c_int);
-  c_int.{self::C::==}(let final<BottomType> #t13 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:49:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_int == c_string; // error
-           ^" in c_string as{TypeError} self::C<core::int*>*);
-  c_int.{self::C::==}(d);
-  c_string.{self::C::==}(let final<BottomType> #t14 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:52:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_string == a; // error
-              ^" in a as{TypeError} self::C<core::String*>*);
-  c_string.{self::C::==}(let final<BottomType> #t15 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:53:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_string == b; // error
-              ^" in b as{TypeError} self::C<core::String*>*);
-  c_string.{self::C::==}(c_dynamic as{TypeError} self::C<core::String*>*);
-  c_string.{self::C::==}(let final<BottomType> #t16 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:55:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_string == c_int; // error
-              ^" in c_int as{TypeError} self::C<core::String*>*);
-  c_string.{self::C::==}(c_string);
-  c_string.{self::C::==}(let final<BottomType> #t17 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:57:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_string == d; // error
-              ^" in d as{TypeError} self::C<core::String*>*);
-  d.{self::C::==}(let final<BottomType> #t18 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:59:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  d == a; // error
-       ^" in a as{TypeError} self::C<core::int*>*);
-  d.{self::C::==}(let final<BottomType> #t19 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:60:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  d == b; // error
-       ^" in b as{TypeError} self::C<core::int*>*);
-  d.{self::C::==}(c_dynamic as{TypeError} self::C<core::int*>*);
-  d.{self::C::==}(c_int);
-  d.{self::C::==}(let final<BottomType> #t20 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:63:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  d == c_string; // error
-       ^" in c_string as{TypeError} self::C<core::int*>*);
-  d.{self::C::==}(d);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.strong.transformed.expect
deleted file mode 100644
index 8b477b1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.strong.transformed.expect
+++ /dev/null
@@ -1,284 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:26:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   a == c_dynamic; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:27:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   a == c_int; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:28:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   a == c_string; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:29:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   a == d; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:33:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   b == c_dynamic; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:34:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   b == c_int; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:35:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   b == c_string; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:36:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   b == d; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:38:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_dynamic == a; // error
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:39:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_dynamic == b; // error
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:45:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_int == a; // error
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:46:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_int == b; // error
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:49:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_int == c_string; // error
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:52:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_string == a; // error
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:53:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_string == b; // error
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:55:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_string == c_int; // error
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:57:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   c_string == d; // error
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:59:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   d == a; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:60:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   d == b; // error
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:63:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-//   d == c_string; // error
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator ==(covariant self::A* other) → core::bool*
-    return true;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator ==(covariant self::A* other) → core::bool*
-    return true;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  operator ==(covariant generic-covariant-impl self::C<self::C::T*>* other) → core::bool*
-    return true;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C<core::int*> {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static method main() → dynamic {}
-static method test(self::A* a, self::B* b, self::C<dynamic>* c_dynamic, self::C<core::int*>* c_int, self::C<core::String*>* c_string, self::D* d) → dynamic {
-  a.{self::A::==}(a);
-  a.{self::A::==}(b);
-  a.{self::A::==}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:26:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  a == c_dynamic; // error
-       ^" in c_dynamic as{TypeError} self::A*);
-  a.{self::A::==}(let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:27:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  a == c_int; // error
-       ^" in c_int as{TypeError} self::A*);
-  a.{self::A::==}(let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:28:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  a == c_string; // error
-       ^" in c_string as{TypeError} self::A*);
-  a.{self::A::==}(let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:29:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  a == d; // error
-       ^" in d as{TypeError} self::A*);
-  b.{self::B::==}(a);
-  b.{self::B::==}(b);
-  b.{self::B::==}(let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:33:8: Error: The argument type 'C<dynamic>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  b == c_dynamic; // error
-       ^" in c_dynamic as{TypeError} self::A*);
-  b.{self::B::==}(let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:34:8: Error: The argument type 'C<int>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  b == c_int; // error
-       ^" in c_int as{TypeError} self::A*);
-  b.{self::B::==}(let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:35:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'A'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  b == c_string; // error
-       ^" in c_string as{TypeError} self::A*);
-  b.{self::B::==}(let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:36:8: Error: The argument type 'D' can't be assigned to the parameter type 'A'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  b == d; // error
-       ^" in d as{TypeError} self::A*);
-  c_dynamic.{self::C::==}(let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:38:16: Error: The argument type 'A' can't be assigned to the parameter type 'C<dynamic>'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_dynamic == a; // error
-               ^" in a as{TypeError} self::C<dynamic>*);
-  c_dynamic.{self::C::==}(let final<BottomType> #t10 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:39:16: Error: The argument type 'B' can't be assigned to the parameter type 'C<dynamic>'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_dynamic == b; // error
-               ^" in b as{TypeError} self::C<dynamic>*);
-  c_dynamic.{self::C::==}(c_dynamic);
-  c_dynamic.{self::C::==}(c_int);
-  c_dynamic.{self::C::==}(c_string);
-  c_dynamic.{self::C::==}(d);
-  c_int.{self::C::==}(let final<BottomType> #t11 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:45:12: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_int == a; // error
-           ^" in a as{TypeError} self::C<core::int*>*);
-  c_int.{self::C::==}(let final<BottomType> #t12 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:46:12: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_int == b; // error
-           ^" in b as{TypeError} self::C<core::int*>*);
-  c_int.{self::C::==}(c_dynamic as{TypeError} self::C<core::int*>*);
-  c_int.{self::C::==}(c_int);
-  c_int.{self::C::==}(let final<BottomType> #t13 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:49:12: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_int == c_string; // error
-           ^" in c_string as{TypeError} self::C<core::int*>*);
-  c_int.{self::C::==}(d);
-  c_string.{self::C::==}(let final<BottomType> #t14 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:52:15: Error: The argument type 'A' can't be assigned to the parameter type 'C<String>'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_string == a; // error
-              ^" in a as{TypeError} self::C<core::String*>*);
-  c_string.{self::C::==}(let final<BottomType> #t15 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:53:15: Error: The argument type 'B' can't be assigned to the parameter type 'C<String>'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_string == b; // error
-              ^" in b as{TypeError} self::C<core::String*>*);
-  c_string.{self::C::==}(c_dynamic as{TypeError} self::C<core::String*>*);
-  c_string.{self::C::==}(let final<BottomType> #t16 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:55:15: Error: The argument type 'C<int>' can't be assigned to the parameter type 'C<String>'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_string == c_int; // error
-              ^" in c_int as{TypeError} self::C<core::String*>*);
-  c_string.{self::C::==}(c_string);
-  c_string.{self::C::==}(let final<BottomType> #t17 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:57:15: Error: The argument type 'D' can't be assigned to the parameter type 'C<String>'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  c_string == d; // error
-              ^" in d as{TypeError} self::C<core::String*>*);
-  d.{self::C::==}(let final<BottomType> #t18 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:59:8: Error: The argument type 'A' can't be assigned to the parameter type 'C<int>'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  d == a; // error
-       ^" in a as{TypeError} self::C<core::int*>*);
-  d.{self::C::==}(let final<BottomType> #t19 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:60:8: Error: The argument type 'B' can't be assigned to the parameter type 'C<int>'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  d == b; // error
-       ^" in b as{TypeError} self::C<core::int*>*);
-  d.{self::C::==}(c_dynamic as{TypeError} self::C<core::int*>*);
-  d.{self::C::==}(c_int);
-  d.{self::C::==}(let final<BottomType> #t20 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart:63:8: Error: The argument type 'C<String>' can't be assigned to the parameter type 'C<int>'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart'.
-  d == c_string; // error
-       ^" in c_string as{TypeError} self::C<core::int*>*);
-  d.{self::C::==}(d);
-}
diff --git a/pkg/front_end/testcases/general/covariant_equals.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/covariant_equals.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/covariant_equals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.hierarchy.expect
deleted file mode 100644
index 76a979e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.hierarchy.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.callbackField
-    Foo.mutableCallbackField
-    Foo.mutableField
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.withCallback
-    Foo.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Foo.finalField
-  classSetters:
-    Foo.mutableCallbackField
-    Foo.mutableField
-    Foo.setter
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.outline.expect
deleted file mode 100644
index 5c2b5c2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.outline.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Callback<contravariant 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;
-  field (self::Foo::T*) →* void mutableCallbackField;
-  constructor •(self::Foo::T* finalField, (self::Foo::T*) →* void callbackField) → self::Foo<self::Foo::T*>*
-    ;
-  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
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.strong.expect
deleted file mode 100644
index 7a05af3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.strong.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Callback<contravariant 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});
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Foo<core::int*>* fooInt = new self::Foo::•<core::int*>(1, (core::int* x) → core::Null? {});
-  fooInt.{self::Foo::method}(3);
-  fooInt.{self::Foo::setter} = 3;
-  fooInt.{self::Foo::withCallback}((core::int* x) → core::Null? {});
-  fooInt.{self::Foo::withCallback}((core::num* x) → core::Null? {});
-  fooInt.{self::Foo::mutableField} = 3;
-  fooInt.{self::Foo::mutableCallbackField} = (core::int* x) → core::Null? {};
-  self::Foo<core::num*>* fooNum = fooInt;
-  fooNum.{self::Foo::method}(3);
-  fooNum.{self::Foo::method}(2.5);
-  fooNum.{self::Foo::setter} = 3;
-  fooNum.{self::Foo::setter} = 2.5;
-  fooNum.{self::Foo::withCallback}((core::num* x) → core::Null? {});
-  fooNum.{self::Foo::mutableField} = 3;
-  fooNum.{self::Foo::mutableField} = 2.5;
-  let final self::Foo<core::num*>* #t1 = fooNum in let final core::int* #t2 = 3 in (#t1.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t2);
-  let final self::Foo<core::num*>* #t3 = fooNum in let final core::double* #t4 = 2.5 in (#t3.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t4);
-  fooNum.{self::Foo::mutableCallbackField} = (core::num* x) → core::Null? {};
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.strong.transformed.expect
deleted file mode 100644
index 7a05af3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.strong.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Callback<contravariant 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});
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Foo<core::int*>* fooInt = new self::Foo::•<core::int*>(1, (core::int* x) → core::Null? {});
-  fooInt.{self::Foo::method}(3);
-  fooInt.{self::Foo::setter} = 3;
-  fooInt.{self::Foo::withCallback}((core::int* x) → core::Null? {});
-  fooInt.{self::Foo::withCallback}((core::num* x) → core::Null? {});
-  fooInt.{self::Foo::mutableField} = 3;
-  fooInt.{self::Foo::mutableCallbackField} = (core::int* x) → core::Null? {};
-  self::Foo<core::num*>* fooNum = fooInt;
-  fooNum.{self::Foo::method}(3);
-  fooNum.{self::Foo::method}(2.5);
-  fooNum.{self::Foo::setter} = 3;
-  fooNum.{self::Foo::setter} = 2.5;
-  fooNum.{self::Foo::withCallback}((core::num* x) → core::Null? {});
-  fooNum.{self::Foo::mutableField} = 3;
-  fooNum.{self::Foo::mutableField} = 2.5;
-  let final self::Foo<core::num*>* #t1 = fooNum in let final core::int* #t2 = 3 in (#t1.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t2);
-  let final self::Foo<core::num*>* #t3 = fooNum in let final core::double* #t4 = 2.5 in (#t3.{self::Foo::mutableCallbackField} as{TypeError,CovarianceCheck} (core::num*) →* void).call(#t4);
-  fooNum.{self::Foo::mutableCallbackField} = (core::num* x) → core::Null? {};
-}
diff --git a/pkg/front_end/testcases/general/covariant_generic.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/covariant_generic.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/covariant_generic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.hierarchy.expect
deleted file mode 100644
index d9115a1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.hierarchy.expect
+++ /dev/null
@@ -1,138 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A with B:
-  superclasses:
-    Object
-      -> A
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A with B.B.foo%A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A with B.B.foo%A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  superclasses:
-    Object
-      -> A
-        -> _D&A&B
-  interfaces: B, C
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.outline.expect
deleted file mode 100644
index d787aba..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.outline.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  method foo(covariant core::num* x) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  method foo(core::num* x) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method foo(core::num* x) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _D&A&B = self::A with self::B /*isAnonymousMixin*/  {
-  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*
-    ;
-  method foo(covariant core::int* x) → void
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.strong.expect
deleted file mode 100644
index 74659ae..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.strong.expect
+++ /dev/null
@@ -1,66 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(core::num* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo(core::num* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _D&A&B = self::A with self::B /*isAnonymousMixin*/  {
-  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_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.strong.transformed.expect
deleted file mode 100644
index 5d4675b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.strong.transformed.expect
+++ /dev/null
@@ -1,75 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(core::num* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method foo(core::num* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _D&A&B extends self::A implements self::B /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self::_D&A&B*
-    : super self::A::•()
-    ;
-  method foo(covariant core::num* x) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/covariant_parameter_in_superclass_of_mixin_application.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/covariant_parameter_in_superclass_of_mixin_application.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.hierarchy.expect
deleted file mode 100644
index 5865e60..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.outline.expect
deleted file mode 100644
index e73a743..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.outline.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:7:7: Error: 'A' is a supertype of itself.
-// class A implements C {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:9:7: Error: 'B' is a supertype of itself.
-// class B extends A {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:11: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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.strong.expect
deleted file mode 100644
index 62530c5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.strong.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:7:7: Error: 'A' is a supertype of itself.
-// class A implements C {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:9:7: Error: 'B' is a supertype of itself.
-// class B extends A {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:11: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/cycles.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.strong.transformed.expect
deleted file mode 100644
index 62530c5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.strong.transformed.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:7:7: Error: 'A' is a supertype of itself.
-// class A implements C {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:9:7: Error: 'B' is a supertype of itself.
-// class B extends A {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:11: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/cycles.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.weak.outline.expect
new file mode 100644
index 0000000..5e28180
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart.weak.outline.expect
@@ -0,0 +1,77 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:7:7: Error: 'A' is a supertype of itself.
+// class A implements C {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:9:7: Error: 'B' is a supertype of itself.
+// class B extends A {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/cycles.dart:11: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*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends core::Object {
+  synthetic constructor •() → self::B*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends core::Object {
+  synthetic constructor •() → self::D*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/default_values.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/default_values.dart.strong.expect
deleted file mode 100644
index 7b8886e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/default_values.dart.strong.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_nnbd_opt_out/default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/default_values.dart.strong.transformed.expect
deleted file mode 100644
index 7b8886e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/default_values.dart.strong.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_nnbd_opt_out/default_values.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/default_values.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/default_values.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/default_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.hierarchy.expect
deleted file mode 100644
index ea44c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.outline.expect
deleted file mode 100644
index 5ae77c0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.outline.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-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;
-  synthetic constructor •() → def::C*
-    ;
-  static method m() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x;
-static method m(dynamic x) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.strong.expect
deleted file mode 100644
index 805e3ff..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.strong.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart:9:5: Error: 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_nnbd_opt_out/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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.strong.transformed.expect
deleted file mode 100644
index 805e3ff..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.strong.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart:9:5: Error: 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_nnbd_opt_out/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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* x = 0;
-static method m(dynamic x) → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general/deferred_type_annotation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/deferred_type_annotation.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/deferred_type_annotation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.hierarchy.expect
deleted file mode 100644
index 8d3d333..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.hierarchy.expect
+++ /dev/null
@@ -1,108 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Dupe:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Dupe:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.d
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.b
-    C.d
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.outline.expect
deleted file mode 100644
index 48e273f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.outline.expect
+++ /dev/null
@@ -1,109 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:12:7: Error: 'Dupe' is already declared in this scope.
-// class Dupe {}
-//       ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:10:7: Context: Previous declaration of 'Dupe'.
-// class Dupe {}
-//       ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:15:3: Error: Type 'Dupe.a' not found.
-//   Dupe.a b;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:8:45: Error: 'C' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix_lib2.dart'.
-// import 'duplicated_bad_prefix_lib2.dart' as dupe;
-//                                             ^
-//
-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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dupe extends core::Object {
-  synthetic constructor •() → self::Dupe*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field invalid-type b;
-  field invalid-type d;
-  synthetic constructor •() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self2::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self3::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.strong.expect
deleted file mode 100644
index 2ed7afd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.strong.expect
+++ /dev/null
@@ -1,117 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:12:7: Error: 'Dupe' is already declared in this scope.
-// class Dupe {}
-//       ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:10:7: Context: Previous declaration of 'Dupe'.
-// class Dupe {}
-//       ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:15:3: Error: Type 'Dupe.a' not found.
-//   Dupe.a b;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:8:45: Error: 'C' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix_lib2.dart'.
-// import 'duplicated_bad_prefix_lib2.dart' as dupe;
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:15:3: Error: '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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dupe extends core::Object {
-  synthetic constructor •() → self::Dupe*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field invalid-type b = null;
-  field invalid-type d = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self3::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.strong.transformed.expect
deleted file mode 100644
index 2ed7afd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.strong.transformed.expect
+++ /dev/null
@@ -1,117 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:12:7: Error: 'Dupe' is already declared in this scope.
-// class Dupe {}
-//       ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:10:7: Context: Previous declaration of 'Dupe'.
-// class Dupe {}
-//       ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:15:3: Error: Type 'Dupe.a' not found.
-//   Dupe.a b;
-//   ^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:8:45: Error: 'C' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix_lib2.dart'.
-// import 'duplicated_bad_prefix_lib2.dart' as dupe;
-//                                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:15:3: Error: '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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Dupe extends core::Object {
-  synthetic constructor •() → self::Dupe*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field invalid-type b = null;
-  field invalid-type d = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self3::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.weak.outline.expect
new file mode 100644
index 0000000..227e68e
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart.weak.outline.expect
@@ -0,0 +1,109 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:12:7: Error: 'Dupe' is already declared in this scope.
+// class Dupe {}
+//       ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:10:7: Context: Previous declaration of 'Dupe'.
+// class Dupe {}
+//       ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:15:3: Error: Type 'Dupe.a' not found.
+//   Dupe.a b;
+//   ^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix.dart:8:45: Error: 'C' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/duplicated_bad_prefix_lib2.dart'.
+// import 'duplicated_bad_prefix_lib2.dart' as dupe;
+//                                             ^
+//
+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*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Dupe extends core::Object {
+  synthetic constructor •() → self::Dupe*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends core::Object {
+  field invalid-type b;
+  field invalid-type d;
+  synthetic constructor •() → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+class C extends core::Object {
+  synthetic constructor •() → self2::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library;
+import self as self3;
+import "dart:core" as core;
+
+class C extends core::Object {
+  synthetic constructor •() → self3::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.hierarchy.expect
deleted file mode 100644
index b6c3f46..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.hierarchy.expect
+++ /dev/null
@@ -1,268 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    C.s
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.field
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.field
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    C.s
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.field
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.field
-
-Sub:
-  superclasses:
-    C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Sub.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.b
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Enum.c
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.b
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Enum.Enum
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.b
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Enum.c
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Enum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Enum.b
-    Enum.a
-    Enum.toString
-    Enum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Enum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Enum.Enum
-    Object.hashCode
-    Enum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AnotherEnum:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    AnotherEnum.b
-    AnotherEnum.a
-    AnotherEnum.toString
-    AnotherEnum.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    AnotherEnum._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    AnotherEnum.c
-    Object.hashCode
-    AnotherEnum.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.outline.expect
deleted file mode 100644
index 0c889c7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.outline.expect
+++ /dev/null
@@ -1,561 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/duplicated_declarations.dart:11: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_nnbd_opt_out/duplicated_declarations.dart:15:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:13:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:17: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_nnbd_opt_out/duplicated_declarations.dart:21:16: Error: 'OldTypedef' is already declared in this scope.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:19:14: Context: Previous declaration of 'OldTypedef'.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:25:5: Error: 'field' is already declared in this scope.
-// var field = "2nd";
-//     ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:23:5: Context: Previous declaration of 'field'.
-// var field = "1st";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:31:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:27:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:43:3: Error: 'C' is already declared in this scope.
-//   C(a, b);
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:42:3: Context: Previous declaration of 'C'.
-//   C(a);
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:46:7: Error: 'field' is already declared in this scope.
-//   var field = "2nd";
-//       ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:44:7: Context: Previous declaration of 'field'.
-//   var field = "1st";
-//       ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:52:3: Error: 'm' is already declared in this scope.
-//   m() {
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:48:3: Context: Previous declaration of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:60:10: Error: 's' is already declared in this scope.
-//   static s() {
-//          ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:56:10: Context: Previous declaration of 's'.
-//   static s() {
-//          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:72:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:41:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:77:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
-//   Enum,
-//   ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:79:3: Error: 'a' is already declared in this scope.
-//   a,
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:78:3: Context: Previous declaration of 'a'.
-//   a,
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:83:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:76:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:93:3: Error: '_name' is already declared in this scope.
-//   _name,
-//   ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of '_name' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:94:3: Error: 'index' is already declared in this scope.
-//   index,
-//   ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'index' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:95:3: Error: 'toString' is already declared in this scope.
-//   toString,
-//   ^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'toString' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:96:3: Error: 'values' is already declared in this scope.
-//   values,
-//   ^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'values' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:13:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:15:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:19:14: Error: 'OldTypedef' is already declared in this scope.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:21:16: Context: Previous declaration of 'OldTypedef'.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:23:5: Error: 'field' is already declared in this scope.
-// var field = "3rd";
-//     ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:25:5: Context: Previous declaration of 'field'.
-// var field = "2nd";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:29:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:31:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:41:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:72:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:75:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:83:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/duplicated_declarations_part.dart:11: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_nnbd_opt_out/duplicated_declarations_part.dart:15:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:13:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:17: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_nnbd_opt_out/duplicated_declarations_part.dart:21:16: Error: 'OldTypedef' is already declared in this scope.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:19:14: Context: Previous declaration of 'OldTypedef'.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:25:5: Error: 'field' is already declared in this scope.
-// var field = 4;
-//     ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:23:5: Context: Previous declaration of 'field'.
-// var field = "3rd";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:27:5: Error: 'field' is already declared in this scope.
-// var field = 5.0;
-//     ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:25:5: Context: Previous declaration of 'field'.
-// var field = 4;
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:33:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:29:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:37:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:33:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:43:3: Error: 'C' is already declared in this scope.
-//   C(a, b);
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:42:3: Context: Previous declaration of 'C'.
-//   C(a);
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:46:7: Error: 'field' is already declared in this scope.
-//   var field = "2nd";
-//       ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:44:7: Context: Previous declaration of 'field'.
-//   var field = "1st";
-//       ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:52:3: Error: 'm' is already declared in this scope.
-//   m() {
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:48:3: Context: Previous declaration of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:60:10: Error: 's' is already declared in this scope.
-//   static s() {
-//          ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:56:10: Context: Previous declaration of 's'.
-//   static s() {
-//          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:67:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:41:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:71:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:67:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:76:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
-//   Enum,
-//   ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:78:3: Error: 'a' is already declared in this scope.
-//   a,
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:77:3: Context: Previous declaration of 'a'.
-//   a,
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:82:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:75:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:88:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:82:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:9:46: Error: 'Typedef' is already declared in this scope.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-//                                              ^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:15:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:67:19: Error: 'C' isn't a type.
-// class Sub extends C {
-//                   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:67:19: Context: This isn't a type.
-// class Sub extends C {
-//                   ^
-//
-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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C#3 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  constructor _() → self::C#3*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C#2 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  field core::String* field;
-  constructor •(dynamic a) → self::C#2*
-    ;
-  method m() → dynamic
-    ;
-  static method s() → dynamic
-    ;
-  static method f() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C#1 extends core::Object {
-  constructor _() → self::C#1*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field core::String* field;
-  constructor •(dynamic a) → self::C*
-    ;
-  method m() → dynamic
-    ;
-  static method s() → dynamic
-    ;
-  static method f() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sub extends core::Object {
-  constructor •() → self::Sub*
-    ;
-  method m() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum#4 extends core::Object /*isEnum*/  { // 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 = const <self::Enum#4*>[self::Enum#4::a];
-  static const field self::Enum#4* a = const self::Enum#4::•(0, "Enum.a");
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum#3 extends core::Object /*isEnum*/  { // 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 = const <self::Enum#3*>[self::Enum#3::a, self::Enum#3::b, self::Enum#3::c];
-  static const field self::Enum#3* a = const self::Enum#3::•(0, "Enum.a");
-  static const field self::Enum#3* b = const self::Enum#3::•(1, "Enum.b");
-  static const field self::Enum#3* c = const self::Enum#3::•(2, "Enum.c");
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum#2 extends core::Object /*isEnum*/  { // 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 = const <self::Enum#2*>[self::Enum#2::Enum, self::Enum#2::a, self::Enum#2::b];
-  static const field self::Enum#2* Enum = const self::Enum#2::•(0, "Enum.Enum");
-  static const field self::Enum#2* a = const self::Enum#2::•(1, "Enum.a");
-  static const field self::Enum#2* b = const self::Enum#2::•(2, "Enum.b");
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum#1 extends core::Object /*isEnum*/  {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#1*>* values = const <self::Enum#1*>[self::Enum#1::a, self::Enum#1::b, self::Enum#1::c];
-  static const field self::Enum#1* a = const self::Enum#1::•(0, "Enum.a");
-  static const field self::Enum#1* b = const self::Enum#1::•(1, "Enum.b");
-  static const field self::Enum#1* c = const self::Enum#1::•(2, "Enum.c");
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum extends core::Object /*isEnum*/  {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum*>* values = const <self::Enum*>[self::Enum::Enum, self::Enum::a, self::Enum::b];
-  static const field self::Enum* Enum = const self::Enum::•(0, "Enum.Enum");
-  static const field self::Enum* a = const self::Enum::•(1, "Enum.a");
-  static const field self::Enum* b = const self::Enum::•(2, "Enum.b");
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AnotherEnum extends core::Object /*isEnum*/  {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::AnotherEnum*>* values = const <self::AnotherEnum*>[self::AnotherEnum::a, self::AnotherEnum::b, self::AnotherEnum::c];
-  static const field self::AnotherEnum* a = const self::AnotherEnum::•(0, "AnotherEnum.a");
-  static const field self::AnotherEnum* b = const self::AnotherEnum::•(1, "AnotherEnum.b");
-  static const field self::AnotherEnum* c = const self::AnotherEnum::•(2, "AnotherEnum.c");
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::String* field;
-static method main() → dynamic
-  ;
-static method foo() → dynamic
-  ;
-static method useAnotherEnum() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.strong.expect
deleted file mode 100644
index 014e7e09..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.strong.expect
+++ /dev/null
@@ -1,678 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/duplicated_declarations.dart:11: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_nnbd_opt_out/duplicated_declarations.dart:15:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:13:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:17: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_nnbd_opt_out/duplicated_declarations.dart:21:16: Error: 'OldTypedef' is already declared in this scope.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:19:14: Context: Previous declaration of 'OldTypedef'.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:25:5: Error: 'field' is already declared in this scope.
-// var field = "2nd";
-//     ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:23:5: Context: Previous declaration of 'field'.
-// var field = "1st";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:31:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:27:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:43:3: Error: 'C' is already declared in this scope.
-//   C(a, b);
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:42:3: Context: Previous declaration of 'C'.
-//   C(a);
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:46:7: Error: 'field' is already declared in this scope.
-//   var field = "2nd";
-//       ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:44:7: Context: Previous declaration of 'field'.
-//   var field = "1st";
-//       ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:52:3: Error: 'm' is already declared in this scope.
-//   m() {
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:48:3: Context: Previous declaration of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:60:10: Error: 's' is already declared in this scope.
-//   static s() {
-//          ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:56:10: Context: Previous declaration of 's'.
-//   static s() {
-//          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:72:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:41:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:77:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
-//   Enum,
-//   ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:79:3: Error: 'a' is already declared in this scope.
-//   a,
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:78:3: Context: Previous declaration of 'a'.
-//   a,
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:83:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:76:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:93:3: Error: '_name' is already declared in this scope.
-//   _name,
-//   ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of '_name' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:94:3: Error: 'index' is already declared in this scope.
-//   index,
-//   ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'index' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:95:3: Error: 'toString' is already declared in this scope.
-//   toString,
-//   ^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'toString' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:96:3: Error: 'values' is already declared in this scope.
-//   values,
-//   ^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'values' is implied by this definition.
-// enum AnotherEnum {
-//      ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:13:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:15:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:19:14: Error: 'OldTypedef' is already declared in this scope.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:21:16: Context: Previous declaration of 'OldTypedef'.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:23:5: Error: 'field' is already declared in this scope.
-// var field = "3rd";
-//     ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:25:5: Context: Previous declaration of 'field'.
-// var field = "2nd";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:29:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:31:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:41:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:72:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:75:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:83:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/duplicated_declarations_part.dart:11: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_nnbd_opt_out/duplicated_declarations_part.dart:15:9: Error: 'Typedef' is already declared in this scope.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:13:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = void Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:17: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_nnbd_opt_out/duplicated_declarations_part.dart:21:16: Error: 'OldTypedef' is already declared in this scope.
-// typedef Object OldTypedef();
-//                ^^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:19:14: Context: Previous declaration of 'OldTypedef'.
-// typedef void OldTypedef();
-//              ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:25:5: Error: 'field' is already declared in this scope.
-// var field = 4;
-//     ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:23:5: Context: Previous declaration of 'field'.
-// var field = "3rd";
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:27:5: Error: 'field' is already declared in this scope.
-// var field = 5.0;
-//     ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:25:5: Context: Previous declaration of 'field'.
-// var field = 4;
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:33:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:29:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:37:1: Error: 'main' is already declared in this scope.
-// main() {
-// ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:33:1: Context: Previous declaration of 'main'.
-// main() {
-// ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:43:3: Error: 'C' is already declared in this scope.
-//   C(a, b);
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:42:3: Context: Previous declaration of 'C'.
-//   C(a);
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:46:7: Error: 'field' is already declared in this scope.
-//   var field = "2nd";
-//       ^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:44:7: Context: Previous declaration of 'field'.
-//   var field = "1st";
-//       ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:52:3: Error: 'm' is already declared in this scope.
-//   m() {
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:48:3: Context: Previous declaration of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:60:10: Error: 's' is already declared in this scope.
-//   static s() {
-//          ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:56:10: Context: Previous declaration of 's'.
-//   static s() {
-//          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:67:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:41:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:71:7: Error: 'C' is already declared in this scope.
-// class C {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:67:7: Context: Previous declaration of 'C'.
-// class C {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:76:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
-//   Enum,
-//   ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:78:3: Error: 'a' is already declared in this scope.
-//   a,
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:77:3: Context: Previous declaration of 'a'.
-//   a,
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:82:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:75:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:88:6: Error: 'Enum' is already declared in this scope.
-// enum Enum {
-//      ^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:82:6: Context: Previous declaration of 'Enum'.
-// enum Enum {
-//      ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:9:46: Error: 'Typedef' is already declared in this scope.
-// import 'duplicated_declarations_lib.dart' as Typedef;
-//                                              ^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:15:9: Context: Previous declaration of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:67:19: Error: 'C' isn't a type.
-// class Sub extends C {
-//                   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:67:19: Context: This isn't a type.
-// class Sub extends C {
-//                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:36:3: Error: Can't use 'main' because it is declared more than once.
-//   main();
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:37:9: Error: Can't use 'field' because it is declared more than once.
-//   print(field);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:38:3: Error: Can't use 'C' because it is declared more than once.
-//   C.s();
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:64:17: Error: Can't use 's' because it is declared more than once.
-//   static f() => s;
-//                 ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:68:16: Error: Too many positional arguments: 0 allowed, but 1 found.
-// Try removing the extra positional arguments.
-//   Sub() : super(null);
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:69:16: Error: Superclass has no method named 'm'.
-//   m() => super.m();
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:104:38: Error: Can't use '_name' because it is declared more than once.
-//     "AnotherEnum._name": AnotherEnum._name,
-//                                      ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:105:38: Error: Can't use 'index' because it is declared more than once.
-//     "AnotherEnum.index": AnotherEnum.index,
-//                                      ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:106:41: Error: Can't use 'toString' because it is declared more than once.
-//     "AnotherEnum.toString": AnotherEnum.toString,
-//                                         ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:107:39: Error: Can't use 'values' because it is declared more than once.
-//     "AnotherEnum.values": AnotherEnum.values,
-//                                       ^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:64: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C#3 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  constructor _() → self::C#3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C#2 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
-  field core::String* 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_nnbd_opt_out/duplicated_declarations_part.dart:64:17: Error: Can't use 's' because it is declared more than once.
-  static f() => s;
-                ^";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C#1 extends core::Object {
-  constructor _() → self::C#1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field core::String* 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_nnbd_opt_out/duplicated_declarations.dart:64:17: Error: Can't use 's' because it is declared more than once.
-  static f() => s;
-                ^";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sub extends core::Object {
-  constructor •() → self::Sub*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:68:16: Error: Too many positional arguments: 0 allowed, but 1 found.
-Try removing the extra positional arguments.
-  Sub() : super(null);
-               ^"
-    ;
-  method m() → dynamic
-    return super.m();
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum#4 extends core::Object /*isEnum*/  { // 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 = #C4;
-  static const field self::Enum#4* a = #C3;
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum#3 extends core::Object /*isEnum*/  { // 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 = #C12;
-  static const field self::Enum#3* a = #C5;
-  static const field self::Enum#3* b = #C8;
-  static const field self::Enum#3* c = #C11;
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum#2 extends core::Object /*isEnum*/  { // 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 = #C17;
-  static const field self::Enum#2* Enum = #C14;
-  static const field self::Enum#2* a = #C15;
-  static const field self::Enum#2* b = #C16;
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum#1 extends core::Object /*isEnum*/  {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum#1*>* values = #C21;
-  static const field self::Enum#1* a = #C18;
-  static const field self::Enum#1* b = #C19;
-  static const field self::Enum#1* c = #C20;
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Enum extends core::Object /*isEnum*/  {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::Enum*>* values = #C25;
-  static const field self::Enum* Enum = #C22;
-  static const field self::Enum* a = #C23;
-  static const field self::Enum* b = #C24;
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AnotherEnum extends core::Object /*isEnum*/  {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::AnotherEnum*>* values = #C32;
-  static const field self::AnotherEnum* a = #C27;
-  static const field self::AnotherEnum* b = #C29;
-  static const field self::AnotherEnum* c = #C31;
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::String* field;
-static method main() → dynamic {
-  "1st";
-}
-static method foo() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:36:3: Error: Can't use 'main' because it is declared more than once.
-  main();
-  ^".call();
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:37:9: Error: Can't use 'field' because it is declared more than once.
-  print(field);
-        ^");
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:38: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": #C27, "AnotherEnum.b": #C29, "AnotherEnum.c": #C31, "AnotherEnum._name": invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:104: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_nnbd_opt_out/duplicated_declarations.dart:105: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_nnbd_opt_out/duplicated_declarations.dart:106: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_nnbd_opt_out/duplicated_declarations.dart:107:39: Error: Can't use 'values' because it is declared more than once.
-    \"AnotherEnum.values\": AnotherEnum.values,
-                                      ^^^^^^"};
-}
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-
-
-constants  {
-  #C1 = 0
-  #C2 = "Enum.a"
-  #C3 = self::Enum#4 {index:#C1, _name:#C2}
-  #C4 = <self::Enum#4*>[#C3]
-  #C5 = self::Enum#3 {index:#C1, _name:#C2}
-  #C6 = 1
-  #C7 = "Enum.b"
-  #C8 = self::Enum#3 {index:#C6, _name:#C7}
-  #C9 = 2
-  #C10 = "Enum.c"
-  #C11 = self::Enum#3 {index:#C9, _name:#C10}
-  #C12 = <self::Enum#3*>[#C5, #C8, #C11]
-  #C13 = "Enum.Enum"
-  #C14 = self::Enum#2 {index:#C1, _name:#C13}
-  #C15 = self::Enum#2 {index:#C6, _name:#C2}
-  #C16 = self::Enum#2 {index:#C9, _name:#C7}
-  #C17 = <self::Enum#2*>[#C14, #C15, #C16]
-  #C18 = self::Enum#1 {index:#C1, _name:#C2}
-  #C19 = self::Enum#1 {index:#C6, _name:#C7}
-  #C20 = self::Enum#1 {index:#C9, _name:#C10}
-  #C21 = <self::Enum#1*>[#C18, #C19, #C20]
-  #C22 = self::Enum {index:#C1, _name:#C13}
-  #C23 = self::Enum {index:#C6, _name:#C2}
-  #C24 = self::Enum {index:#C9, _name:#C7}
-  #C25 = <self::Enum*>[#C22, #C23, #C24]
-  #C26 = "AnotherEnum.a"
-  #C27 = self::AnotherEnum {index:#C1, _name:#C26}
-  #C28 = "AnotherEnum.b"
-  #C29 = self::AnotherEnum {index:#C6, _name:#C28}
-  #C30 = "AnotherEnum.c"
-  #C31 = self::AnotherEnum {index:#C9, _name:#C30}
-  #C32 = <self::AnotherEnum*>[#C27, #C29, #C31]
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.strong.transformed.expect
deleted file mode 100644
index a61366d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.strong.transformed.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:7:9: Error: Duplicated definition of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:11:16: Error: Duplicated definition of 'OldTypedef'.
-// typedef Object OldTypedef();
-//                ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:15:5: Error: Duplicated definition of 'field'.
-// var field = "2nd";
-//     ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:21:1: Error: Duplicated definition of 'main'.
-// main() {
-// ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:33:3: Error: Duplicated definition of ''.
-//   C(a, b);
-//   ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:36:7: Error: Duplicated definition of 'field'.
-//   var field = "2nd";
-//       ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:42:3: Error: Duplicated definition of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:50:10: Error: Duplicated definition of 's'.
-//   static s() {
-//          ^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Typedef = () → void;
-typedef OldTypedef = () → void;
-class C extends core::Object {
-  field dynamic field = null;
-  constructor •(dynamic a) → void
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    "1st";
-  }
-  static method s() → dynamic {
-    "1st";
-  }
-  static method f() → dynamic
-    return invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:54:17: Error: 's' is already declared in this scope.
-  static f() => s;
-                ^";
-}
-class Sub extends self::C {
-  constructor •() → void
-    : super self::C::•(null)
-    ;
-  method m() → dynamic
-    return super.{self::C::m}();
-}
-static field dynamic field;
-static method main() → dynamic {
-  "1st";
-}
-static method foo() → dynamic {
-  invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:26:3: Error: 'main' is already declared in this scope.
-  main();
-  ^".call();
-  core::print(invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:27:9: Error: 'field' is already declared in this scope.
-  print(field);
-        ^");
-  self::C::s();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.outline.expect
new file mode 100644
index 0000000..4e5874f
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.outline.expect
@@ -0,0 +1,588 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/duplicated_declarations.dart:11: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_nnbd_opt_out/duplicated_declarations.dart:15:9: Error: 'Typedef' is already declared in this scope.
+// typedef Typedef = Object Function();
+//         ^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:13:9: Context: Previous declaration of 'Typedef'.
+// typedef Typedef = void Function();
+//         ^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:17: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_nnbd_opt_out/duplicated_declarations.dart:21:16: Error: 'OldTypedef' is already declared in this scope.
+// typedef Object OldTypedef();
+//                ^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:19:14: Context: Previous declaration of 'OldTypedef'.
+// typedef void OldTypedef();
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:25:5: Error: 'field' is already declared in this scope.
+// var field = "2nd";
+//     ^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:23:5: Context: Previous declaration of 'field'.
+// var field = "1st";
+//     ^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:31:1: Error: 'main' is already declared in this scope.
+// main() {
+// ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:27:1: Context: Previous declaration of 'main'.
+// main() {
+// ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:43:3: Error: 'C' is already declared in this scope.
+//   C(a, b);
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:42:3: Context: Previous declaration of 'C'.
+//   C(a);
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:46:7: Error: 'field' is already declared in this scope.
+//   var field = "2nd";
+//       ^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:44:7: Context: Previous declaration of 'field'.
+//   var field = "1st";
+//       ^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:52:3: Error: 'm' is already declared in this scope.
+//   m() {
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:48:3: Context: Previous declaration of 'm'.
+//   m() {
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:60:10: Error: 's' is already declared in this scope.
+//   static s() {
+//          ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:56:10: Context: Previous declaration of 's'.
+//   static s() {
+//          ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:72:7: Error: 'C' is already declared in this scope.
+// class C {
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:41:7: Context: Previous declaration of 'C'.
+// class C {
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:77:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
+//   Enum,
+//   ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:79:3: Error: 'a' is already declared in this scope.
+//   a,
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:78:3: Context: Previous declaration of 'a'.
+//   a,
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:83:6: Error: 'Enum' is already declared in this scope.
+// enum Enum {
+//      ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:76:6: Context: Previous declaration of 'Enum'.
+// enum Enum {
+//      ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:93:3: Error: '_name' is already declared in this scope.
+//   _name,
+//   ^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of '_name' is implied by this definition.
+// enum AnotherEnum {
+//      ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:94:3: Error: 'index' is already declared in this scope.
+//   index,
+//   ^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'index' is implied by this definition.
+// enum AnotherEnum {
+//      ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:95:3: Error: 'toString' is already declared in this scope.
+//   toString,
+//   ^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'toString' is implied by this definition.
+// enum AnotherEnum {
+//      ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:96:3: Error: 'values' is already declared in this scope.
+//   values,
+//   ^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:89:6: Context: Previous declaration of 'values' is implied by this definition.
+// enum AnotherEnum {
+//      ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:13:9: Error: 'Typedef' is already declared in this scope.
+// typedef Typedef = void Function();
+//         ^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:15:9: Context: Previous declaration of 'Typedef'.
+// typedef Typedef = Object Function();
+//         ^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:19:14: Error: 'OldTypedef' is already declared in this scope.
+// typedef void OldTypedef();
+//              ^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:21:16: Context: Previous declaration of 'OldTypedef'.
+// typedef Object OldTypedef();
+//                ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:23:5: Error: 'field' is already declared in this scope.
+// var field = "3rd";
+//     ^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:25:5: Context: Previous declaration of 'field'.
+// var field = "2nd";
+//     ^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:29:1: Error: 'main' is already declared in this scope.
+// main() {
+// ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:31:1: Context: Previous declaration of 'main'.
+// main() {
+// ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:41:7: Error: 'C' is already declared in this scope.
+// class C {
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:72:7: Context: Previous declaration of 'C'.
+// class C {
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:75:6: Error: 'Enum' is already declared in this scope.
+// enum Enum {
+//      ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:83:6: Context: Previous declaration of 'Enum'.
+// enum Enum {
+//      ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/duplicated_declarations_part.dart:11: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_nnbd_opt_out/duplicated_declarations_part.dart:15:9: Error: 'Typedef' is already declared in this scope.
+// typedef Typedef = Object Function();
+//         ^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:13:9: Context: Previous declaration of 'Typedef'.
+// typedef Typedef = void Function();
+//         ^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:17: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_nnbd_opt_out/duplicated_declarations_part.dart:21:16: Error: 'OldTypedef' is already declared in this scope.
+// typedef Object OldTypedef();
+//                ^^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:19:14: Context: Previous declaration of 'OldTypedef'.
+// typedef void OldTypedef();
+//              ^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:25:5: Error: 'field' is already declared in this scope.
+// var field = 4;
+//     ^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:23:5: Context: Previous declaration of 'field'.
+// var field = "3rd";
+//     ^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:27:5: Error: 'field' is already declared in this scope.
+// var field = 5.0;
+//     ^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:25:5: Context: Previous declaration of 'field'.
+// var field = 4;
+//     ^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:33:1: Error: 'main' is already declared in this scope.
+// main() {
+// ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:29:1: Context: Previous declaration of 'main'.
+// main() {
+// ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:37:1: Error: 'main' is already declared in this scope.
+// main() {
+// ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:33:1: Context: Previous declaration of 'main'.
+// main() {
+// ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:43:3: Error: 'C' is already declared in this scope.
+//   C(a, b);
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:42:3: Context: Previous declaration of 'C'.
+//   C(a);
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:46:7: Error: 'field' is already declared in this scope.
+//   var field = "2nd";
+//       ^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:44:7: Context: Previous declaration of 'field'.
+//   var field = "1st";
+//       ^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:52:3: Error: 'm' is already declared in this scope.
+//   m() {
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:48:3: Context: Previous declaration of 'm'.
+//   m() {
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:60:10: Error: 's' is already declared in this scope.
+//   static s() {
+//          ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:56:10: Context: Previous declaration of 's'.
+//   static s() {
+//          ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:67:7: Error: 'C' is already declared in this scope.
+// class C {
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:41:7: Context: Previous declaration of 'C'.
+// class C {
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:71:7: Error: 'C' is already declared in this scope.
+// class C {
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:67:7: Context: Previous declaration of 'C'.
+// class C {
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:76:3: Error: Name of enum constant 'Enum' can't be the same as the enum's own name.
+//   Enum,
+//   ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:78:3: Error: 'a' is already declared in this scope.
+//   a,
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:77:3: Context: Previous declaration of 'a'.
+//   a,
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:82:6: Error: 'Enum' is already declared in this scope.
+// enum Enum {
+//      ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:75:6: Context: Previous declaration of 'Enum'.
+// enum Enum {
+//      ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:88:6: Error: 'Enum' is already declared in this scope.
+// enum Enum {
+//      ^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:82:6: Context: Previous declaration of 'Enum'.
+// enum Enum {
+//      ^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:9:46: Error: 'Typedef' is already declared in this scope.
+// import 'duplicated_declarations_lib.dart' as Typedef;
+//                                              ^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations_part.dart:15:9: Context: Previous declaration of 'Typedef'.
+// typedef Typedef = Object Function();
+//         ^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:67:19: Error: 'C' isn't a type.
+// class Sub extends C {
+//                   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart:67:19: Context: This isn't a type.
+// class Sub extends C {
+//                   ^
+//
+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*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C#3 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
+  constructor _() → self::C#3*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C#2 extends core::Object { // from org-dartlang-testcase:///duplicated_declarations_part.dart
+  field core::String* field;
+  constructor •(dynamic a) → self::C#2*
+    ;
+  method m() → dynamic
+    ;
+  static method s() → dynamic
+    ;
+  static method f() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C#1 extends core::Object {
+  constructor _() → self::C#1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends core::Object {
+  field core::String* field;
+  constructor •(dynamic a) → self::C*
+    ;
+  method m() → dynamic
+    ;
+  static method s() → dynamic
+    ;
+  static method f() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Sub extends core::Object {
+  constructor •() → self::Sub*
+    ;
+  method m() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Enum#4 extends core::Object /*isEnum*/  { // 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 = const <self::Enum#4*>[self::Enum#4::a];
+  static const field self::Enum#4* a = const self::Enum#4::•(0, "Enum.a");
+  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};
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Enum#3 extends core::Object /*isEnum*/  { // 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 = const <self::Enum#3*>[self::Enum#3::a, self::Enum#3::b, self::Enum#3::c];
+  static const field self::Enum#3* a = const self::Enum#3::•(0, "Enum.a");
+  static const field self::Enum#3* b = const self::Enum#3::•(1, "Enum.b");
+  static const field self::Enum#3* c = const self::Enum#3::•(2, "Enum.c");
+  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};
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Enum#2 extends core::Object /*isEnum*/  { // 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 = const <self::Enum#2*>[self::Enum#2::Enum, self::Enum#2::a, self::Enum#2::b];
+  static const field self::Enum#2* Enum = const self::Enum#2::•(0, "Enum.Enum");
+  static const field self::Enum#2* a = const self::Enum#2::•(1, "Enum.a");
+  static const field self::Enum#2* b = const self::Enum#2::•(2, "Enum.b");
+  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};
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Enum#1 extends core::Object /*isEnum*/  {
+  final field core::int* index;
+  final field core::String* _name;
+  static const field core::List<self::Enum#1*>* values = const <self::Enum#1*>[self::Enum#1::a, self::Enum#1::b, self::Enum#1::c];
+  static const field self::Enum#1* a = const self::Enum#1::•(0, "Enum.a");
+  static const field self::Enum#1* b = const self::Enum#1::•(1, "Enum.b");
+  static const field self::Enum#1* c = const self::Enum#1::•(2, "Enum.c");
+  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};
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Enum extends core::Object /*isEnum*/  {
+  final field core::int* index;
+  final field core::String* _name;
+  static const field core::List<self::Enum*>* values = const <self::Enum*>[self::Enum::Enum, self::Enum::a, self::Enum::b];
+  static const field self::Enum* Enum = const self::Enum::•(0, "Enum.Enum");
+  static const field self::Enum* a = const self::Enum::•(1, "Enum.a");
+  static const field self::Enum* b = const self::Enum::•(2, "Enum.b");
+  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};
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class AnotherEnum extends core::Object /*isEnum*/  {
+  final field core::int* index;
+  final field core::String* _name;
+  static const field core::List<self::AnotherEnum*>* values = const <self::AnotherEnum*>[self::AnotherEnum::a, self::AnotherEnum::b, self::AnotherEnum::c];
+  static const field self::AnotherEnum* a = const self::AnotherEnum::•(0, "AnotherEnum.a");
+  static const field self::AnotherEnum* b = const self::AnotherEnum::•(1, "AnotherEnum.b");
+  static const field self::AnotherEnum* c = const self::AnotherEnum::•(2, "AnotherEnum.c");
+  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};
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field core::String* field;
+static method main() → dynamic
+  ;
+static method foo() → dynamic
+  ;
+static method useAnotherEnum() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///duplicated_declarations_part.dart:88:6 -> ListConstant(const <Enum#4*>[const Enum#4{Enum#4.index: 0, Enum#4._name: "Enum.a"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations_part.dart:89:3 -> InstanceConstant(const Enum#4{Enum#4.index: 0, Enum#4._name: "Enum.a"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///duplicated_declarations_part.dart:82:6 -> ListConstant(const <Enum#3*>[const Enum#3{Enum#3.index: 0, Enum#3._name: "Enum.a"}, const Enum#3{Enum#3.index: 1, Enum#3._name: "Enum.b"}, const Enum#3{Enum#3.index: 2, Enum#3._name: "Enum.c"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations_part.dart:83:3 -> InstanceConstant(const Enum#3{Enum#3.index: 0, Enum#3._name: "Enum.a"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations_part.dart:84:3 -> InstanceConstant(const Enum#3{Enum#3.index: 1, Enum#3._name: "Enum.b"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations_part.dart:85:3 -> InstanceConstant(const Enum#3{Enum#3.index: 2, Enum#3._name: "Enum.c"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///duplicated_declarations_part.dart:75:6 -> ListConstant(const <Enum#2*>[const Enum#2{Enum#2.index: 0, Enum#2._name: "Enum.Enum"}, const Enum#2{Enum#2.index: 1, Enum#2._name: "Enum.a"}, const Enum#2{Enum#2.index: 2, Enum#2._name: "Enum.b"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations_part.dart:76:3 -> InstanceConstant(const Enum#2{Enum#2.index: 0, Enum#2._name: "Enum.Enum"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations_part.dart:77:3 -> InstanceConstant(const Enum#2{Enum#2.index: 1, Enum#2._name: "Enum.a"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations_part.dart:79:3 -> InstanceConstant(const Enum#2{Enum#2.index: 2, Enum#2._name: "Enum.b"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///duplicated_declarations.dart:83:6 -> ListConstant(const <Enum#1*>[const Enum#1{Enum#1.index: 0, Enum#1._name: "Enum.a"}, const Enum#1{Enum#1.index: 1, Enum#1._name: "Enum.b"}, const Enum#1{Enum#1.index: 2, Enum#1._name: "Enum.c"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:84:3 -> InstanceConstant(const Enum#1{Enum#1.index: 0, Enum#1._name: "Enum.a"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:85:3 -> InstanceConstant(const Enum#1{Enum#1.index: 1, Enum#1._name: "Enum.b"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:86:3 -> InstanceConstant(const Enum#1{Enum#1.index: 2, Enum#1._name: "Enum.c"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///duplicated_declarations.dart:76:6 -> ListConstant(const <Enum*>[const Enum{Enum.index: 0, Enum._name: "Enum.Enum"}, const Enum{Enum.index: 1, Enum._name: "Enum.a"}, const Enum{Enum.index: 2, Enum._name: "Enum.b"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:77:3 -> InstanceConstant(const Enum{Enum.index: 0, Enum._name: "Enum.Enum"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:78:3 -> InstanceConstant(const Enum{Enum.index: 1, Enum._name: "Enum.a"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:80:3 -> InstanceConstant(const Enum{Enum.index: 2, Enum._name: "Enum.b"})
+Evaluated: ListLiteral @ org-dartlang-testcase:///duplicated_declarations.dart:89:6 -> ListConstant(const <AnotherEnum*>[const AnotherEnum{AnotherEnum.index: 0, AnotherEnum._name: "AnotherEnum.a"}, const AnotherEnum{AnotherEnum.index: 1, AnotherEnum._name: "AnotherEnum.b"}, const AnotherEnum{AnotherEnum.index: 2, AnotherEnum._name: "AnotherEnum.c"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:90:3 -> InstanceConstant(const AnotherEnum{AnotherEnum.index: 0, AnotherEnum._name: "AnotherEnum.a"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:91:3 -> InstanceConstant(const AnotherEnum{AnotherEnum.index: 1, AnotherEnum._name: "AnotherEnum.b"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///duplicated_declarations.dart:92:3 -> InstanceConstant(const AnotherEnum{AnotherEnum.index: 2, AnotherEnum._name: "AnotherEnum.c"})
+Extra constant evaluation: evaluated: 46, effectively constant: 22
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.transformed.expect
deleted file mode 100644
index a61366d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_declarations.dart.weak.transformed.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-// Unhandled errors:
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:7:9: Error: Duplicated definition of 'Typedef'.
-// typedef Typedef = Object Function();
-//         ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:11:16: Error: Duplicated definition of 'OldTypedef'.
-// typedef Object OldTypedef();
-//                ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:15:5: Error: Duplicated definition of 'field'.
-// var field = "2nd";
-//     ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:21:1: Error: Duplicated definition of 'main'.
-// main() {
-// ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:33:3: Error: Duplicated definition of ''.
-//   C(a, b);
-//   ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:36:7: Error: Duplicated definition of 'field'.
-//   var field = "2nd";
-//       ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:42:3: Error: Duplicated definition of 'm'.
-//   m() {
-//   ^
-//
-// pkg/front_end/testcases/duplicated_declarations.dart:50:10: Error: Duplicated definition of 's'.
-//   static s() {
-//          ^
-
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Typedef = () → void;
-typedef OldTypedef = () → void;
-class C extends core::Object {
-  field dynamic field = null;
-  constructor •(dynamic a) → void
-    : super core::Object::•()
-    ;
-  method m() → dynamic {
-    "1st";
-  }
-  static method s() → dynamic {
-    "1st";
-  }
-  static method f() → dynamic
-    return invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:54:17: Error: 's' is already declared in this scope.
-  static f() => s;
-                ^";
-}
-class Sub extends self::C {
-  constructor •() → void
-    : super self::C::•(null)
-    ;
-  method m() → dynamic
-    return super.{self::C::m}();
-}
-static field dynamic field;
-static method main() → dynamic {
-  "1st";
-}
-static method foo() → dynamic {
-  invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:26:3: Error: 'main' is already declared in this scope.
-  main();
-  ^".call();
-  core::print(invalid-expression "pkg/front_end/testcases/duplicated_declarations.dart:27:9: Error: 'field' is already declared in this scope.
-  print(field);
-        ^");
-  self::C::s();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.hierarchy.expect
deleted file mode 100644
index eef7d41..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.outline.expect
deleted file mode 100644
index 0d5f584..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.outline.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:9:7: Error: 'a' is already declared in this scope.
-//   int a;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:8:7: Context: Previous declaration of 'a'.
-//   int a;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a;
-  constructor •(core::int* a) → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.strong.expect
deleted file mode 100644
index e965598..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.strong.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:9:7: Error: 'a' is already declared in this scope.
-//   int a;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:8:7: Context: Previous declaration of 'a'.
-//   int a;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:10: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 •(core::int* a) → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:10:10: Error: Can't use 'a' because it is declared more than once.
-  A(this.a);
-         ^", super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {
-  new self::A::•(1);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.strong.transformed.expect
deleted file mode 100644
index e965598..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.strong.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:9:7: Error: 'a' is already declared in this scope.
-//   int a;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:8:7: Context: Previous declaration of 'a'.
-//   int a;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:10: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 •(core::int* a) → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:10:10: Error: Can't use 'a' because it is declared more than once.
-  A(this.a);
-         ^", super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {
-  new self::A::•(1);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.weak.outline.expect
new file mode 100644
index 0000000..5c29c8c
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:9:7: Error: 'a' is already declared in this scope.
+//   int a;
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_field_initializer.dart:8:7: Context: Previous declaration of 'a'.
+//   int a;
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int* a;
+  constructor •(core::int* a) → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.hierarchy.expect
deleted file mode 100644
index 62a1574..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.outline.expect
deleted file mode 100644
index e7f9733..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  static method m({core::int* a}) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.strong.expect
deleted file mode 100644
index 501bac4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.strong.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart:15:13: Error: Duplicated named argument 'a'.
-//   C.m(a: 1, a: 2, a: 3);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart:15:19: Error: Duplicated named argument 'a'.
-//   C.m(a: 1, a: 2, a: 3);
-//                   ^
-//
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → void {
-  self::C::m(a: invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart:15:19: Error: Duplicated named argument 'a'.
-  C.m(a: 1, a: 2, a: 3);
-                  ^");
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.strong.transformed.expect
deleted file mode 100644
index 501bac4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.strong.transformed.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart:15:13: Error: Duplicated named argument 'a'.
-//   C.m(a: 1, a: 2, a: 3);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart:15:19: Error: Duplicated named argument 'a'.
-//   C.m(a: 1, a: 2, a: 3);
-//                   ^
-//
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → void {
-  self::C::m(a: invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart:15:19: Error: Duplicated named argument 'a'.
-  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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/duplicated_named_args_3.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/duplicated_named_args_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.outline.expect
deleted file mode 100644
index 3c0928e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.outline.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart:12:1: Error: Type 'dynamic' not found.
-// dynamic testDynamic() => 0;
-// ^^^^^^^
-//
-import self as self;
-
-import "dart:core";
-
-static method testDynamic() → invalid-type
-  ;
-static method testVoid() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.strong.expect
deleted file mode 100644
index 87aef8c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.strong.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart:12:1: Error: Type 'dynamic' not found.
-// 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_nnbd_opt_out/dynamic_and_void.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.strong.transformed.expect
deleted file mode 100644
index 87aef8c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.strong.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart:12:1: Error: Type 'dynamic' not found.
-// 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_nnbd_opt_out/dynamic_and_void.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.weak.outline.expect
new file mode 100644
index 0000000..cde6b93
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart.weak.outline.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/dynamic_and_void.dart:12:1: Error: Type 'dynamic' not found.
+// dynamic testDynamic() => 0;
+// ^^^^^^^
+//
+import self as self;
+
+import "dart:core" show int;
+
+static method testDynamic() → invalid-type
+  ;
+static method testVoid() → void
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.outline.expect
deleted file mode 100644
index 72f723d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.outline.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///error_location_01_lib1.dart";
-import "org-dartlang-testcase:///error_location_01_lib2.dart";
-
-static method main() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → self2::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic
-  ;
-
-library;
-import self as self3;
-
-import "org-dartlang-testcase:///error_location_01_lib1.dart";
-
-static method bar() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.strong.expect
deleted file mode 100644
index 3007bfa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.strong.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01_lib2.dart:10:9: Error: Constant evaluation error:
-//   const Foo(0);
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-//
-library;
-import self as self;
-import "error_location_01_lib1.dart" as err;
-import "error_location_01_lib2.dart" as err2;
-
-import "org-dartlang-testcase:///error_location_01_lib1.dart";
-import "org-dartlang-testcase:///error_location_01_lib2.dart";
-
-static method main() → dynamic {
-  err::foo();
-  err2::bar();
-}
-
-library;
-import self as err;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic {
-  new err::Foo::•(0);
-}
-
-library;
-import self as err2;
-
-import "org-dartlang-testcase:///error_location_01_lib1.dart";
-
-static method bar() → dynamic {
-  invalid-expression "This assertion failed.";
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.strong.transformed.expect
deleted file mode 100644
index 3007bfa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.strong.transformed.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01_lib2.dart:10:9: Error: Constant evaluation error:
-//   const Foo(0);
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-//
-library;
-import self as self;
-import "error_location_01_lib1.dart" as err;
-import "error_location_01_lib2.dart" as err2;
-
-import "org-dartlang-testcase:///error_location_01_lib1.dart";
-import "org-dartlang-testcase:///error_location_01_lib2.dart";
-
-static method main() → dynamic {
-  err::foo();
-  err2::bar();
-}
-
-library;
-import self as err;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic {
-  new err::Foo::•(0);
-}
-
-library;
-import self as err2;
-
-import "org-dartlang-testcase:///error_location_01_lib1.dart";
-
-static method bar() → dynamic {
-  invalid-expression "This assertion failed.";
-}
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_01.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/error_locations/error_location_01.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_01.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.outline.expect
deleted file mode 100644
index 5022580..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.outline.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///error_location_02_lib1.dart";
-import "org-dartlang-testcase:///error_location_02_lib2.dart";
-import "org-dartlang-testcase:///error_location_02_lib3.dart";
-
-static method main() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → self2::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic
-  ;
-
-library;
-import self as self3;
-import "error_location_02_lib1.dart" as self2;
-
-import "org-dartlang-testcase:///error_location_02_lib1.dart";
-
-static const field self2::Foo* fooField = const self2::Foo::•(0);
-
-library;
-import self as self4;
-import "error_location_02_lib1.dart" as self2;
-import "error_location_02_lib2.dart" as self3;
-
-import "org-dartlang-testcase:///error_location_02_lib2.dart";
-
-static const field self2::Foo* fooField2 = self3::fooField;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.strong.expect
deleted file mode 100644
index df8b630..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.strong.expect
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib3.dart:9:19: Error: Constant evaluation error:
-// const fooField2 = fooField;
-//                   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib3.dart:9:7: Context: While analyzing:
-// const fooField2 = fooField;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib2.dart:9:24: Error: Constant evaluation error:
-// const fooField = const Foo(0);
-//                        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib2.dart:9:7: Context: While analyzing:
-// const fooField = const Foo(0);
-//       ^
-//
-library;
-import self as self;
-import "error_location_02_lib1.dart" as err;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///error_location_02_lib1.dart";
-import "org-dartlang-testcase:///error_location_02_lib2.dart";
-import "org-dartlang-testcase:///error_location_02_lib3.dart";
-
-static method main() → dynamic {
-  err::foo();
-  core::print(invalid-expression "This assertion failed.");
-}
-
-library;
-import self as err;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic {
-  new err::Foo::•(0);
-}
-
-library;
-import self as self2;
-import "error_location_02_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_02_lib1.dart";
-
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
-
-library;
-import self as self3;
-import "error_location_02_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_02_lib2.dart";
-
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.strong.transformed.expect
deleted file mode 100644
index df8b630..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.strong.transformed.expect
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib3.dart:9:19: Error: Constant evaluation error:
-// const fooField2 = fooField;
-//                   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib3.dart:9:7: Context: While analyzing:
-// const fooField2 = fooField;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib2.dart:9:24: Error: Constant evaluation error:
-// const fooField = const Foo(0);
-//                        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02_lib2.dart:9:7: Context: While analyzing:
-// const fooField = const Foo(0);
-//       ^
-//
-library;
-import self as self;
-import "error_location_02_lib1.dart" as err;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///error_location_02_lib1.dart";
-import "org-dartlang-testcase:///error_location_02_lib2.dart";
-import "org-dartlang-testcase:///error_location_02_lib3.dart";
-
-static method main() → dynamic {
-  err::foo();
-  core::print(invalid-expression "This assertion failed.");
-}
-
-library;
-import self as err;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic {
-  new err::Foo::•(0);
-}
-
-library;
-import self as self2;
-import "error_location_02_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_02_lib1.dart";
-
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
-
-library;
-import self as self3;
-import "error_location_02_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_02_lib2.dart";
-
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_02.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/error_locations/error_location_02.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_02.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.outline.expect
deleted file mode 100644
index 51c5f85..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.outline.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-import "org-dartlang-testcase:///error_location_03_lib2.dart";
-import "org-dartlang-testcase:///error_location_03_lib3.dart";
-
-static method main() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → self2::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic
-  ;
-
-library;
-import self as self3;
-import "error_location_03_lib1.dart" as self2;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-
-static const field self2::Foo* fooField = const self2::Foo::•(0);
-
-library;
-import self as self4;
-import "error_location_03_lib1.dart" as self2;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-
-static const field self2::Foo* fooField2 = const self2::Foo::•(0);
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.strong.expect
deleted file mode 100644
index f68056f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.strong.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib2.dart:9:24: Error: Constant evaluation error:
-// const fooField = const Foo(0);
-//                        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib2.dart:9:7: Context: While analyzing:
-// const fooField = const Foo(0);
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib3.dart:9:25: Error: Constant evaluation error:
-// const fooField2 = const Foo(0);
-//                         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib3.dart:9:7: Context: While analyzing:
-// const fooField2 = const Foo(0);
-//       ^
-//
-library;
-import self as self;
-import "error_location_03_lib1.dart" as err;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-import "org-dartlang-testcase:///error_location_03_lib2.dart";
-import "org-dartlang-testcase:///error_location_03_lib3.dart";
-
-static method main() → dynamic {
-  err::foo();
-  core::print(invalid-expression "This assertion failed.");
-  core::print(invalid-expression "This assertion failed.");
-}
-
-library;
-import self as err;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic {
-  new err::Foo::•(0);
-}
-
-library;
-import self as self2;
-import "error_location_03_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
-
-library;
-import self as self3;
-import "error_location_03_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.strong.transformed.expect
deleted file mode 100644
index f68056f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.strong.transformed.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib2.dart:9:24: Error: Constant evaluation error:
-// const fooField = const Foo(0);
-//                        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib2.dart:9:7: Context: While analyzing:
-// const fooField = const Foo(0);
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib3.dart:9:25: Error: Constant evaluation error:
-// const fooField2 = const Foo(0);
-//                         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03_lib3.dart:9:7: Context: While analyzing:
-// const fooField2 = const Foo(0);
-//       ^
-//
-library;
-import self as self;
-import "error_location_03_lib1.dart" as err;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-import "org-dartlang-testcase:///error_location_03_lib2.dart";
-import "org-dartlang-testcase:///error_location_03_lib3.dart";
-
-static method main() → dynamic {
-  err::foo();
-  core::print(invalid-expression "This assertion failed.");
-  core::print(invalid-expression "This assertion failed.");
-}
-
-library;
-import self as err;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic {
-  new err::Foo::•(0);
-}
-
-library;
-import self as self2;
-import "error_location_03_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-
-static const field err::Foo* fooField = invalid-expression "This assertion failed.";
-
-library;
-import self as self3;
-import "error_location_03_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_03_lib1.dart";
-
-static const field err::Foo* fooField2 = invalid-expression "This assertion failed.";
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_03.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/error_locations/error_location_03.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_03.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.outline.expect
deleted file mode 100644
index be99d90..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.outline.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///error_location_04_lib1.dart";
-import "org-dartlang-testcase:///error_location_04_lib2.dart";
-
-static method main() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → self2::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic
-  ;
-
-library;
-import self as self3;
-import "dart:core" as core;
-import "error_location_04_lib1.dart" as self2;
-
-import "org-dartlang-testcase:///error_location_04_lib1.dart";
-
-class Bar extends core::Object /*hasConstConstructor*/  {
-  final field self2::Foo* x;
-  const constructor •() → self3::Bar*
-    : self3::Bar::x = const self2::Foo::•(0), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method bar() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.strong.expect
deleted file mode 100644
index 4d155f1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.strong.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04_lib2.dart:11:27: Error: Constant evaluation error:
-//   const Bar() : x = const Foo(0);
-//                           ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-//
-library;
-import self as self;
-import "error_location_04_lib1.dart" as err;
-import "error_location_04_lib2.dart" as err2;
-
-import "org-dartlang-testcase:///error_location_04_lib1.dart";
-import "org-dartlang-testcase:///error_location_04_lib2.dart";
-
-static method main() → dynamic {
-  err::foo();
-  err2::bar();
-}
-
-library;
-import self as err;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic {
-  new err::Foo::•(0);
-}
-
-library;
-import self as err2;
-import "dart:core" as core;
-import "error_location_04_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_04_lib1.dart";
-
-class Bar extends core::Object /*hasConstConstructor*/  {
-  final field err::Foo* x;
-  const constructor •() → err2::Bar*
-    : err2::Bar::x = invalid-expression "This assertion failed.", super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method bar() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.strong.transformed.expect
deleted file mode 100644
index 4d155f1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.strong.transformed.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04_lib2.dart:11:27: Error: Constant evaluation error:
-//   const Bar() : x = const Foo(0);
-//                           ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04_lib1.dart:8:31: Context: This assertion failed.
-//   const Foo(int i) : assert(i > 0);
-//                               ^
-//
-library;
-import self as self;
-import "error_location_04_lib1.dart" as err;
-import "error_location_04_lib2.dart" as err2;
-
-import "org-dartlang-testcase:///error_location_04_lib1.dart";
-import "org-dartlang-testcase:///error_location_04_lib2.dart";
-
-static method main() → dynamic {
-  err::foo();
-  err2::bar();
-}
-
-library;
-import self as err;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::int* i) → err::Foo*
-    : assert(i.{core::num::>}(0)), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo() → dynamic {
-  new err::Foo::•(0);
-}
-
-library;
-import self as err2;
-import "dart:core" as core;
-import "error_location_04_lib1.dart" as err;
-
-import "org-dartlang-testcase:///error_location_04_lib1.dart";
-
-class Bar extends core::Object /*hasConstConstructor*/  {
-  final field err::Foo* x;
-  const constructor •() → err2::Bar*
-    : err2::Bar::x = invalid-expression "This assertion failed.", super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method bar() → dynamic {}
diff --git a/pkg/front_end/testcases/general/error_locations/error_location_04.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/error_locations/error_location_04.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_04.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.strong.expect
deleted file mode 100644
index b2251bc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.strong.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library error_location_05;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05_lib1.dart:9:8: Error: Duplicated parameter name 'z'.
-// x1(z, {z}) {}
-//        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05_lib1.dart:9:4: Context: Other parameter named 'z'.
-// x1(z, {z}) {}
-//    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05_lib1.dart:12:9: Error: 'z' is already declared in this scope.
-//   y(z, {z}) {}
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05_lib1.dart:12:5: Context: Previous declaration of 'z'.
-//   y(z, {z}) {}
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-part error_location_05_lib1.dart;
-static method /* from org-dartlang-testcase:///error_location_05_lib1.dart */ x1(dynamic z, {dynamic z = #C1}) → dynamic {}
-static method /* from org-dartlang-testcase:///error_location_05_lib1.dart */ x2() → dynamic {
-  function y(dynamic z, {dynamic z = #C1}) → core::Null? {}
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.strong.transformed.expect
deleted file mode 100644
index b2251bc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.strong.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library error_location_05;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05_lib1.dart:9:8: Error: Duplicated parameter name 'z'.
-// x1(z, {z}) {}
-//        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05_lib1.dart:9:4: Context: Other parameter named 'z'.
-// x1(z, {z}) {}
-//    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05_lib1.dart:12:9: Error: 'z' is already declared in this scope.
-//   y(z, {z}) {}
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05_lib1.dart:12:5: Context: Previous declaration of 'z'.
-//   y(z, {z}) {}
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-part error_location_05_lib1.dart;
-static method /* from org-dartlang-testcase:///error_location_05_lib1.dart */ x1(dynamic z, {dynamic z = #C1}) → dynamic {}
-static method /* from org-dartlang-testcase:///error_location_05_lib1.dart */ x2() → dynamic {
-  function y(dynamic z, {dynamic z = #C1}) → core::Null? {}
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_05.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.strong.expect
deleted file mode 100644
index c50067b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.strong.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library error_location_06;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06_lib1.dart:14:8: Error: Duplicated parameter name 'z'.
-// x1(z, {z}) {}
-//        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06_lib1.dart:14:4: Context: Other parameter named 'z'.
-// x1(z, {z}) {}
-//    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06_lib1.dart:17:9: Error: 'z' is already declared in this scope.
-//   y(z, {z}) {}
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06_lib1.dart:17:5: Context: Previous declaration of 'z'.
-//   y(z, {z}) {}
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-part error_location_06_lib1.dart;
-static method /* from org-dartlang-testcase:///error_location_06_lib1.dart */ x1(dynamic z, {dynamic z = #C1}) → dynamic {}
-static method /* from org-dartlang-testcase:///error_location_06_lib1.dart */ x2() → dynamic {
-  function y(dynamic z, {dynamic z = #C1}) → core::Null? {}
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.strong.transformed.expect
deleted file mode 100644
index c50067b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.strong.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library error_location_06;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06_lib1.dart:14:8: Error: Duplicated parameter name 'z'.
-// x1(z, {z}) {}
-//        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06_lib1.dart:14:4: Context: Other parameter named 'z'.
-// x1(z, {z}) {}
-//    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06_lib1.dart:17:9: Error: 'z' is already declared in this scope.
-//   y(z, {z}) {}
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06_lib1.dart:17:5: Context: Previous declaration of 'z'.
-//   y(z, {z}) {}
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-part error_location_06_lib1.dart;
-static method /* from org-dartlang-testcase:///error_location_06_lib1.dart */ x1(dynamic z, {dynamic z = #C1}) → dynamic {}
-static method /* from org-dartlang-testcase:///error_location_06_lib1.dart */ x2() → dynamic {
-  function y(dynamic z, {dynamic z = #C1}) → core::Null? {}
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/error_locations/error_location_06.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.hierarchy.expect
deleted file mode 100644
index 6fbadf9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.hierarchy.expect
+++ /dev/null
@@ -1,108 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.field
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.field
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    C.==
-  classSetters:
-
-X:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    X.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    X.field
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    X.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    X.field
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.outline.expect
deleted file mode 100644
index 63f26c8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.outline.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field dynamic field;
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  field dynamic field;
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  operator ==(dynamic x) → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object implements self::A, self::B {
-  field dynamic field;
-  synthetic constructor •() → self::X*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method useAsA(self::A* object) → void
-  ;
-static method useAsB(self::B* object) → void
-  ;
-static method escape(dynamic x) → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.strong.expect
deleted file mode 100644
index c1db545..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.strong.expect
+++ /dev/null
@@ -1,89 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic x) → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object implements self::A, self::B {
-  field dynamic field = null;
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method useAsA(self::A* object) → void {
-  dynamic _ = object.{self::A::field};
-}
-static method useAsB(self::B* object) → void {
-  dynamic _ = object.{self::B::field};
-  self::escape(object);
-}
-static method escape(dynamic x) → void {
-  x.{core::Object::==}(null) ?{dynamic} x = "" : null;
-  x.{core::Object::==}(null) ?{dynamic} x = 45 : null;
-  if(!(x is core::int*) && !(x is core::String*)) {
-    x.field = 45;
-  }
-}
-static method main() → dynamic {
-  self::X* 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_nnbd_opt_out/escape.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.strong.transformed.expect
deleted file mode 100644
index c1db545..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.strong.transformed.expect
+++ /dev/null
@@ -1,89 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic x) → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object implements self::A, self::B {
-  field dynamic field = null;
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method useAsA(self::A* object) → void {
-  dynamic _ = object.{self::A::field};
-}
-static method useAsB(self::B* object) → void {
-  dynamic _ = object.{self::B::field};
-  self::escape(object);
-}
-static method escape(dynamic x) → void {
-  x.{core::Object::==}(null) ?{dynamic} x = "" : null;
-  x.{core::Object::==}(null) ?{dynamic} x = 45 : null;
-  if(!(x is core::int*) && !(x is core::String*)) {
-    x.field = 45;
-  }
-}
-static method main() → dynamic {
-  self::X* 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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/escape.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/escape.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.outline.expect
deleted file mode 100644
index f618c7c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.outline.expect
+++ /dev/null
@@ -1,13 +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;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.strong.expect
deleted file mode 100644
index 2b405e0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.strong.expect
+++ /dev/null
@@ -1,15 +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_nnbd_opt_out/export_main.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.strong.transformed.expect
deleted file mode 100644
index 2b405e0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.strong.transformed.expect
+++ /dev/null
@@ -1,15 +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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/export_main.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/export_main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.outline.expect
deleted file mode 100644
index f2dbda1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.outline.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-additionalExports = (core::print)
-
-import "dart:developer";
-export "dart:core";
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.strong.expect
deleted file mode 100644
index 21a39a9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.strong.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:developer" as dev;
-additionalExports = (core::print)
-
-import "dart:developer";
-export "dart:core";
-
-static method main() → dynamic {
-  core::print(dev::UserTag*);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.strong.transformed.expect
deleted file mode 100644
index 21a39a9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:developer" as dev;
-additionalExports = (core::print)
-
-import "dart:developer";
-export "dart:core";
-
-static method main() → dynamic {
-  core::print(dev::UserTag*);
-}
diff --git a/pkg/front_end/testcases/general/export_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/export_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/export_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.strong.expect
deleted file mode 100644
index 640571c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.strong.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart:76:16: Error: 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.{core::num::==}(1) ?{core::String*} "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.{core::Object::==}(null))
-      core::print(s);
-  }
-  for (; false; ) {
-  }
-  core::List<core::String*>* list = <core::String*>["Hello, World!"];
-  core::print(list.{core::List::[]}(i));
-  list.{core::List::[]=}(i, "Hello, Brave New World!");
-  core::print(list.{core::List::[]}(i));
-  i = 87;
-  core::print(i.{core::int::unary-}());
-  core::print(i.{core::int::~}());
-  core::print(!i.{core::num::==}(42));
-  core::print(i = i.{core::num::-}(1));
-  core::print(i = i.{core::num::+}(1));
-  core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::-}(1) in #t1);
-  core::print(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3);
-  core::print(new core::Object::•());
-  core::print(#C2);
-  core::print(core::List::•<core::String*>(2).{core::Object::runtimeType});
-  self::foo(fisk: "Blorp gulp");
-  function f() → core::Null? {
-    core::print("f was called");
-  }
-  self::caller(f);
-  self::caller(() → core::Null? {
-    core::print("<anon> was called");
-  });
-  function g([dynamic message = #C1]) → core::Null? {
-    core::print(message);
-  }
-  g.call("Hello, World");
-  self::caller(([dynamic x = #C1]) → core::Null? {
-    core::print("<anon> was called with ${x}");
-  });
-  function h({dynamic message = #C1}) → core::Null? {
-    core::print(message);
-  }
-  h.call(message: "Hello, World");
-  self::caller(({dynamic x = #C1}) → core::Null? {
-    core::print("<anon> was called with ${x}");
-  });
-  core::print(core::int*.{core::Object::toString}());
-  core::print(core::int*);
-  core::print(let final core::Type* #t5 = core::int* in let final void #t6 = #t5.{core::Object::toString}() in #t5);
-  try {
-    core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart:76:16: Error: Method not found: 'int.toString'.
-    print(int?.toString());
-               ^^^^^^^^");
-    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 {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.strong.transformed.expect
deleted file mode 100644
index b65b78c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.strong.transformed.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart:76:16: Error: 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.{core::num::==}(1) ?{core::String*} "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.{core::Object::==}(null))
-      core::print(s);
-  }
-  for (; false; ) {
-  }
-  core::List<core::String*>* list = <core::String*>["Hello, World!"];
-  core::print(list.{core::List::[]}(i));
-  list.{core::List::[]=}(i, "Hello, Brave New World!");
-  core::print(list.{core::List::[]}(i));
-  i = 87;
-  core::print(i.{core::int::unary-}());
-  core::print(i.{core::int::~}());
-  core::print(!i.{core::num::==}(42));
-  core::print(i = i.{core::num::-}(1));
-  core::print(i = i.{core::num::+}(1));
-  core::print(let final core::int* #t1 = i in let final core::int* #t2 = i = #t1.{core::num::-}(1) in #t1);
-  core::print(let final core::int* #t3 = i in let final core::int* #t4 = i = #t3.{core::num::+}(1) in #t3);
-  core::print(new core::Object::•());
-  core::print(#C2);
-  core::print(core::_List::•<core::String*>(2).{core::Object::runtimeType});
-  self::foo(fisk: "Blorp gulp");
-  function f() → core::Null? {
-    core::print("f was called");
-  }
-  self::caller(f);
-  self::caller(() → core::Null? {
-    core::print("<anon> was called");
-  });
-  function g([dynamic message = #C1]) → core::Null? {
-    core::print(message);
-  }
-  g.call("Hello, World");
-  self::caller(([dynamic x = #C1]) → core::Null? {
-    core::print("<anon> was called with ${x}");
-  });
-  function h({dynamic message = #C1}) → core::Null? {
-    core::print(message);
-  }
-  h.call(message: "Hello, World");
-  self::caller(({dynamic x = #C1}) → core::Null? {
-    core::print("<anon> was called with ${x}");
-  });
-  core::print(core::int*.{core::Object::toString}());
-  core::print(core::int*);
-  core::print(let final core::Type* #t5 = core::int* in let final void #t6 = #t5.{core::Object::toString}() in #t5);
-  try {
-    core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart:76:16: Error: Method not found: 'int.toString'.
-    print(int?.toString());
-               ^^^^^^^^");
-    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 {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/expressions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.outline.expect
deleted file mode 100644
index 9518380..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.outline.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:15:7: Error: The type 'M' can't be mixed in.
-// class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:13:7: Error: The type variable 'S' can't be used as supertype.
-// class Class1<T, S extends SuperClass> extends S with Mixin<T> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:15:7: Error: The type variable 'M' can't be used as supertype.
-// class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class SuperClass extends core::Object {
-  synthetic constructor •() → self::SuperClass*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Mixin<T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Class1&S&Mixin<T extends core::Object* = dynamic, S extends self::SuperClass* = self::SuperClass*> = core::Object with self::Mixin<self::_Class1&S&Mixin::T*> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Class1&S&Mixin<self::_Class1&S&Mixin::T*, self::_Class1&S&Mixin::S*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Class1<T extends core::Object* = dynamic, S extends self::SuperClass* = self::SuperClass*> extends self::_Class1&S&Mixin<self::Class1::T*, self::Class1::S*> {
-  synthetic constructor •() → self::Class1<self::Class1::T*, self::Class1::S*>*
-    ;
-}
-abstract class _Class2&SuperClass&M<T extends core::Object* = dynamic, M extends self::Mixin<self::_Class2&SuperClass&M::T*>* = self::Mixin<dynamic>*> extends self::SuperClass /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Class2&SuperClass&M<self::_Class2&SuperClass&M::T*, self::_Class2&SuperClass&M::M*>*
-    : super self::SuperClass::•()
-    ;
-}
-class Class2<T extends core::Object* = dynamic, M extends self::Mixin<self::Class2::T*>* = self::Mixin<dynamic>*> extends self::_Class2&SuperClass&M<self::Class2::T*, self::Class2::M*> {
-  synthetic constructor •() → self::Class2<self::Class2::T*, self::Class2::M*>*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.strong.expect
deleted file mode 100644
index 6f99cb6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.strong.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:15:7: Error: The type 'M' can't be mixed in.
-// class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:13:7: Error: The type variable 'S' can't be used as supertype.
-// class Class1<T, S extends SuperClass> extends S with Mixin<T> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:15:7: Error: The type variable 'M' can't be used as supertype.
-// class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class SuperClass extends core::Object {
-  synthetic constructor •() → self::SuperClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Mixin<T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Class1&S&Mixin<T extends core::Object* = dynamic, S extends self::SuperClass* = self::SuperClass*> = core::Object with self::Mixin<self::_Class1&S&Mixin::T*> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Class1&S&Mixin<self::_Class1&S&Mixin::T*, self::_Class1&S&Mixin::S*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Class1<T extends core::Object* = dynamic, S extends self::SuperClass* = self::SuperClass*> extends self::_Class1&S&Mixin<self::Class1::T*, self::Class1::S*> {
-  synthetic constructor •() → self::Class1<self::Class1::T*, self::Class1::S*>*
-    : super self::_Class1&S&Mixin::•()
-    ;
-}
-abstract class _Class2&SuperClass&M<T extends core::Object* = dynamic, M extends self::Mixin<self::_Class2&SuperClass&M::T*>* = self::Mixin<dynamic>*> extends self::SuperClass /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Class2&SuperClass&M<self::_Class2&SuperClass&M::T*, self::_Class2&SuperClass&M::M*>*
-    : super self::SuperClass::•()
-    ;
-}
-class Class2<T extends core::Object* = dynamic, M extends self::Mixin<self::Class2::T*>* = self::Mixin<dynamic>*> extends self::_Class2&SuperClass&M<self::Class2::T*, self::Class2::M*> {
-  synthetic constructor •() → self::Class2<self::Class2::T*, self::Class2::M*>*
-    : super self::_Class2&SuperClass&M::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.strong.transformed.expect
deleted file mode 100644
index e2d0c4f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.strong.transformed.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:15:7: Error: The type 'M' can't be mixed in.
-// class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:13:7: Error: The type variable 'S' can't be used as supertype.
-// class Class1<T, S extends SuperClass> extends S with Mixin<T> {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:15:7: Error: The type variable 'M' can't be used as supertype.
-// class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class SuperClass extends core::Object {
-  synthetic constructor •() → self::SuperClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Mixin<T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Class1&S&Mixin<T extends core::Object* = dynamic, S extends self::SuperClass* = self::SuperClass*> extends core::Object implements self::Mixin<self::_Class1&S&Mixin::T*> /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self::_Class1&S&Mixin<self::_Class1&S&Mixin::T*, self::_Class1&S&Mixin::S*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Class1<T extends core::Object* = dynamic, S extends self::SuperClass* = self::SuperClass*> extends self::_Class1&S&Mixin<self::Class1::T*, self::Class1::S*> {
-  synthetic constructor •() → self::Class1<self::Class1::T*, self::Class1::S*>*
-    : super self::_Class1&S&Mixin::•()
-    ;
-}
-abstract class _Class2&SuperClass&M<T extends core::Object* = dynamic, M extends self::Mixin<self::_Class2&SuperClass&M::T*>* = self::Mixin<dynamic>*> extends self::SuperClass /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Class2&SuperClass&M<self::_Class2&SuperClass&M::T*, self::_Class2&SuperClass&M::M*>*
-    : super self::SuperClass::•()
-    ;
-}
-class Class2<T extends core::Object* = dynamic, M extends self::Mixin<self::Class2::T*>* = self::Mixin<dynamic>*> extends self::_Class2&SuperClass&M<self::Class2::T*, self::Class2::M*> {
-  synthetic constructor •() → self::Class2<self::Class2::T*, self::Class2::M*>*
-    : super self::_Class2&SuperClass&M::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.weak.outline.expect
new file mode 100644
index 0000000..bbf4a2d
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart.weak.outline.expect
@@ -0,0 +1,74 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:15:7: Error: The type 'M' can't be mixed in.
+// class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:13:7: Error: The type variable 'S' can't be used as supertype.
+// class Class1<T, S extends SuperClass> extends S with Mixin<T> {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/extend_with_type_variable.dart:15:7: Error: The type variable 'M' can't be used as supertype.
+// class Class2<T, M extends Mixin<T>> extends SuperClass with M {}
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+class SuperClass extends core::Object {
+  synthetic constructor •() → self::SuperClass*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Mixin<T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/  {
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _Class1&S&Mixin<T extends core::Object* = dynamic, S extends self::SuperClass* = self::SuperClass*> = core::Object with self::Mixin<self::_Class1&S&Mixin::T*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class1&S&Mixin<self::_Class1&S&Mixin::T*, self::_Class1&S&Mixin::S*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class1<T extends core::Object* = dynamic, S extends self::SuperClass* = self::SuperClass*> extends self::_Class1&S&Mixin<self::Class1::T*, self::Class1::S*> {
+  synthetic constructor •() → self::Class1<self::Class1::T*, self::Class1::S*>*
+    ;
+}
+abstract class _Class2&SuperClass&M<T extends core::Object* = dynamic, M extends self::Mixin<self::_Class2&SuperClass&M::T*>* = self::Mixin<dynamic>*> extends self::SuperClass /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class2&SuperClass&M<self::_Class2&SuperClass&M::T*, self::_Class2&SuperClass&M::M*>*
+    : super self::SuperClass::•()
+    ;
+}
+class Class2<T extends core::Object* = dynamic, M extends self::Mixin<self::Class2::T*>* = self::Mixin<dynamic>*> extends self::_Class2&SuperClass&M<self::Class2::T*, self::Class2::M*> {
+  synthetic constructor •() → self::Class2<self::Class2::T*, self::Class2::M*>*
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/external.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/external.dart.strong.expect
deleted file mode 100644
index 766ac5f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/external.dart.strong.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 {
-  core::String* string = core::String::fromCharCode(65);
-  iso::ReceivePort* port = iso::ReceivePort::•();
-  self::subscription = port.{iso::ReceivePort::listen}(#C1);
-  port.{iso::ReceivePort::sendPort}.{iso::SendPort::send}(string);
-}
-
-constants  {
-  #C1 = tearoff self::onData
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/external.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/external.dart.strong.transformed.expect
deleted file mode 100644
index 766ac5f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/external.dart.strong.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 {
-  core::String* string = core::String::fromCharCode(65);
-  iso::ReceivePort* port = iso::ReceivePort::•();
-  self::subscription = port.{iso::ReceivePort::listen}(#C1);
-  port.{iso::ReceivePort::sendPort}.{iso::SendPort::send}(string);
-}
-
-constants  {
-  #C1 = tearoff self::onData
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/external.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/external.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/external.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/external.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.outline.expect
deleted file mode 100644
index 700f57e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-@dart._internal::ExternalName::•("dart-ext:here")
-@dart._internal::ExternalName::•("dart-ext:foo/../there")
-@dart._internal::ExternalName::•("dart-ext:/usr/local/somewhere")
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:_internal" as _in;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.strong.expect
deleted file mode 100644
index 8379e80..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.strong.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-@#C2
-@#C4
-@#C6
-library /*isNonNullableByDefault*/;
-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_nnbd_opt_out/external_import.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.strong.transformed.expect
deleted file mode 100644
index 8379e80..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.strong.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-@#C2
-@#C4
-@#C6
-library /*isNonNullableByDefault*/;
-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_nnbd_opt_out/external_import.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.weak.outline.expect
new file mode 100644
index 0000000..e4b8951
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/external_import.dart.weak.outline.expect
@@ -0,0 +1,16 @@
+@dart._internal::ExternalName::•("dart-ext:here")
+@dart._internal::ExternalName::•("dart-ext:foo/../there")
+@dart._internal::ExternalName::•("dart-ext:/usr/local/somewhere")
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:_internal" as _in;
+
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ConstructorInvocation @ null -> InstanceConstant(const ExternalName{ExternalName.name: "dart-ext:here"})
+Evaluated: ConstructorInvocation @ null -> InstanceConstant(const ExternalName{ExternalName.name: "dart-ext:foo/../there"})
+Evaluated: ConstructorInvocation @ null -> InstanceConstant(const ExternalName{ExternalName.name: "dart-ext:/usr/local/somewhere"})
+Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.strong.expect
deleted file mode 100644
index 7842f63..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.strong.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart:10:5: Error: Switch case may fall through to the next case.
-//     case 3:
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart:14:5: Error: Switch case may fall through to the next case.
-//     case 6:
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main(core::List<core::String*>* args) → void {
-  core::int* x = args.{core::List::length};
-  #L1:
-  switch(x) {
-    #L2:
-    case #C1:
-      {
-        x = 4;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///fallthrough.dart", 10);
-      }
-    #L3:
-    case #C2:
-      {
-        break #L1;
-      }
-    #L4:
-    case #C3:
-    case #C4:
-      {
-        if(args.{core::List::[]}(0).{core::String::==}("")) {
-          break #L1;
-        }
-        else {
-          return;
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///fallthrough.dart", 14);
-      }
-    #L5:
-    case #C5:
-      {}
-  }
-}
-
-constants  {
-  #C1 = 3
-  #C2 = 5
-  #C3 = 6
-  #C4 = 7
-  #C5 = 4
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.strong.transformed.expect
deleted file mode 100644
index 7842f63..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.strong.transformed.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart:10:5: Error: Switch case may fall through to the next case.
-//     case 3:
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart:14:5: Error: Switch case may fall through to the next case.
-//     case 6:
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main(core::List<core::String*>* args) → void {
-  core::int* x = args.{core::List::length};
-  #L1:
-  switch(x) {
-    #L2:
-    case #C1:
-      {
-        x = 4;
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///fallthrough.dart", 10);
-      }
-    #L3:
-    case #C2:
-      {
-        break #L1;
-      }
-    #L4:
-    case #C3:
-    case #C4:
-      {
-        if(args.{core::List::[]}(0).{core::String::==}("")) {
-          break #L1;
-        }
-        else {
-          return;
-        }
-        throw new core::FallThroughError::_create("org-dartlang-testcase:///fallthrough.dart", 14);
-      }
-    #L5:
-    case #C5:
-      {}
-  }
-}
-
-constants  {
-  #C1 = 3
-  #C2 = 5
-  #C3 = 6
-  #C4 = 7
-  #C5 = 4
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/fallthrough.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.outline.expect
deleted file mode 100644
index aa2dbcb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:ffi" as ffi;
-import "dart:core" as core;
-
-import "dart:ffi";
-import "package:ffi/ffi.dart";
-
-class Coordinate extends ffi::Struct {
-  @ffi::Double::•()
-  field core::double* x;
-  @ffi::Double::•()
-  field core::double* y;
-  field ffi::Pointer<self::Coordinate*>* next;
-  static factory allocate(core::double* x, core::double* y, ffi::Pointer<self::Coordinate*>* next) → self::Coordinate*
-    ;
-  abstract member-signature get _addressOf() → ffi::Pointer<ffi::Struct*>*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.strong.expect
deleted file mode 100644
index 4205663..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.strong.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-import "dart:ffi" as ffi;
-import "dart:core" as core;
-import "package:ffi/src/allocation.dart" as all;
-
-import "dart:ffi";
-import "package:ffi/ffi.dart";
-
-class Coordinate extends ffi::Struct {
-  @#C1
-  field core::double* x = null;
-  @#C1
-  field core::double* y = null;
-  field ffi::Pointer<self::Coordinate*>* next = null;
-  static factory allocate(core::double* x, core::double* y, ffi::Pointer<self::Coordinate*>* next) → self::Coordinate* {
-    return let final self::Coordinate* #t1 = ffi::StructPointer|get#ref<self::Coordinate*>(all::allocate<self::Coordinate*>()) in let final void #t2 = #t1.{self::Coordinate::x} = x in let final void #t3 = #t1.{self::Coordinate::y} = y in let final void #t4 = #t1.{self::Coordinate::next} = next in #t1;
-  }
-  abstract member-signature get _addressOf() → ffi::Pointer<ffi::Struct*>*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = ffi::Double {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.strong.transformed.expect
deleted file mode 100644
index 387fd15..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.strong.transformed.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:ffi" as ffi;
-import "package:ffi/src/allocation.dart" as all;
-
-import "dart:ffi";
-import "package:ffi/ffi.dart";
-
-@#C3
-class Coordinate extends ffi::Struct {
-  @#C3
-  static final field core::int* #sizeOf = (#C6).{core::List::[]}(ffi::_abi());
-  @#C3
-  constructor #fromTypedDataBase(dynamic #pointer) → dynamic
-    : super ffi::Struct::_fromPointer(#pointer)
-    ;
-  static factory allocate(core::double* x, core::double* y, ffi::Pointer<self::Coordinate*>* next) → self::Coordinate* {
-    return let final self::Coordinate* #t1 = ffi::StructPointer|get#ref<self::Coordinate*>(all::allocate<self::Coordinate*>()) in let final void #t2 = #t1.{self::Coordinate::x} = x in let final void #t3 = #t1.{self::Coordinate::y} = y in let final void #t4 = #t1.{self::Coordinate::next} = next in #t1;
-  }
-  abstract member-signature get _addressOf() → ffi::Pointer<ffi::Struct*>*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  get x() → core::double*
-    return ffi::_loadDouble(this.{ffi::Struct::_addressOf}, (#C8).{core::List::[]}(ffi::_abi()));
-  set x(core::double* #v) → void
-    return ffi::_storeDouble(this.{ffi::Struct::_addressOf}, (#C8).{core::List::[]}(ffi::_abi()), #v);
-  get y() → core::double*
-    return ffi::_loadDouble(this.{ffi::Struct::_addressOf}, (#C10).{core::List::[]}(ffi::_abi()));
-  set y(core::double* #v) → void
-    return ffi::_storeDouble(this.{ffi::Struct::_addressOf}, (#C10).{core::List::[]}(ffi::_abi()), #v);
-  get next() → ffi::Pointer<self::Coordinate*>*
-    return ffi::_fromAddress<self::Coordinate*>(ffi::_loadIntPtr(this.{ffi::Struct::_addressOf}, (#C12).{core::List::[]}(ffi::_abi())));
-  set next(ffi::Pointer<self::Coordinate*>* #v) → void
-    return ffi::_storeIntPtr(this.{ffi::Struct::_addressOf}, (#C12).{core::List::[]}(ffi::_abi()), #v.{=ffi::Pointer::address});
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = core::pragma {name:#C1, options:#C2}
-  #C4 = 24
-  #C5 = 20
-  #C6 = <core::int*>[#C4, #C5, #C4]
-  #C7 = 0
-  #C8 = <core::int*>[#C7, #C7, #C7]
-  #C9 = 8
-  #C10 = <core::int*>[#C9, #C9, #C9]
-  #C11 = 16
-  #C12 = <core::int*>[#C11, #C11, #C11]
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.weak.outline.expect
new file mode 100644
index 0000000..9b14f9b
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.weak.outline.expect
@@ -0,0 +1,36 @@
+library;
+import self as self;
+import "dart:ffi" as ffi;
+import "dart:core" as core;
+
+import "dart:ffi";
+import "package:ffi/ffi.dart";
+
+class Coordinate extends ffi::Struct {
+  @ffi::Double::•()
+  field core::double* x;
+  @ffi::Double::•()
+  field core::double* y;
+  field ffi::Pointer<self::Coordinate*>* next;
+  static factory allocate(ffi::Allocator* allocator, core::double* x, core::double* y, ffi::Pointer<self::Coordinate*>* next) → self::Coordinate*
+    ;
+  abstract member-signature get _addressOf() → core::Object*; -> ffi::Struct::_addressOf
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///ffi_sample.dart:15:4 -> InstanceConstant(const Double{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///ffi_sample.dart:18:4 -> InstanceConstant(const Double{})
+Extra constant evaluation: evaluated: 2, effectively constant: 2
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.weak.transformed.expect
index 6fa5bec..eefcad1 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/ffi_sample.dart.weak.transformed.expect
@@ -6,12 +6,10 @@
 import "dart:ffi";
 import "package:ffi/ffi.dart";
 
-@#C3
-@#C9
+@#C6
 class Coordinate extends ffi::Struct {
-  @#C3
-  static final field core::int* #sizeOf = (#C12).{core::List::[]}(ffi::_abi());
-  @#C3
+  static final field core::int* #sizeOf = (#C9).{core::List::[]}(ffi::_abi());
+  @#C12
   constructor #fromTypedDataBase(dynamic #pointer) → dynamic
     : super ffi::Struct::_fromPointer(#pointer)
     ;
@@ -49,18 +47,18 @@
 static method main() → dynamic {}
 
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(ffi::Double)
-  #C6 = TypeLiteralConstant(ffi::Pointer<ffi::NativeType>)
-  #C7 = <core::Type>[#C5, #C5, #C6]
-  #C8 = ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(ffi::Double)
+  #C3 = TypeLiteralConstant(ffi::Pointer<ffi::NativeType>)
+  #C4 = <core::Type>[#C2, #C2, #C3]
+  #C5 = ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = core::pragma {name:#C10, options:#C11}
   #C13 = 0
   #C14 = <core::int*>[#C13, #C13, #C13]
   #C15 = 8
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.strong.expect
deleted file mode 100644
index 95dc207..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.strong.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.{core::num::<}(2))
-    return n;
-  return self::fibonacci(n.{core::num::-}(1)).{core::num::+}(self::fibonacci(n.{core::num::-}(2)));
-}
-static method main() → dynamic {
-  for (core::int* i = 0; i.{core::num::<}(20); i = i.{core::num::+}(1)) {
-    core::print(self::fibonacci(i));
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.strong.transformed.expect
deleted file mode 100644
index 95dc207..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.strong.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.{core::num::<}(2))
-    return n;
-  return self::fibonacci(n.{core::num::-}(1)).{core::num::+}(self::fibonacci(n.{core::num::-}(2)));
-}
-static method main() → dynamic {
-  for (core::int* i = 0; i.{core::num::<}(20); i = i.{core::num::+}(1)) {
-    core::print(self::fibonacci(i));
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/fibonacci.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/folder.options b/pkg/front_end/testcases/general_nnbd_opt_out/folder.options
index b552a65..e69de29 100644
--- a/pkg/front_end/testcases/general_nnbd_opt_out/folder.options
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/folder.options
@@ -1 +0,0 @@
---enable-experiment=non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.strong.expect
deleted file mode 100644
index 78f359e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.strong.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_nnbd_opt_out/for_in_scope.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.strong.transformed.expect
deleted file mode 100644
index ae6b6e7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.strong.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main(core::List<core::String*>* arguments) → dynamic {
-  {
-    core::Iterator<core::String*>* :sync-for-iterator = arguments.{core::Iterable::iterator};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-      core::String* arguments = :sync-for-iterator.{core::Iterator::current};
-      {
-        core::print(arguments);
-      }
-    }
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/for_in_scope.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.hierarchy.expect
deleted file mode 100644
index c2dd5c8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.hierarchy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Super:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Super.superInstanceField
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Super.untypedSuperInstanceField
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Super.superInstanceField
-    Super.untypedSuperInstanceField
-
-C:
-  superclasses:
-    Object
-      -> Super
-  interfaces:
-  classMembers:
-    Object.toString
-    Super.superInstanceField
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.untypedInstanceField
-    Object._instanceOf
-    C.staticField
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.untypedStaticField
-    C.instanceField
-    Object._simpleInstanceOfFalse
-    Super.untypedSuperInstanceField
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Super.superInstanceField
-    C.untypedInstanceField
-    C.staticField
-    C.untypedStaticField
-    C.instanceField
-    Super.untypedSuperInstanceField
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.outline.expect
deleted file mode 100644
index da38f9a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Super extends core::Object {
-  field core::int* superInstanceField;
-  field dynamic untypedSuperInstanceField;
-  synthetic constructor •() → self::Super*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::Super {
-  field core::int* instanceField;
-  field dynamic untypedInstanceField;
-  static field core::double* staticField;
-  static field dynamic untypedStaticField;
-  synthetic constructor •() → self::C*
-    ;
-  method m() → dynamic
-    ;
-}
-static field core::bool* topLevelField;
-static field dynamic untypedTopLevelField;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.strong.expect
deleted file mode 100644
index c0dcfbe..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.strong.expect
+++ /dev/null
@@ -1,190 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:34:10: Error: Expected an identifier, but got 'super'.
-//     for (super.superInstanceField in []) {}
-//          ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:35:10: Error: Expected an identifier, but got 'super'.
-//     for (super.untypedSuperInstanceField in []) {}
-//          ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:37:11: Error: Unexpected token '.'.
-//     for (c.instanceField in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:38:11: Error: Unexpected token '.'.
-//     for (c.untypedSuperInstanceField in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:40:20: Error: Unexpected token '.'.
-//     for (unresolved.foo in []) {}
-//                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:41:11: Error: Unexpected token '.'.
-//     for (c.unresolved in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:42:14: Error: Unexpected token '('.
-//     for (main() in []) {}
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:42: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_nnbd_opt_out/for_in_without_declaration.dart:43:15: Error: Unexpected token ','.
-//     for (var x, y in <int>[]) {
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:43: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_nnbd_opt_out/for_in_without_declaration.dart:48:10: Error: Can't assign to the const variable 'constant'.
-//     for (constant in []) {}
-//          ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:39:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
-//     for (unresolved in []) {}
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:40:10: Error: The getter 'unresolved' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'unresolved'.
-//     for (unresolved.foo in []) {}
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:41:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
-//     for (c.unresolved 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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 core::String* #t1 in <core::String*>[]) {
-      local = #t1;
-    }
-    for (final dynamic #t2 in <dynamic>[]) {
-      untypedLocal = #t2;
-    }
-    for (final core::int* #t3 in <core::int*>[]) {
-      this.{self::C::instanceField} = #t3;
-    }
-    for (final dynamic #t4 in <dynamic>[]) {
-      this.{self::C::untypedInstanceField} = #t4;
-    }
-    for (final core::double* #t5 in <core::double*>[]) {
-      self::C::staticField = #t5;
-    }
-    for (final dynamic #t6 in <dynamic>[]) {
-      self::C::untypedStaticField = #t6;
-    }
-    for (final core::bool* #t7 in <core::bool*>[]) {
-      self::topLevelField = #t7;
-    }
-    for (final dynamic #t8 in <dynamic>[]) {
-      self::untypedTopLevelField = #t8;
-    }
-    for (final core::int* #t9 in <core::int*>[]) {
-      super.{self::Super::superInstanceField} = #t9;
-    }
-    for (final dynamic #t10 in <dynamic>[]) {
-      super.{self::Super::untypedSuperInstanceField} = #t10;
-    }
-    self::C* c = new self::C::•();
-    for (final core::int* #t11 in <core::int*>[]) {
-      c.{self::C::instanceField} = #t11;
-    }
-    for (final dynamic #t12 in <dynamic>[]) {
-      c.{self::Super::untypedSuperInstanceField} = #t12;
-    }
-    for (final dynamic #t13 in <dynamic>[]) {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:39:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
-    for (unresolved in []) {}
-         ^^^^^^^^^^";
-    }
-    for (final dynamic #t14 in <dynamic>[]) {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:40:10: Error: The getter 'unresolved' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'unresolved'.
-    for (unresolved.foo in []) {}
-         ^^^^^^^^^^".foo = #t14;
-    }
-    for (final dynamic #t15 in <dynamic>[]) {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:41:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
-    for (c.unresolved in []) {}
-           ^^^^^^^^^^";
-    }
-    {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:42: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_nnbd_opt_out/for_in_without_declaration.dart:42: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_nnbd_opt_out/for_in_without_declaration.dart:43:10: Error: A for-in loop can't have more than one loop variable.
-    for (var x, y in <int>[]) {
-         ^^^";
-      for (final core::int* #t17 in <core::int*>[]) {
-        invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:43: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>[]) {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:48:10: Error: Can't assign to the const variable 'constant'.
-    for (constant in []) {}
-         ^^^^^^^^";
-    }
-  }
-}
-static field core::bool* topLevelField;
-static field dynamic untypedTopLevelField;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.strong.transformed.expect
deleted file mode 100644
index 8dc52fb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.strong.transformed.expect
+++ /dev/null
@@ -1,298 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:34:10: Error: Expected an identifier, but got 'super'.
-//     for (super.superInstanceField in []) {}
-//          ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:35:10: Error: Expected an identifier, but got 'super'.
-//     for (super.untypedSuperInstanceField in []) {}
-//          ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:37:11: Error: Unexpected token '.'.
-//     for (c.instanceField in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:38:11: Error: Unexpected token '.'.
-//     for (c.untypedSuperInstanceField in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:40:20: Error: Unexpected token '.'.
-//     for (unresolved.foo in []) {}
-//                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:41:11: Error: Unexpected token '.'.
-//     for (c.unresolved in []) {}
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:42:14: Error: Unexpected token '('.
-//     for (main() in []) {}
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:42: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_nnbd_opt_out/for_in_without_declaration.dart:43:15: Error: Unexpected token ','.
-//     for (var x, y in <int>[]) {
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:43: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_nnbd_opt_out/for_in_without_declaration.dart:48:10: Error: Can't assign to the const variable 'constant'.
-//     for (constant in []) {}
-//          ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:39:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
-//     for (unresolved in []) {}
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:40:10: Error: The getter 'unresolved' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'unresolved'.
-//     for (unresolved.foo in []) {}
-//          ^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:41:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
-//     for (c.unresolved 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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-    {
-      core::Iterator<core::String*>* :sync-for-iterator = <core::String*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::String* #t1 = :sync-for-iterator.{core::Iterator::current};
-        {
-          local = #t1;
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
-        {
-          untypedLocal = #t2;
-        }
-      }
-    }
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t3 = :sync-for-iterator.{core::Iterator::current};
-        {
-          this.{self::C::instanceField} = #t3;
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
-        {
-          this.{self::C::untypedInstanceField} = #t4;
-        }
-      }
-    }
-    {
-      core::Iterator<core::double*>* :sync-for-iterator = <core::double*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::double* #t5 = :sync-for-iterator.{core::Iterator::current};
-        {
-          self::C::staticField = #t5;
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t6 = :sync-for-iterator.{core::Iterator::current};
-        {
-          self::C::untypedStaticField = #t6;
-        }
-      }
-    }
-    {
-      core::Iterator<core::bool*>* :sync-for-iterator = <core::bool*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::bool* #t7 = :sync-for-iterator.{core::Iterator::current};
-        {
-          self::topLevelField = #t7;
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t8 = :sync-for-iterator.{core::Iterator::current};
-        {
-          self::untypedTopLevelField = #t8;
-        }
-      }
-    }
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t9 = :sync-for-iterator.{core::Iterator::current};
-        {
-          super.{self::Super::superInstanceField} = #t9;
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t10 = :sync-for-iterator.{core::Iterator::current};
-        {
-          super.{self::Super::untypedSuperInstanceField} = #t10;
-        }
-      }
-    }
-    self::C* c = new self::C::•();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t11 = :sync-for-iterator.{core::Iterator::current};
-        {
-          c.{self::C::instanceField} = #t11;
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t12 = :sync-for-iterator.{core::Iterator::current};
-        {
-          c.{self::Super::untypedSuperInstanceField} = #t12;
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t13 = :sync-for-iterator.{core::Iterator::current};
-        {
-          invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:39:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
-    for (unresolved in []) {}
-         ^^^^^^^^^^";
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
-        {
-          invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:40:10: Error: The getter 'unresolved' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'unresolved'.
-    for (unresolved.foo in []) {}
-         ^^^^^^^^^^".foo = #t14;
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t15 = :sync-for-iterator.{core::Iterator::current};
-        {
-          invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:41:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
-    for (c.unresolved in []) {}
-           ^^^^^^^^^^";
-        }
-      }
-    }
-    {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:42:10: Error: Can't assign to this, so it can't be used in a for-in loop.
-    for (main() in []) {}
-         ^^^^";
-      {
-        core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final dynamic #t16 = :sync-for-iterator.{core::Iterator::current};
-          {
-            invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:42: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_nnbd_opt_out/for_in_without_declaration.dart:43:10: Error: A for-in loop can't have more than one loop variable.
-    for (var x, y in <int>[]) {
-         ^^^";
-      {
-        core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          final core::int* #t17 = :sync-for-iterator.{core::Iterator::current};
-          {
-            invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:43: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);
-          }
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t18 = :sync-for-iterator.{core::Iterator::current};
-        {
-          invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart:48:10: Error: Can't assign to the const variable 'constant'.
-    for (constant in []) {}
-         ^^^^^^^^";
-        }
-      }
-    }
-  }
-}
-static field core::bool* topLevelField;
-static field dynamic untypedTopLevelField;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/for_in_without_declaration.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/for_in_without_declaration.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/for_in_without_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.hierarchy.expect
deleted file mode 100644
index d5d1da9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.hierarchy.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    C.A.+%B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    D.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> D
-  interfaces:
-  classMembers:
-    Object.toString
-    E.D.+%E.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.outline.expect
deleted file mode 100644
index 60ea4c6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.outline.expect
+++ /dev/null
@@ -1,75 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  operator +(covariant core::int* a) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  operator +(dynamic b) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  abstract forwarding-stub operator +(covariant dynamic b) → dynamic;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    ;
-  operator +(dynamic d) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    ;
-  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_nnbd_opt_out/forwarding_stub_for_operator.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.strong.expect
deleted file mode 100644
index f343031..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.strong.expect
+++ /dev/null
@@ -1,79 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(dynamic b) → dynamic
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/forwarding_stub_for_operator.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.strong.transformed.expect
deleted file mode 100644
index f343031..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.strong.transformed.expect
+++ /dev/null
@@ -1,79 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(dynamic b) → dynamic
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C extends core::Object implements self::A, self::B {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/forwarding_stub_for_operator.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/forwarding_stub_for_operator.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.strong.expect
deleted file mode 100644
index ca264d4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.strong.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field () →* core::int* x = () → core::int* {
-  core::int* y = 42;
-  return y;
-};
-static method main() → dynamic {
-  core::print(self::x.call());
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.strong.transformed.expect
deleted file mode 100644
index ca264d4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.strong.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field () →* core::int* x = () → core::int* {
-  core::int* y = 42;
-  return y;
-};
-static method main() → dynamic {
-  core::print(self::x.call());
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/function_in_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart.strong.expect
deleted file mode 100644
index 9ebb5f2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:13:12: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'String'.
-// String x = identity; // No bound
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:14:12: Error: A value of type 'T Function<T extends Object>(T)' can't be assigned to a variable of type 'String'.
-//  - 'Object' is from 'dart:core'.
-// String y = identityObject; // Object bound
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:15:12: Error: A value of type 'T Function<T extends List<T>>(T)' can't be assigned to a variable of type 'String'.
-//  - 'List' is from 'dart:core'.
-// String z = identityList; // List<T> bound
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::String* x = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:13:12: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'String'.
-String x = identity; // No bound
-           ^" in (#C1) as{TypeError} core::String*;
-static field core::String* y = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:14:12: Error: A value of type 'T Function<T extends Object>(T)' can't be assigned to a variable of type 'String'.
- - 'Object' is from 'dart:core'.
-String y = identityObject; // Object bound
-           ^" in (#C2) as{TypeError} core::String*;
-static field core::String* z = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:15:12: Error: A value of type 'T Function<T extends List<T>>(T)' can't be assigned to a variable of type 'String'.
- - 'List' is from 'dart:core'.
-String z = identityList; // List<T> bound
-           ^" in (#C3) as{TypeError} core::String*;
-static method identity<T extends core::Object* = dynamic>(self::identity::T* t) → self::identity::T*
-  return t;
-static method identityObject<T extends core::Object* = core::Object*>(self::identityObject::T* t) → self::identityObject::T*
-  return t;
-static method identityList<T extends core::List<self::identityList::T*>* = core::List<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_nnbd_opt_out/function_type_assignments.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart.strong.transformed.expect
deleted file mode 100644
index 9ebb5f2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:13:12: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'String'.
-// String x = identity; // No bound
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:14:12: Error: A value of type 'T Function<T extends Object>(T)' can't be assigned to a variable of type 'String'.
-//  - 'Object' is from 'dart:core'.
-// String y = identityObject; // Object bound
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:15:12: Error: A value of type 'T Function<T extends List<T>>(T)' can't be assigned to a variable of type 'String'.
-//  - 'List' is from 'dart:core'.
-// String z = identityList; // List<T> bound
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-static field core::String* x = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:13:12: Error: A value of type 'T Function<T>(T)' can't be assigned to a variable of type 'String'.
-String x = identity; // No bound
-           ^" in (#C1) as{TypeError} core::String*;
-static field core::String* y = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:14:12: Error: A value of type 'T Function<T extends Object>(T)' can't be assigned to a variable of type 'String'.
- - 'Object' is from 'dart:core'.
-String y = identityObject; // Object bound
-           ^" in (#C2) as{TypeError} core::String*;
-static field core::String* z = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart:15:12: Error: A value of type 'T Function<T extends List<T>>(T)' can't be assigned to a variable of type 'String'.
- - 'List' is from 'dart:core'.
-String z = identityList; // List<T> bound
-           ^" in (#C3) as{TypeError} core::String*;
-static method identity<T extends core::Object* = dynamic>(self::identity::T* t) → self::identity::T*
-  return t;
-static method identityObject<T extends core::Object* = core::Object*>(self::identityObject::T* t) → self::identityObject::T*
-  return t;
-static method identityList<T extends core::List<self::identityList::T*>* = core::List<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_nnbd_opt_out/function_type_assignments.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/function_type_assignments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.outline.expect
deleted file mode 100644
index c1845b3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.outline.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:19: Error: Expected an identifier, but got ':'.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:19: Error: Can't have a default value in a function type.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:16: Error: Type 'obj' not found.
-// 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_nnbd_opt_out/function_type_default_value.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.strong.expect
deleted file mode 100644
index c6f2e39..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.strong.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:19: Error: Expected an identifier, but got ':'.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:19: Error: Can't have a default value in a function type.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:16: Error: Type 'obj' not found.
-// void Function({obj: Object}) x;
-//                ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:16: Error: '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_nnbd_opt_out/function_type_default_value.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.strong.transformed.expect
deleted file mode 100644
index c6f2e39..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.strong.transformed.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:19: Error: Expected an identifier, but got ':'.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:19: Error: Can't have a default value in a function type.
-// void Function({obj: Object}) x;
-//                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:16: Error: Type 'obj' not found.
-// void Function({obj: Object}) x;
-//                ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:16: Error: '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_nnbd_opt_out/function_type_default_value.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.weak.outline.expect
new file mode 100644
index 0000000..2b1a8ff
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart.weak.outline.expect
@@ -0,0 +1,22 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:19: Error: Expected an identifier, but got ':'.
+// Try inserting an identifier before ':'.
+// void Function({obj: Object}) x;
+//                   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:19: Error: Can't have a default value in a function type.
+// void Function({obj: Object}) x;
+//                   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/function_type_default_value.dart:7:16: Error: Type 'obj' not found.
+// 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_nnbd_opt_out/function_type_is_check.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.hierarchy.expect
deleted file mode 100644
index 4f5c506..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.hierarchy.expect
+++ /dev/null
@@ -1,369 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.outline.expect
deleted file mode 100644
index 8278f14..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-
-import "package:expect/expect.dart";
-
-static method test(dynamic f) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.strong.expect
deleted file mode 100644
index e3d7cfb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.strong.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(() → core::Null? => null).+(self::test((core::Object* o) → core::Null? => null)).+(self::test((core::Object* o, core::StackTrace* t) → core::Null? => null)));
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.strong.transformed.expect
deleted file mode 100644
index e3d7cfb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.strong.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(() → core::Null? => null).+(self::test((core::Object* o) → core::Null? => null)).+(self::test((core::Object* o, core::StackTrace* t) → core::Null? => null)));
-}
diff --git a/pkg/front_end/testcases/general/function_type_is_check.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/function_type_is_check.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/function_type_is_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.strong.expect
deleted file mode 100644
index 9726fd1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.strong.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart:10:31: Error: Inline function types cannot be used for parameters in a generic function type.
-// Try changing the inline function type (as in 'int f()') to a prefixed function type using the `Function` keyword (as in 'int Function() f').
-// typedef F = int Function(int f(String x));
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart:14:27: Error: Inline function types cannot be used for parameters in a generic function type.
-// Try changing the inline function type (as in 'int f()') to a prefixed function type using the `Function` keyword (as in 'int Function() f').
-//   String Function(String g(int y)) g = null;
-//                           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F = ((core::String*) →* core::int*) →* core::int*;
-static method main() → dynamic {
-  ((core::String*) →* core::int*) →* core::int* f = null;
-  ((core::int*) →* core::String*) →* core::String* g = null;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.strong.transformed.expect
deleted file mode 100644
index 9726fd1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.strong.transformed.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart:10:31: Error: Inline function types cannot be used for parameters in a generic function type.
-// Try changing the inline function type (as in 'int f()') to a prefixed function type using the `Function` keyword (as in 'int Function() f').
-// typedef F = int Function(int f(String x));
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart:14:27: Error: Inline function types cannot be used for parameters in a generic function type.
-// Try changing the inline function type (as in 'int f()') to a prefixed function type using the `Function` keyword (as in 'int Function() f').
-//   String Function(String g(int y)) g = null;
-//                           ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef F = ((core::String*) →* core::int*) →* core::int*;
-static method main() → dynamic {
-  ((core::String*) →* core::int*) →* core::int* f = null;
-  ((core::int*) →* core::String*) →* core::String* g = null;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/function_type_recovery.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.strong.expect
deleted file mode 100644
index f6f35ca..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.strong.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}) → core::Null? {
-    core::print(a);
-  });
-}
-
-constants  {
-  #C1 = "Default greeting!"
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.strong.transformed.expect
deleted file mode 100644
index f6f35ca..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.strong.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}) → core::Null? {
-    core::print(a);
-  });
-}
-
-constants  {
-  #C1 = "Default greeting!"
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/functions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.outline.expect
deleted file mode 100644
index eebe192..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.outline.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-static get foo() → FutureOr<core::Null?>?
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.strong.expect
deleted file mode 100644
index ce0981a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.strong.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-static get foo() → FutureOr<core::Null?>?
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.strong.transformed.expect
deleted file mode 100644
index ce0981a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-static get foo() → FutureOr<core::Null?>?
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.weak.outline.expect
new file mode 100644
index 0000000..0ef8cab
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_null_test.dart.weak.outline.expect
@@ -0,0 +1,9 @@
+library;
+import self as self;
+
+import "dart:async";
+
+static get foo() → FutureOr<Null>*
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.hierarchy.expect
deleted file mode 100644
index 5279442..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.bar
-    B.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.a
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.baz
-  classSetters:
-    C.b
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.outline.expect
deleted file mode 100644
index 9a4dfad..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.outline.expect
+++ /dev/null
@@ -1,59 +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*
-    ;
-  method foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  field self::A* a;
-  synthetic constructor •() → self::B*
-    ;
-  method bar() → asy::Future<dynamic>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field self::B* b;
-  synthetic constructor •() → self::C*
-    ;
-  method baz() → asy::Future<core::int*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.strong.expect
deleted file mode 100644
index c0976ca..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.strong.expect
+++ /dev/null
@@ -1,61 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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}.{self::A::foo}();
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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}.{self::B::bar}() as{TypeError} asy::FutureOr<core::int*>*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.strong.transformed.expect
deleted file mode 100644
index efdff61..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,111 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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) →* dynamic :async_op_then;
-    (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-    core::int* :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}.{self::A::foo}();
-          break #L1;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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) →* dynamic :async_op_then;
-    (core::Object*, core::StackTrace*) →* dynamic :async_op_error;
-    core::int* :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}.{self::B::bar}() as{TypeError} asy::FutureOr<core::int*>*;
-          break #L2;
-        }
-        asy::_completeOnAsyncReturn(:async_completer, :return_value);
-        return;
-      }
-      on dynamic catch(dynamic exception, core::StackTrace* 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.{asy::_AsyncAwaitCompleter::start}(:async_op);
-    return :async_completer.{asy::Completer::future};
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/future_or_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/future_or_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/future_or_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.strong.expect
deleted file mode 100644
index 74f8d85..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.strong.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart:10:11: Error: A value of type 'num Function<A extends num, B extends num>(A, B)' can't be assigned to a variable of type 'int'.
-//   int x = add;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method add<A extends core::num* = core::num*, B extends core::num* = core::num*>(self::add::A* a, self::add::B* b) → core::num*
-  return a.{core::num::+}(b);
-static method test() → dynamic {
-  core::int* x = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart:10:11: Error: A value of type 'num Function<A extends num, B extends num>(A, B)' can't be assigned to a variable of type 'int'.
-  int x = add;
-          ^" in (#C1) as{TypeError} core::int*;
-}
-static method main() → dynamic {
-  if(self::add<core::int*, core::int*>(1, 2).{core::num::<}(3))
-    self::test();
-}
-
-constants  {
-  #C1 = tearoff self::add
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.strong.transformed.expect
deleted file mode 100644
index 74f8d85..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.strong.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart:10:11: Error: A value of type 'num Function<A extends num, B extends num>(A, B)' can't be assigned to a variable of type 'int'.
-//   int x = add;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method add<A extends core::num* = core::num*, B extends core::num* = core::num*>(self::add::A* a, self::add::B* b) → core::num*
-  return a.{core::num::+}(b);
-static method test() → dynamic {
-  core::int* x = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart:10:11: Error: A value of type 'num Function<A extends num, B extends num>(A, B)' can't be assigned to a variable of type 'int'.
-  int x = add;
-          ^" in (#C1) as{TypeError} core::int*;
-}
-static method main() → dynamic {
-  if(self::add<core::int*, core::int*>(1, 2).{core::num::<}(3))
-    self::test();
-}
-
-constants  {
-  #C1 = tearoff self::add
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/generic_function_type_in_message.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation.dart.strong.expect
deleted file mode 100644
index e61d126..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation.dart.strong.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation_lib1.dart:10: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_nnbd_opt_out/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_nnbd_opt_out/having_part_with_part_and_annotation.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation.dart.strong.transformed.expect
deleted file mode 100644
index e61d126..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation.dart.strong.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation_lib1.dart:10: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_nnbd_opt_out/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_nnbd_opt_out/having_part_with_part_and_annotation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_part_and_annotation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation.dart.strong.expect
deleted file mode 100644
index b7032ac..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation.dart.strong.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation_lib1.dart:10: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_nnbd_opt_out/having_part_with_parts_and_annotation.dart: Context: This is the containing library.
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation_lib1.dart:12: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_nnbd_opt_out/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_nnbd_opt_out/having_part_with_parts_and_annotation.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation.dart.strong.transformed.expect
deleted file mode 100644
index b7032ac..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation.dart.strong.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation_lib1.dart:10: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_nnbd_opt_out/having_part_with_parts_and_annotation.dart: Context: This is the containing library.
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation_lib1.dart:12: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_nnbd_opt_out/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_nnbd_opt_out/having_part_with_parts_and_annotation.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/having_part_with_parts_and_annotation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.strong.expect
deleted file mode 100644
index fea7b39..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.strong.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_nnbd_opt_out/hello.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.strong.transformed.expect
deleted file mode 100644
index fea7b39..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.strong.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_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/hello.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.outline.expect
deleted file mode 100644
index 807c210..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.outline.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    ;
-  method method() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.strong.expect
deleted file mode 100644
index e93b141..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.strong.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-  method method() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Class* a;
-  self::Class* b = new self::Class::•();
-  let final self::Class* #t1 = let final self::Class* #t2 = a in #t2.{self::Class::==}(null) ?{self::Class*} b : #t2 in let final void #t3 = #t1.{self::Class::method}() in #t1;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.strong.transformed.expect
deleted file mode 100644
index e93b141..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.strong.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-  method method() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Class* a;
-  self::Class* b = new self::Class::•();
-  let final self::Class* #t1 = let final self::Class* #t2 = a in #t2.{self::Class::==}(null) ?{self::Class*} b : #t2 in let final void #t3 = #t1.{self::Class::method}() in #t1;
-}
diff --git a/pkg/front_end/testcases/general/if_null_in_cascade.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/if_null_in_cascade.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_cascade.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.strong.expect
deleted file mode 100644
index 0cc41e9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.strong.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* a;
-  core::Object* b;
-  return <core::Object*>[let final core::Object* #t1 = a in #t1.{core::Object::==}(null) ?{core::Object*} b : #t1];
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.strong.transformed.expect
deleted file mode 100644
index 0cc41e9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.strong.transformed.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::Object* a;
-  core::Object* b;
-  return <core::Object*>[let final core::Object* #t1 = a in #t1.{core::Object::==}(null) ?{core::Object*} b : #t1];
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_list_literal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.strong.expect
deleted file mode 100644
index c644985..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.strong.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-static method main() → dynamic {
-  core::Object* a;
-  core::Object* b;
-  return let final core::Set<core::Object*>* #t1 = col::LinkedHashSet::•<core::Object*>() in let final dynamic #t2 = #t1.{core::Set::add}(let final core::Object* #t3 = a in #t3.{core::Object::==}(null) ?{core::Object*} b : #t3) in #t1;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.strong.transformed.expect
deleted file mode 100644
index 5cba724..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.strong.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-static method main() → dynamic {
-  core::Object* a;
-  core::Object* b;
-  return let final core::Set<core::Object*>* #t1 = col::LinkedHashSet::•<core::Object*>() in let final core::bool #t2 = #t1.{core::Set::add}(let final core::Object* #t3 = a in #t3.{core::Object::==}(null) ?{core::Object*} b : #t3) in #t1;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/if_null_in_set_literal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.hierarchy.expect
deleted file mode 100644
index 329fb74..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    A.==
-  classSetters:
-
-Function:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Function.==
-  classSetters:
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Function
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    B.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    B.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.outline.expect
deleted file mode 100644
index 4759fc7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.outline.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  operator ==(dynamic other) → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object implements self::Function {
-  synthetic constructor •() → self::B*
-    ;
-  operator ==(dynamic other) → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Function extends core::Object {
-  synthetic constructor •() → self::Function*
-    ;
-  operator ==(core::Object* other) → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.strong.expect
deleted file mode 100644
index a4febea..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.strong.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic other) → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object implements self::Function {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic other) → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Function extends core::Object {
-  synthetic constructor •() → self::Function*
-    : super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.strong.transformed.expect
deleted file mode 100644
index a4febea..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.strong.transformed.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic other) → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object implements self::Function {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator ==(dynamic other) → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Function extends core::Object {
-  synthetic constructor •() → self::Function*
-    : super core::Object::•()
-    ;
-  operator ==(core::Object* other) → core::bool*
-    return false;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/ignore_function.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/ignore_function.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/ignore_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.strong.expect
deleted file mode 100644
index 9951e94..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.strong.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart:8:16: Error: A function expression can't have a name.
-//   var x = void f<T>(T t) {};
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart:10: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 {
-  <T extends core::Object* = dynamic>(T*) →* core::Null? x = let final <T extends core::Object* = dynamic>(T*) →* core::Null? f = <T extends core::Object* = dynamic>(T* t) → core::Null? {} in f;
-  core::print(x.{core::Object::runtimeType});
-  core::print(let final <T extends core::Object* = dynamic>(T*) →* core::Null? g = <T extends core::Object* = dynamic>(T* t) → core::Null? {} in g);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.strong.transformed.expect
deleted file mode 100644
index 9951e94..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.strong.transformed.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart:8:16: Error: A function expression can't have a name.
-//   var x = void f<T>(T t) {};
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart:10: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 {
-  <T extends core::Object* = dynamic>(T*) →* core::Null? x = let final <T extends core::Object* = dynamic>(T*) →* core::Null? f = <T extends core::Object* = dynamic>(T* t) → core::Null? {} in f;
-  core::print(x.{core::Object::runtimeType});
-  core::print(let final <T extends core::Object* = dynamic>(T*) →* core::Null? g = <T extends core::Object* = dynamic>(T* t) → core::Null? {} in g);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.strong.expect
deleted file mode 100644
index b4e24a2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.strong.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart:9: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 () →* core::Null? f = () → core::Null? {} in f);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.strong.transformed.expect
deleted file mode 100644
index b4e24a2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.strong.transformed.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart:9: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 () →* core::Null? f = () → core::Null? {} in f);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/illegal_named_function_expression_scope.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.hierarchy.expect
deleted file mode 100644
index 62f92d8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.constField
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.outline.expect
deleted file mode 100644
index c376031..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.outline.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object /*hasConstConstructor*/  {
-  static const field core::int* constField = 87;
-  const constructor •(dynamic x) → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* constTopLevelField = 42;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.strong.expect
deleted file mode 100644
index 2164cb2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.strong.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object /*hasConstConstructor*/  {
-  static const field core::int* constField = #C1;
-  const constructor •(dynamic x) → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* 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_nnbd_opt_out/implicit_const_with_static_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.strong.transformed.expect
deleted file mode 100644
index 2164cb2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.strong.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object /*hasConstConstructor*/  {
-  static const field core::int* constField = #C1;
-  const constructor •(dynamic x) → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* 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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/implicit_const_with_static_fields.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/implicit_const_with_static_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.hierarchy.expect
deleted file mode 100644
index 9d1c34f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.hierarchy.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Bar.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-IndexTester:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    IndexTester.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    IndexTester.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.outline.expect
deleted file mode 100644
index 0ed09c5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.outline.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-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*
-    ;
-  operator +(dynamic other) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  constructor named() → self::Bar*
-    ;
-  operator +(dynamic other) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class IndexTester extends core::Object {
-  synthetic constructor •() → self::IndexTester*
-    ;
-  operator [](dynamic _) → dynamic
-    ;
-  operator []=(dynamic _a, dynamic _b) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method testNSM() → dynamic
-  ;
-static method f(dynamic x) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.strong.expect
deleted file mode 100644
index 84274ed..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.strong.expect
+++ /dev/null
@@ -1,106 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart:20:18: Error: Method not found: 'Bar'.
-//   var y = prefix.Bar();
-//                  ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart:21:10: Error: 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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  constructor named() → self::Bar*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → dynamic
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class IndexTester extends core::Object {
-  synthetic constructor •() → self::IndexTester*
-    : super core::Object::•()
-    ;
-  operator [](dynamic _) → dynamic
-    return null;
-  operator []=(dynamic _a, dynamic _b) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method testNSM() → dynamic {
-  dynamic y = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart:20:18: Error: Method not found: 'Bar'.
-  var y = prefix.Bar();
-                 ^^^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart:21:10: Error: Method not found: 'Bar'.
-  prefix.Bar();
-         ^^^";
-}
-static method f(dynamic x) → dynamic
-  return x;
-static method main() → dynamic {
-  self::Foo* x = new self::Foo::•();
-  x = new self::Foo::•();
-  self::Bar* 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());
-  core::List<core::Object*>* l = <core::Object*>[new self::Foo::•(), new self::Bar::named()];
-  l = <core::Object*>[new self::Foo::•(), new self::Bar::named()];
-  core::Map<core::String*, core::Object*>* m = <core::String*, core::Object*>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
-  m = <core::String*, core::Object*>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
-  self::IndexTester* i = new self::IndexTester::•();
-  i.{self::IndexTester::[]}(new self::Foo::•());
-  i.{self::IndexTester::[]}(new self::Foo::•());
-  i.{self::IndexTester::[]}(new self::Bar::named());
-  i.{self::IndexTester::[]}(new self::Bar::named());
-  i.{self::IndexTester::[]=}(new self::Foo::•(), null);
-  i.{self::IndexTester::[]=}(new self::Foo::•(), null);
-  i.{self::IndexTester::[]=}(new self::Bar::named(), null);
-  i.{self::IndexTester::[]=}(new self::Bar::named(), null);
-  new self::Foo::•().{self::Foo::+}(new self::Bar::named());
-  new self::Foo::•().{self::Foo::+}(new self::Bar::named());
-  new self::Bar::named().{self::Bar::+}(new self::Foo::•());
-  new self::Bar::named().{self::Bar::+}(new self::Foo::•());
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.strong.transformed.expect
deleted file mode 100644
index 84274ed..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.strong.transformed.expect
+++ /dev/null
@@ -1,106 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart:20:18: Error: Method not found: 'Bar'.
-//   var y = prefix.Bar();
-//                  ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart:21:10: Error: 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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  constructor named() → self::Bar*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → dynamic
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class IndexTester extends core::Object {
-  synthetic constructor •() → self::IndexTester*
-    : super core::Object::•()
-    ;
-  operator [](dynamic _) → dynamic
-    return null;
-  operator []=(dynamic _a, dynamic _b) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method testNSM() → dynamic {
-  dynamic y = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart:20:18: Error: Method not found: 'Bar'.
-  var y = prefix.Bar();
-                 ^^^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart:21:10: Error: Method not found: 'Bar'.
-  prefix.Bar();
-         ^^^";
-}
-static method f(dynamic x) → dynamic
-  return x;
-static method main() → dynamic {
-  self::Foo* x = new self::Foo::•();
-  x = new self::Foo::•();
-  self::Bar* 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());
-  core::List<core::Object*>* l = <core::Object*>[new self::Foo::•(), new self::Bar::named()];
-  l = <core::Object*>[new self::Foo::•(), new self::Bar::named()];
-  core::Map<core::String*, core::Object*>* m = <core::String*, core::Object*>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
-  m = <core::String*, core::Object*>{"foo": new self::Foo::•(), "bar": new self::Bar::named()};
-  self::IndexTester* i = new self::IndexTester::•();
-  i.{self::IndexTester::[]}(new self::Foo::•());
-  i.{self::IndexTester::[]}(new self::Foo::•());
-  i.{self::IndexTester::[]}(new self::Bar::named());
-  i.{self::IndexTester::[]}(new self::Bar::named());
-  i.{self::IndexTester::[]=}(new self::Foo::•(), null);
-  i.{self::IndexTester::[]=}(new self::Foo::•(), null);
-  i.{self::IndexTester::[]=}(new self::Bar::named(), null);
-  i.{self::IndexTester::[]=}(new self::Bar::named(), null);
-  new self::Foo::•().{self::Foo::+}(new self::Bar::named());
-  new self::Foo::•().{self::Foo::+}(new self::Bar::named());
-  new self::Bar::named().{self::Bar::+}(new self::Foo::•());
-  new self::Bar::named().{self::Bar::+}(new self::Foo::•());
-}
diff --git a/pkg/front_end/testcases/general/implicit_new.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/implicit_new.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/implicit_new.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.hierarchy.expect
deleted file mode 100644
index e04e5f9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,388 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ImplicitScopeTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    ImplicitScopeTest.alwaysTrue
-    Object._instanceOf
-    ImplicitScopeTest.testMain
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.outline.expect
deleted file mode 100644
index 4b756eb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.outline.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "package:expect/expect.dart";
-
-class ImplicitScopeTest extends core::Object {
-  synthetic constructor •() → self::ImplicitScopeTest*
-    ;
-  static method alwaysTrue() → core::bool*
-    ;
-  static method testMain() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.strong.expect
deleted file mode 100644
index a850ce5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.strong.expect
+++ /dev/null
@@ -1,59 +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.{core::num::+}(1).{core::num::==}(2);
-  }
-  static method testMain() → dynamic {
-    core::String* a = "foo";
-    dynamic b;
-    if(self::ImplicitScopeTest::alwaysTrue()) {
-      core::String* a = "bar";
-    }
-    else {
-      core::String* b = a;
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    while (!self::ImplicitScopeTest::alwaysTrue()) {
-      core::String* a = "bar";
-      core::String* b = "baz";
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
-      core::String* a = "bar";
-      core::String* b = "baz";
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    do {
-      core::String* a = "bar";
-      core::String* b = "baz";
-    }
-    while ("black".{core::String::==}("white"))
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::ImplicitScopeTest::testMain();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.strong.transformed.expect
deleted file mode 100644
index a850ce5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,59 +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.{core::num::+}(1).{core::num::==}(2);
-  }
-  static method testMain() → dynamic {
-    core::String* a = "foo";
-    dynamic b;
-    if(self::ImplicitScopeTest::alwaysTrue()) {
-      core::String* a = "bar";
-    }
-    else {
-      core::String* b = a;
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    while (!self::ImplicitScopeTest::alwaysTrue()) {
-      core::String* a = "bar";
-      core::String* b = "baz";
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    for (core::int* i = 0; i.{core::num::<}(10); i = i.{core::num::+}(1)) {
-      core::String* a = "bar";
-      core::String* b = "baz";
-    }
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-    do {
-      core::String* a = "bar";
-      core::String* b = "baz";
-    }
-    while ("black".{core::String::==}("white"))
-    exp::Expect::equals("foo", a);
-    exp::Expect::equals(null, b);
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::ImplicitScopeTest::testMain();
-}
diff --git a/pkg/front_end/testcases/general/implicit_scope_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/implicit_scope_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/implicit_scope_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.hierarchy.expect
deleted file mode 100644
index a5e82af..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.testC
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    D.testD
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.testC
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.outline.expect
deleted file mode 100644
index a2e0632..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method m() → dynamic
-    ;
-  method testC() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  method testD() → dynamic
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.strong.expect
deleted file mode 100644
index c7a22c5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.strong.expect
+++ /dev/null
@@ -1,37 +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}();
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•().{self::C::testC}();
-  new self::D::•().{self::D::testD}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.strong.transformed.expect
deleted file mode 100644
index c7a22c5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +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}();
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•().{self::C::testC}();
-  new self::D::•().{self::D::testD}();
-}
diff --git a/pkg/front_end/testcases/general/implicit_this.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/implicit_this.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/implicit_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.strong.expect
deleted file mode 100644
index 1d6816d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.strong.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart:13:9: Error: 'foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters_lib2.dart'.
-//   print(foo);
-//         ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///import_conflicting_getters_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_getters_lib2.dart";
-
-static method main() → dynamic {}
-static method errors() → dynamic {
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart:13:9: Error: 'foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters_lib2.dart'.
-  print(foo);
-        ^^^");
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-static get foo() → core::int*
-  return 42;
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static get foo() → core::int*
-  return 87;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.strong.transformed.expect
deleted file mode 100644
index 1d6816d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.strong.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart:13:9: Error: 'foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters_lib2.dart'.
-//   print(foo);
-//         ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///import_conflicting_getters_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_getters_lib2.dart";
-
-static method main() → dynamic {}
-static method errors() → dynamic {
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart:13:9: Error: 'foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters_lib2.dart'.
-  print(foo);
-        ^^^");
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-static get foo() → core::int*
-  return 42;
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static get foo() → core::int*
-  return 87;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_getters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.strong.expect
deleted file mode 100644
index c050ae7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.strong.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart:13:3: Error: Setter not found: 'foo'.
-//   foo = 42;
-//   ^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///import_conflicting_setters_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_setters_lib2.dart";
-
-static method main() → dynamic {}
-static method errors() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart:13:3: Error: Setter not found: 'foo'.
-  foo = 42;
-  ^^^";
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-static set foo(core::int* value) → void {}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static set foo(core::int* value) → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.strong.transformed.expect
deleted file mode 100644
index c050ae7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.strong.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart:13:3: Error: Setter not found: 'foo'.
-//   foo = 42;
-//   ^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///import_conflicting_setters_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_setters_lib2.dart";
-
-static method main() → dynamic {}
-static method errors() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart:13:3: Error: Setter not found: 'foo'.
-  foo = 42;
-  ^^^";
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-static set foo(core::int* value) → void {}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-static set foo(core::int* value) → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_setters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.outline.expect
deleted file mode 100644
index b088274..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.outline.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///import_conflicting_type_member_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_type_member_lib2.dart";
-
-static method main() → dynamic
-  ;
-static method errors() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self2::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-
-static method Foo() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.strong.expect
deleted file mode 100644
index 3cfde874..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.strong.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart:8:1: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib2.dart'.
-// import 'import_conflicting_type_member_lib2.dart';
-// ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart:14:3: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib2.dart'.
-//   Foo();
-//   ^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///import_conflicting_type_member_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_type_member_lib2.dart";
-
-static method main() → dynamic {}
-static method errors() → dynamic {
-  invalid-type foo;
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart:14:3: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib2.dart'.
-  Foo();
-  ^^^";
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self2::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-
-static method Foo() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.strong.transformed.expect
deleted file mode 100644
index 3cfde874..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.strong.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart:8:1: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib2.dart'.
-// import 'import_conflicting_type_member_lib2.dart';
-// ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart:14:3: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib2.dart'.
-//   Foo();
-//   ^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///import_conflicting_type_member_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_type_member_lib2.dart";
-
-static method main() → dynamic {}
-static method errors() → dynamic {
-  invalid-type foo;
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart:14:3: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member_lib2.dart'.
-  Foo();
-  ^^^";
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self2::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-
-static method Foo() → dynamic {}
diff --git a/pkg/front_end/testcases/general/import_conflicting_type_member.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/import_conflicting_type_member.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_type_member.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.outline.expect
deleted file mode 100644
index 2a8cbaf..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.outline.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///import_conflicting_types_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_types_lib2.dart";
-
-static method main() → dynamic
-  ;
-static method errors() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self2::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self3::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.strong.expect
deleted file mode 100644
index 5d88004..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.strong.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart:8:1: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types_lib2.dart'.
-// import 'import_conflicting_types_lib2.dart';
-// ^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///import_conflicting_types_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_types_lib2.dart";
-
-static method main() → dynamic {}
-static method errors() → dynamic {
-  invalid-type foo;
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self2::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self3::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.strong.transformed.expect
deleted file mode 100644
index 5d88004..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.strong.transformed.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart:8:1: Error: 'Foo' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types_lib2.dart'.
-// import 'import_conflicting_types_lib2.dart';
-// ^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///import_conflicting_types_lib1.dart";
-import "org-dartlang-testcase:///import_conflicting_types_lib2.dart";
-
-static method main() → dynamic {}
-static method errors() → dynamic {
-  invalid-type foo;
-}
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self2::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self3::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general/import_conflicting_types.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/import_conflicting_types.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/import_conflicting_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.outline.expect
deleted file mode 100644
index 9173788..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.outline.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:8:11: Error: Expected '.' before this.
-//   C.a(this);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:8:11: Error: Expected an identifier, but got ')'.
-//   C.a(this);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:9:12: Error: Expected an identifier, but got ')'.
-//   C.b(this.);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:10:11: Error: Expected '.' before this.
-//   C.c(this, p);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:10:11: Error: Expected an identifier, but got ','.
-//   C.c(this, p);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:11:12: Error: Expected an identifier, but got ','.
-//   C.d(this., p);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor a() → self::C*
-    ;
-  constructor b() → self::C*
-    ;
-  constructor c() → self::C*
-    ;
-  constructor d() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.strong.expect
deleted file mode 100644
index 61fb05a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.strong.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:8:11: Error: Expected '.' before this.
-//   C.a(this);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:8:11: Error: Expected an identifier, but got ')'.
-//   C.a(this);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:9:12: Error: Expected an identifier, but got ')'.
-//   C.b(this.);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:10:11: Error: Expected '.' before this.
-//   C.c(this, p);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:10:11: Error: Expected an identifier, but got ','.
-//   C.c(this, p);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:11:12: Error: Expected an identifier, but got ','.
-//   C.d(this., p);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor a() → self::C*
-    : super core::Object::•()
-    ;
-  constructor b() → self::C*
-    : super core::Object::•()
-    ;
-  constructor c() → self::C*
-    : super core::Object::•()
-    ;
-  constructor d() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.strong.transformed.expect
deleted file mode 100644
index 61fb05a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.strong.transformed.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:8:11: Error: Expected '.' before this.
-//   C.a(this);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:8:11: Error: Expected an identifier, but got ')'.
-//   C.a(this);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:9:12: Error: Expected an identifier, but got ')'.
-//   C.b(this.);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:10:11: Error: Expected '.' before this.
-//   C.c(this, p);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:10:11: Error: Expected an identifier, but got ','.
-//   C.c(this, p);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:11:12: Error: Expected an identifier, but got ','.
-//   C.d(this., p);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  constructor a() → self::C*
-    : super core::Object::•()
-    ;
-  constructor b() → self::C*
-    : super core::Object::•()
-    ;
-  constructor c() → self::C*
-    : super core::Object::•()
-    ;
-  constructor d() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.weak.outline.expect
new file mode 100644
index 0000000..a696d1ec
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart.weak.outline.expect
@@ -0,0 +1,55 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:8:11: Error: Expected '.' before this.
+//   C.a(this);
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:8:11: Error: Expected an identifier, but got ')'.
+// Try inserting an identifier before ')'.
+//   C.a(this);
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:9:12: Error: Expected an identifier, but got ')'.
+// Try inserting an identifier before ')'.
+//   C.b(this.);
+//            ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:10:11: Error: Expected '.' before this.
+//   C.c(this, p);
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:10:11: Error: Expected an identifier, but got ','.
+// Try inserting an identifier before ','.
+//   C.c(this, p);
+//           ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/incomplete_field_formal_parameter.dart:11:12: Error: Expected an identifier, but got ','.
+// Try inserting an identifier before ','.
+//   C.d(this., p);
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  constructor a() → self::C*
+    ;
+  constructor b() → self::C*
+    ;
+  constructor c() → self::C*
+    ;
+  constructor d() → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.hierarchy.expect
deleted file mode 100644
index c84fdc2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.hierarchy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.outline.expect
deleted file mode 100644
index 36824b3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.outline.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    ;
-  method f(core::int* x) → self::B::T*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    ;
-  abstract method f(core::Object* x) → self::I::T*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.strong.expect
deleted file mode 100644
index fc859ba..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.strong.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant 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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.strong.transformed.expect
deleted file mode 100644
index fc859ba..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.strong.transformed.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant 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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.weak.outline.expect
new file mode 100644
index 0000000..4e1cc48
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart.weak.outline.expect
@@ -0,0 +1,63 @@
+library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
+// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
+//                ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/interface_contravariant_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant T extends core::Object* = dynamic> = (T*) →* void;
+class B<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T*>*
+    ;
+  method f(core::int* x) → self::B::T*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class I<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T*>*
+    ;
+  abstract method f(core::Object* x) → self::I::T*;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class C<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.hierarchy.expect
deleted file mode 100644
index c84fdc2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.hierarchy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.outline.expect
deleted file mode 100644
index 3c6c4a2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.outline.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    ;
-  method f((self::B::T*) →* void x, core::int* y) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    ;
-  abstract method f((self::I::T*) →* void x, core::Object* y) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.strong.expect
deleted file mode 100644
index 2371c7c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.strong.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant 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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.strong.transformed.expect
deleted file mode 100644
index 2371c7c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.strong.transformed.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant 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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.weak.outline.expect
new file mode 100644
index 0000000..8f6d7d7
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart.weak.outline.expect
@@ -0,0 +1,63 @@
+library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
+// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
+//                ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantImpl_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant T extends core::Object* = dynamic> = (T*) →* void;
+class B<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T*>*
+    ;
+  method f((self::B::T*) →* void x, core::int* y) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class I<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T*>*
+    ;
+  abstract method f((self::I::T*) →* void x, core::Object* y) → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class C<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.hierarchy.expect
deleted file mode 100644
index c43a8c7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.hierarchy.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.outline.expect
deleted file mode 100644
index a54b481..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.outline.expect
+++ /dev/null
@@ -1,86 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:15:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class B<T> implements A<F<T>> {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// abstract class I<T> implements A<F<T>> {
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:23:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:23:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant 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*>*
-    ;
-  abstract method f(generic-covariant-impl self::A::T* x, core::int* y) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::T*>*
-    ;
-  method f((self::B::T*) →* void x, core::int* y) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class I<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::I<self::I::T*>*
-    ;
-  abstract method f((self::I::T*) →* void x, core::Object* y) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.strong.expect
deleted file mode 100644
index 12ce928..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.strong.expect
+++ /dev/null
@@ -1,88 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:15:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class B<T> implements A<F<T>> {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// abstract class I<T> implements A<F<T>> {
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:23:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:23:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant 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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.strong.transformed.expect
deleted file mode 100644
index 12ce928..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.strong.transformed.expect
+++ /dev/null
@@ -1,88 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:15:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// class B<T> implements A<F<T>> {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
-// abstract class I<T> implements A<F<T>> {
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:23:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
-// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:23:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant 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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.weak.outline.expect
new file mode 100644
index 0000000..815c68a
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart.weak.outline.expect
@@ -0,0 +1,86 @@
+library test;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:15:7: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// class B<T> implements A<F<T>> {
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:19:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'A'.
+// abstract class I<T> implements A<F<T>> {
+//                ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:23:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position in supertype 'B'.
+// abstract class C<T> extends B<F<T>> implements I<F<T>> {}
+//                ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/interface_covariantInterface_from_class.dart:23:16: Error: Can't use implicitly 'out' variable 'T' in an 'in' position 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<contravariant 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*>*
+    ;
+  abstract method f(generic-covariant-impl self::A::T* x, core::int* y) → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::B<self::B::T*>*
+    ;
+  method f((self::B::T*) →* void x, core::int* y) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class I<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::I<self::I::T*>*
+    ;
+  abstract method f((self::I::T*) →* void x, core::Object* y) → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class C<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.hierarchy.expect
deleted file mode 100644
index ff2fa4d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.outline.expect
deleted file mode 100644
index fda4f9c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  operator +(core::int* i) → core::String*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(core::int* i, core::String* s, self::A* a) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.strong.expect
deleted file mode 100644
index 2970f2b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.strong.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:13:7: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   i = s;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   i ??= s;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:17:5: Error: A value of type 'String' can't be assigned to a variable of type 'A'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart'.
-//   a += 1;
-//     ^
-//
-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 "";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(core::int* i, core::String* s, self::A* a) → dynamic {
-  i = 1;
-  i = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:13:7: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  i = s;
-      ^" in s as{TypeError} core::int*;
-  i.{core::num::==}(null) ?{core::int*} i = 1 : null;
-  i.{core::num::==}(null) ?{core::Object*} i = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  i ??= s;
-        ^" in s as{TypeError} core::int* : null;
-  a = new self::A::•();
-  a = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:17:5: Error: A value of type 'String' can't be assigned to a variable of type 'A'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart'.
-  a += 1;
-    ^" in a.{self::A::+}(1) as{TypeError} self::A*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.strong.transformed.expect
deleted file mode 100644
index 2970f2b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.strong.transformed.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:13:7: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   i = s;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-//   i ??= s;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:17:5: Error: A value of type 'String' can't be assigned to a variable of type 'A'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart'.
-//   a += 1;
-//     ^
-//
-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 "";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(core::int* i, core::String* s, self::A* a) → dynamic {
-  i = 1;
-  i = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:13:7: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  i = s;
-      ^" in s as{TypeError} core::int*;
-  i.{core::num::==}(null) ?{core::int*} i = 1 : null;
-  i.{core::num::==}(null) ?{core::Object*} i = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:15:9: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  i ??= s;
-        ^" in s as{TypeError} core::int* : null;
-  a = new self::A::•();
-  a = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart:17:5: Error: A value of type 'String' can't be assigned to a variable of type 'A'.
- - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart'.
-  a += 1;
-    ^" in a.{self::A::+}(1) as{TypeError} self::A*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/invalid_assignment.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/invalid_assignment.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/invalid_assignment.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.hierarchy.expect
deleted file mode 100644
index 1e37782..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.staticFunction
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.outline.expect
deleted file mode 100644
index a26b4b7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.outline.expect
+++ /dev/null
@@ -1,41 +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*
-    ;
-  constructor nonFact() → self::C*
-    ;
-  constructor nonFact2() → self::C*
-    ;
-  static factory fact() → self::C*
-    ;
-  static factory fact2() → self::C*
-    let dynamic #redirecting_factory = self::D::• in invalid-expression;
-  static method staticFunction(core::int* i) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-}
-static method topLevelFunction(core::int* i) → void
-  ;
-static method bad() → dynamic
-  ;
-static method ok() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.strong.expect
deleted file mode 100644
index 04889c7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.strong.expect
+++ /dev/null
@@ -1,174 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:22:25: Error: The list literal type 'List<Object>' isn't of expected type 'List<int>'.
-//  - 'List' is from 'dart:core'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the list literal or the context in which it is used.
-//   List<int> a = <Object>[];
-//                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:23:40: Error: The map literal type 'Map<Object, String>' isn't of expected type 'Map<int, String>'.
-//  - 'Map' is from 'dart:core'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the map literal or the context in which it is used.
-//   Map<int, String> b = <Object, String>{};
-//                                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:24:37: Error: The map literal type 'Map<int, Object>' isn't of expected type 'Map<int, String>'.
-//  - 'Map' is from 'dart:core'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the map literal or the context in which it is used.
-//   Map<int, String> c = <int, Object>{};
-//                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:25:28: Error: The function expression type 'int Function(int)' isn't of expected type 'int Function(Object)'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the function expression or the context in which it is used.
-//   int Function(Object) d = (int i) => i;
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:28:13: Error: The constructor returns type 'C' that isn't of expected type 'D'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-// Change the type of the object being constructed or the context in which it is used.
-//   D g = new C.nonFact();
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:29:13: Error: The constructor returns type 'C' that isn't of expected type 'D'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-// Change the type of the object being constructed or the context in which it is used.
-//   D h = new C.nonFact2();
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:30:31: Error: The static method has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the method or the context in which it is used.
-//   void Function(Object) i = C.staticFunction;
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:31:29: Error: The top level function has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the function or the context in which it is used.
-//   void Function(Object) j = topLevelFunction;
-//                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:32:29: Error: The local function has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the function or the context in which it is used.
-//   void Function(Object) k = localFunction;
-//                             ^
-//
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:22:25: Error: The list literal type 'List<Object>' isn't of expected type 'List<int>'.
- - 'List' is from 'dart:core'.
- - 'Object' is from 'dart:core'.
-Change the type of the list literal or the context in which it is used.
-  List<int> a = <Object>[];
-                        ^" in <core::Object*>[];
-  core::Map<core::int*, core::String*>* b = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:23:40: Error: The map literal type 'Map<Object, String>' isn't of expected type 'Map<int, String>'.
- - 'Map' is from 'dart:core'.
- - 'Object' is from 'dart:core'.
-Change the type of the map literal or the context in which it is used.
-  Map<int, String> b = <Object, String>{};
-                                       ^" in <core::Object*, core::String*>{};
-  core::Map<core::int*, core::String*>* c = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:24:37: Error: The map literal type 'Map<int, Object>' isn't of expected type 'Map<int, String>'.
- - 'Map' is from 'dart:core'.
- - 'Object' is from 'dart:core'.
-Change the type of the map literal or the context in which it is used.
-  Map<int, String> c = <int, Object>{};
-                                    ^" in <core::int*, core::Object*>{};
-  (core::Object*) →* core::int* d = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:25:28: Error: The function expression type 'int Function(int)' isn't of expected type 'int Function(Object)'.
- - 'Object' is from 'dart:core'.
-Change the type of the function expression or the context in which it is used.
-  int Function(Object) d = (int i) => i;
-                           ^" in (core::int* i) → core::int* => i;
-  self::D* e = self::C::fact() as{TypeError} self::D*;
-  self::D* f = new self::D::•() as{TypeError} self::D*;
-  self::D* g = let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:28:13: Error: The constructor returns type 'C' that isn't of expected type 'D'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-Change the type of the object being constructed or the context in which it is used.
-  D g = new C.nonFact();
-            ^" in new self::C::nonFact();
-  self::D* h = let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:29:13: Error: The constructor returns type 'C' that isn't of expected type 'D'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-Change the type of the object being constructed or the context in which it is used.
-  D h = new C.nonFact2();
-            ^" in new self::C::nonFact2();
-  (core::Object*) →* void i = let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:30:31: Error: The static method has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
- - 'Object' is from 'dart:core'.
-Change the type of the method or the context in which it is used.
-  void Function(Object) i = C.staticFunction;
-                              ^" in #C1;
-  (core::Object*) →* void j = let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:31:29: Error: The top level function has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
- - 'Object' is from 'dart:core'.
-Change the type of the function or the context in which it is used.
-  void Function(Object) j = topLevelFunction;
-                            ^" in #C2;
-  (core::Object*) →* void k = let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:32:29: Error: The local function has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
- - 'Object' is from 'dart:core'.
-Change the type of the function or the context in which it is used.
-  void Function(Object) k = localFunction;
-                            ^" in 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) → core::int* => i;
-  self::D* e = self::C::fact() as{TypeError} self::D*;
-  self::D* f = new self::D::•() as{TypeError} 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_nnbd_opt_out/invalid_cast.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.strong.transformed.expect
deleted file mode 100644
index 58ca16f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.strong.transformed.expect
+++ /dev/null
@@ -1,174 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:22:25: Error: The list literal type 'List<Object>' isn't of expected type 'List<int>'.
-//  - 'List' is from 'dart:core'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the list literal or the context in which it is used.
-//   List<int> a = <Object>[];
-//                         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:23:40: Error: The map literal type 'Map<Object, String>' isn't of expected type 'Map<int, String>'.
-//  - 'Map' is from 'dart:core'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the map literal or the context in which it is used.
-//   Map<int, String> b = <Object, String>{};
-//                                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:24:37: Error: The map literal type 'Map<int, Object>' isn't of expected type 'Map<int, String>'.
-//  - 'Map' is from 'dart:core'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the map literal or the context in which it is used.
-//   Map<int, String> c = <int, Object>{};
-//                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:25:28: Error: The function expression type 'int Function(int)' isn't of expected type 'int Function(Object)'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the function expression or the context in which it is used.
-//   int Function(Object) d = (int i) => i;
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:28:13: Error: The constructor returns type 'C' that isn't of expected type 'D'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-// Change the type of the object being constructed or the context in which it is used.
-//   D g = new C.nonFact();
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:29:13: Error: The constructor returns type 'C' that isn't of expected type 'D'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-// Change the type of the object being constructed or the context in which it is used.
-//   D h = new C.nonFact2();
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:30:31: Error: The static method has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the method or the context in which it is used.
-//   void Function(Object) i = C.staticFunction;
-//                               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:31:29: Error: The top level function has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the function or the context in which it is used.
-//   void Function(Object) j = topLevelFunction;
-//                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:32:29: Error: The local function has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
-//  - 'Object' is from 'dart:core'.
-// Change the type of the function or the context in which it is used.
-//   void Function(Object) k = localFunction;
-//                             ^
-//
-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<BottomType> #redirecting_factory = self::D::• in invalid-expression;
-  static method staticFunction(core::int* i) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:22:25: Error: The list literal type 'List<Object>' isn't of expected type 'List<int>'.
- - 'List' is from 'dart:core'.
- - 'Object' is from 'dart:core'.
-Change the type of the list literal or the context in which it is used.
-  List<int> a = <Object>[];
-                        ^" in <core::Object*>[];
-  core::Map<core::int*, core::String*>* b = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:23:40: Error: The map literal type 'Map<Object, String>' isn't of expected type 'Map<int, String>'.
- - 'Map' is from 'dart:core'.
- - 'Object' is from 'dart:core'.
-Change the type of the map literal or the context in which it is used.
-  Map<int, String> b = <Object, String>{};
-                                       ^" in <core::Object*, core::String*>{};
-  core::Map<core::int*, core::String*>* c = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:24:37: Error: The map literal type 'Map<int, Object>' isn't of expected type 'Map<int, String>'.
- - 'Map' is from 'dart:core'.
- - 'Object' is from 'dart:core'.
-Change the type of the map literal or the context in which it is used.
-  Map<int, String> c = <int, Object>{};
-                                    ^" in <core::int*, core::Object*>{};
-  (core::Object*) →* core::int* d = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:25:28: Error: The function expression type 'int Function(int)' isn't of expected type 'int Function(Object)'.
- - 'Object' is from 'dart:core'.
-Change the type of the function expression or the context in which it is used.
-  int Function(Object) d = (int i) => i;
-                           ^" in (core::int* i) → core::int* => i;
-  self::D* e = self::C::fact() as{TypeError} self::D*;
-  self::D* f = new self::D::•();
-  self::D* g = let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:28:13: Error: The constructor returns type 'C' that isn't of expected type 'D'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-Change the type of the object being constructed or the context in which it is used.
-  D g = new C.nonFact();
-            ^" in new self::C::nonFact();
-  self::D* h = let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:29:13: Error: The constructor returns type 'C' that isn't of expected type 'D'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart'.
-Change the type of the object being constructed or the context in which it is used.
-  D h = new C.nonFact2();
-            ^" in new self::C::nonFact2();
-  (core::Object*) →* void i = let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:30:31: Error: The static method has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
- - 'Object' is from 'dart:core'.
-Change the type of the method or the context in which it is used.
-  void Function(Object) i = C.staticFunction;
-                              ^" in #C1;
-  (core::Object*) →* void j = let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:31:29: Error: The top level function has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
- - 'Object' is from 'dart:core'.
-Change the type of the function or the context in which it is used.
-  void Function(Object) j = topLevelFunction;
-                            ^" in #C2;
-  (core::Object*) →* void k = let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart:32:29: Error: The local function has type 'void Function(int)' that isn't of expected type 'void Function(Object)'.
- - 'Object' is from 'dart:core'.
-Change the type of the function or the context in which it is used.
-  void Function(Object) k = localFunction;
-                            ^" in 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) → core::int* => i;
-  self::D* e = self::C::fact() as{TypeError} self::D*;
-  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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/invalid_cast.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/invalid_cast.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.hierarchy.expect
deleted file mode 100644
index 3805794..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.outline.expect
deleted file mode 100644
index d94e4b3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  static method foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.strong.expect
deleted file mode 100644
index bff2bc4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.strong.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart:9:5: Error: Expected identifier, but got 'this'.
-//     this.bar();
-//     ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart:14:12: Error: 'Missing' isn't a type.
-//   (null as Missing).bar();
-//            ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart:15:8: Error: The method 'bar' isn't defined for the class 'Null'.
-// Try correcting the name to the name of an existing method, or defining a method named 'bar'.
-//   null.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_nnbd_opt_out/invalid_type.dart:9:5: Error: Expected identifier, but got 'this'.
-    this.bar();
-    ^^^^".bar();
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  (null as invalid-type).bar();
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart:15:8: Error: The method 'bar' isn't defined for the class 'Null'.
-Try correcting the name to the name of an existing method, or defining a method named 'bar'.
-  null.bar();
-       ^^^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.strong.transformed.expect
deleted file mode 100644
index bff2bc4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.strong.transformed.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart:9:5: Error: Expected identifier, but got 'this'.
-//     this.bar();
-//     ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart:14:12: Error: 'Missing' isn't a type.
-//   (null as Missing).bar();
-//            ^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart:15:8: Error: The method 'bar' isn't defined for the class 'Null'.
-// Try correcting the name to the name of an existing method, or defining a method named 'bar'.
-//   null.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_nnbd_opt_out/invalid_type.dart:9:5: Error: Expected identifier, but got 'this'.
-    this.bar();
-    ^^^^".bar();
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  (null as invalid-type).bar();
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart:15:8: Error: The method 'bar' isn't defined for the class 'Null'.
-Try correcting the name to the name of an existing method, or defining a method named 'bar'.
-  null.bar();
-       ^^^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/invalid_type.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/invalid_type.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/invalid_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.strong.expect
deleted file mode 100644
index 3566c3d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.strong.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:9:3: Error: Method not found: 'z'.
-//   z("Hello, World!");
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:10:3: Error: Getter not found: 'z'.
-//   z.print("Hello, World!");
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:11:3: Error: Getter not found: 'y'.
-//   y.z.print("Hello, World!");
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:12:3: Error: Getter not found: 'x'.
-//   x.y.z.print("Hello, World!");
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:16:7: Error: Method not found: 'z'.
-//       z("Hello, World!") +
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:17:7: Error: Getter not found: 'z'.
-//       z.print("Hello, World!") +
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:18:7: Error: Getter not found: 'y'.
-//       y.z.print("Hello, World!") +
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:19:7: Error: Getter not found: 'x'.
-//       x.y.z.print("Hello, World!");
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:15:7: Error: This expression has type 'void' and can't be used.
-//       print("Hello, World!") +
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:9:3: Error: Method not found: 'z'.
-  z(\"Hello, World!\");
-  ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:10:3: Error: Getter not found: 'z'.
-  z.print(\"Hello, World!\");
-  ^".print("Hello, World!");
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:11:3: Error: Getter not found: 'y'.
-  y.z.print(\"Hello, World!\");
-  ^".z.print("Hello, World!");
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:12:3: Error: Getter not found: 'x'.
-  x.y.z.print(\"Hello, World!\");
-  ^".y.z.print("Hello, World!");
-  1.{core::num::+}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:15:7: Error: This expression has type 'void' and can't be used.
-      print(\"Hello, World!\") +
-      ^" in core::print("Hello, World!")).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:16:7: Error: Method not found: 'z'.
-      z(\"Hello, World!\") +
-      ^" as{TypeError,ForDynamic} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:17:7: Error: Getter not found: 'z'.
-      z.print(\"Hello, World!\") +
-      ^".print("Hello, World!") as{TypeError,ForDynamic} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:18:7: Error: Getter not found: 'y'.
-      y.z.print(\"Hello, World!\") +
-      ^".z.print("Hello, World!") as{TypeError,ForDynamic} core::num).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:19:7: Error: Getter not found: 'x'.
-      x.y.z.print(\"Hello, World!\");
-      ^".y.z.print("Hello, World!") as{TypeError,ForDynamic} core::num);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.strong.transformed.expect
deleted file mode 100644
index 93219c5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.strong.transformed.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:9:3: Error: Method not found: 'z'.
-//   z("Hello, World!");
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:10:3: Error: Getter not found: 'z'.
-//   z.print("Hello, World!");
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:11:3: Error: Getter not found: 'y'.
-//   y.z.print("Hello, World!");
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:12:3: Error: Getter not found: 'x'.
-//   x.y.z.print("Hello, World!");
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:16:7: Error: Method not found: 'z'.
-//       z("Hello, World!") +
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:17:7: Error: Getter not found: 'z'.
-//       z.print("Hello, World!") +
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:18:7: Error: Getter not found: 'y'.
-//       y.z.print("Hello, World!") +
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:19:7: Error: Getter not found: 'x'.
-//       x.y.z.print("Hello, World!");
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:15:7: Error: This expression has type 'void' and can't be used.
-//       print("Hello, World!") +
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::print("Hello, World!");
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:9:3: Error: Method not found: 'z'.
-  z(\"Hello, World!\");
-  ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:10:3: Error: Getter not found: 'z'.
-  z.print(\"Hello, World!\");
-  ^".print("Hello, World!");
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:11:3: Error: Getter not found: 'y'.
-  y.z.print(\"Hello, World!\");
-  ^".z.print("Hello, World!");
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:12:3: Error: Getter not found: 'x'.
-  x.y.z.print(\"Hello, World!\");
-  ^".y.z.print("Hello, World!");
-  1.{core::num::+}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:15:7: Error: This expression has type 'void' and can't be used.
-      print(\"Hello, World!\") +
-      ^" in core::print("Hello, World!")).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:16:7: Error: Method not found: 'z'.
-      z(\"Hello, World!\") +
-      ^").{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:17:7: Error: Getter not found: 'z'.
-      z.print(\"Hello, World!\") +
-      ^".print("Hello, World!") as{TypeError,ForDynamic} core::num*).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:18:7: Error: Getter not found: 'y'.
-      y.z.print(\"Hello, World!\") +
-      ^".z.print("Hello, World!") as{TypeError,ForDynamic} core::num*).{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart:19:7: Error: Getter not found: 'x'.
-      x.y.z.print(\"Hello, World!\");
-      ^".y.z.print("Hello, World!") as{TypeError,ForDynamic} core::num*);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/invocations.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.hierarchy.expect
deleted file mode 100644
index a8b24514..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.hierarchy.expect
+++ /dev/null
@@ -1,778 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D2.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D2.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D3.C.foo%B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D4:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D4.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D4.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D5:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, C, B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D5.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D5.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.foo
-
-G:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: E
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    G.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    G.foo
-
-H1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H1.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H1.foo
-
-H2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H2.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H2.foo
-
-H3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H3.E.foo=%G.foo=
-
-H4:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H4.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H4.foo
-
-H5:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, E, G
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H5.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H5.foo
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.outline.expect
deleted file mode 100644
index 2e7bfcc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.outline.expect
+++ /dev/null
@@ -1,232 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract method foo(core::num* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C extends core::Object implements self::B {
-  synthetic constructor •() → self::C*
-    ;
-  abstract method foo(covariant core::int* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class D1 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D1*
-    ;
-  abstract method foo(covariant core::int* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D2 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D2*
-    ;
-  method foo(covariant core::int* x) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class D3 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D3*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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*
-    ;
-  abstract method foo(covariant core::int* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class D5 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D5*
-    ;
-  abstract method foo(covariant core::num* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class E extends core::Object {
-  synthetic constructor •() → self::E*
-    ;
-  abstract set foo(core::num* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class G extends core::Object implements self::E {
-  synthetic constructor •() → self::G*
-    ;
-  abstract set foo(covariant core::int* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class H1 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H1*
-    ;
-  abstract set foo(covariant core::int* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class H2 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H2*
-    ;
-  set foo(covariant core::int* x) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class H3 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H3*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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*
-    ;
-  abstract set foo(covariant core::int* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class H5 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H5*
-    ;
-  abstract set foo(covariant core::num* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.strong.expect
deleted file mode 100644
index 40d8856..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.strong.expect
+++ /dev/null
@@ -1,244 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method foo(core::num* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class D3 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  abstract set foo(core::num* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class H3 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.strong.transformed.expect
deleted file mode 100644
index 40d8856..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.strong.transformed.expect
+++ /dev/null
@@ -1,244 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract method foo(core::num* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class D3 extends core::Object implements self::A, self::C, self::B {
-  synthetic constructor •() → self::D3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  abstract set foo(core::num* x) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class H3 extends core::Object implements self::A, self::E, self::G {
-  synthetic constructor •() → self::H3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue129167943.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/issue129167943.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/issue129167943.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.hierarchy.expect
deleted file mode 100644
index 32f2c5e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ImportedClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ImportedClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.outline.expect
deleted file mode 100644
index 80f2491..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.outline.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library;
-import self as self;
-
-import "org-dartlang-testcase:///issue34515_lib1.dart";
-import "org-dartlang-testcase:///issue34515_lib2.dart";
-
-static method test() → void
-  ;
-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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class ImportedClass extends core::Object {
-  constructor •(core::String* a) → self3::ImportedClass*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.strong.expect
deleted file mode 100644
index ae54320..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.strong.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart:11:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib2.dart'.
-//   ImportedClass(1);
-//   ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart:12:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/issue34515.dart:11:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib2.dart'.
-  ImportedClass(1);
-  ^^^^^^^^^^^^^";
-  let final core::Object* #t2 = "a" in invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart:12:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class ImportedClass extends core::Object {
-  constructor •(core::String* a) → self3::ImportedClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.strong.transformed.expect
deleted file mode 100644
index ae54320..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.strong.transformed.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart:11:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib2.dart'.
-//   ImportedClass(1);
-//   ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart:12:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/issue34515.dart:11:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib2.dart'.
-  ImportedClass(1);
-  ^^^^^^^^^^^^^";
-  let final core::Object* #t2 = "a" in invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart:12:3: Error: 'ImportedClass' is imported from both 'pkg/front_end/testcases/general_nnbd_opt_out/issue34515_lib1.dart' and 'pkg/front_end/testcases/general_nnbd_opt_out/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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-
-library;
-import self as self3;
-import "dart:core" as core;
-
-class ImportedClass extends core::Object {
-  constructor •(core::String* a) → self3::ImportedClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general/issue34515.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/issue34515.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/issue34515.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.hierarchy.expect
deleted file mode 100644
index 988b29a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.hierarchy.expect
+++ /dev/null
@@ -1,96 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.call
-    Object._instanceOf
-    Foo.quux
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.t
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Bar.garply
-    Object.toString
-    Object.runtimeType
-    Bar.quuz
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Bar.corge
-    Object._simpleInstanceOfTrue
-    Object.==
-    Bar.qux
-  classSetters:
-    Bar.qux
-
-Baz:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Grault:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.outline.expect
deleted file mode 100644
index b7a3e15..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.outline.expect
+++ /dev/null
@@ -1,74 +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*>*
-    ;
-  method call() → asy::Future<self::Foo::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  field self::Foo<self::Baz*>* qux;
-  synthetic constructor •() → self::Bar*
-    ;
-  method quuz() → asy::Future<void>*
-    ;
-  method corge(self::Baz* baz) → self::Grault*
-    ;
-  method garply(self::Grault* grault) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Baz extends core::Object {
-  synthetic constructor •() → self::Baz*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Grault extends core::Object {
-  synthetic constructor •() → self::Grault*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.strong.expect
deleted file mode 100644
index a2f1518..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.strong.expect
+++ /dev/null
@@ -1,76 +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.{self::Foo::quux}.call().{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t});
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.{self::Bar::qux}.{self::Foo::call}().{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz)).{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault));
-  method corge(self::Baz* baz) → self::Grault*
-    return null;
-  method garply(self::Grault* grault) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Baz extends core::Object {
-  synthetic constructor •() → self::Baz*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Grault extends core::Object {
-  synthetic constructor •() → self::Grault*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.strong.transformed.expect
deleted file mode 100644
index a2f1518..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.strong.transformed.expect
+++ /dev/null
@@ -1,76 +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.{self::Foo::quux}.call().{asy::Future::then}<self::Foo::T*>((dynamic _) → self::Foo::T* => this.{self::Foo::t});
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.{self::Bar::qux}.{self::Foo::call}().{asy::Future::then}<self::Grault*>((self::Baz* baz) → self::Grault* => this.{self::Bar::corge}(baz)).{asy::Future::then}<void>((self::Grault* grault) → void => this.{self::Bar::garply}(grault));
-  method corge(self::Baz* baz) → self::Grault*
-    return null;
-  method garply(self::Grault* grault) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Baz extends core::Object {
-  synthetic constructor •() → self::Baz*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Grault extends core::Object {
-  synthetic constructor •() → self::Grault*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue34899.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/issue34899.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/issue34899.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.hierarchy.expect
deleted file mode 100644
index eef7d41..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.outline.expect
deleted file mode 100644
index ec8d853..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.outline.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* a;
-  constructor •(core::int* a) → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.strong.expect
deleted file mode 100644
index 334e022..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.strong.expect
+++ /dev/null
@@ -1,22 +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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.strong.transformed.expect
deleted file mode 100644
index 334e022..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.strong.transformed.expect
+++ /dev/null
@@ -1,22 +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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue35875.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/issue35875.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/issue35875.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.hierarchy.expect
deleted file mode 100644
index d7772a1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.s
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.outline.expect
deleted file mode 100644
index 1885c8b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.outline.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.strong.expect
deleted file mode 100644
index 75ead33..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.strong.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-class C extends core::Object {
-  final field core::Set<core::int*>* s;
-  constructor •(core::List<core::int*>* ell) → self::C*
-    : self::C::s = block {
-      final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
-      for (core::int* e in ell)
-        if(e.{core::int::isOdd})
-          #t1.{core::Set::add}(2.{core::num::*}(e));
-    } =>#t1, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.strong.transformed.expect
deleted file mode 100644
index 9c0061a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.strong.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-class C extends core::Object {
-  final field core::Set<core::int*>* s;
-  constructor •(core::List<core::int*>* ell) → self::C*
-    : self::C::s = block {
-      final core::Set<core::int*>* #t1 = col::LinkedHashSet::•<core::int*>();
-      {
-        core::Iterator<core::int*>* :sync-for-iterator = ell.{core::Iterable::iterator};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-          core::int* e = :sync-for-iterator.{core::Iterator::current};
-          if(e.{core::int::isOdd})
-            #t1.{core::Set::add}(2.{core::num::*}(e));
-        }
-      }
-    } =>#t1, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue37027.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/issue37027.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/issue37027.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.hierarchy.expect
deleted file mode 100644
index 8f0eb34..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.outline.expect
deleted file mode 100644
index 9b4f25f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.outline.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*>*
-    ;
-  method f<R extends core::Object* = dynamic>(<X extends core::Object* = dynamic>(self::A<X*>*) →* self::A::f::R* f) → self::A::f::R*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.strong.expect
deleted file mode 100644
index a3150b8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.strong.expect
+++ /dev/null
@@ -1,25 +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);
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::A<core::num*>* a = new self::A::•<core::int*>();
-  a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.strong.transformed.expect
deleted file mode 100644
index a3150b8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.strong.transformed.expect
+++ /dev/null
@@ -1,25 +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);
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::A<core::num*>* a = new self::A::•<core::int*>();
-  a.{self::A::f}<core::int*>(<X extends core::Object* = dynamic>(self::A<X*>* _) → core::int* => 42);
-}
diff --git a/pkg/front_end/testcases/general/issue37381.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/issue37381.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/issue37381.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.hierarchy.expect
deleted file mode 100644
index 8e2b7bf..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.outline.expect
deleted file mode 100644
index 546aa3c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.outline.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:13:7: Error: 'X' is already declared in this scope.
-// class X {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:9:7: Context: Previous declaration of 'X'.
-// class X {
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class X#1 extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::X#1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.strong.expect
deleted file mode 100644
index 7d8af2c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.strong.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:13:7: Error: 'X' is already declared in this scope.
-// class X {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:9:7: Context: Previous declaration of 'X'.
-// class X {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:18:9: Error: Method not found: 'X.foo'.
-//   const X.foo();
-//         ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class X#1 extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::X#1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:18:9: Error: Method not found: 'X.foo'.
-  const X.foo();
-        ^^^";
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.strong.transformed.expect
deleted file mode 100644
index 7d8af2c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.strong.transformed.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:13:7: Error: 'X' is already declared in this scope.
-// class X {
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:9:7: Context: Previous declaration of 'X'.
-// class X {
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:18:9: Error: Method not found: 'X.foo'.
-//   const X.foo();
-//         ^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class X#1 extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::X#1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object /*hasConstConstructor*/  {
-  const constructor foo() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:18:9: Error: Method not found: 'X.foo'.
-  const X.foo();
-        ^^^";
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.weak.outline.expect
new file mode 100644
index 0000000..29b0340
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart.weak.outline.expect
@@ -0,0 +1,46 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:13:7: Error: 'X' is already declared in this scope.
+// class X {
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/issue37776.dart:9:7: Context: Previous declaration of 'X'.
+// class X {
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+class X#1 extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → self::X#1*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class X extends core::Object /*hasConstConstructor*/  {
+  const constructor foo() → self::X*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.outline.expect
deleted file mode 100644
index 6e90626..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.outline.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef G<unrelated X extends core::Object* = dynamic> = () →* void;
-class A<X extends () →* void = () →* void, Y extends () →* void = () →* void> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*, self::A::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.strong.expect
deleted file mode 100644
index 5d189a1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.strong.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef G<unrelated X extends core::Object* = dynamic> = () →* void;
-class A<X extends () →* void = () →* void, Y extends () →* void = () →* void> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*, self::A::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•<() →* void, () →* void>();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.strong.transformed.expect
deleted file mode 100644
index 5d189a1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.strong.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef G<unrelated X extends core::Object* = dynamic> = () →* void;
-class A<X extends () →* void = () →* void, Y extends () →* void = () →* void> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*, self::A::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•<() →* void, () →* void>();
-}
diff --git a/pkg/front_end/testcases/general/issue38812.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/issue38812.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/issue38812.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.outline.expect
deleted file mode 100644
index b4d8987..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.outline.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:9:7: Error: 'v' is already declared in this scope.
-//   int v;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:8:7: Context: Previous declaration of 'v'.
-//   int v;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* v;
-  constructor •(core::int* v) → self::A*
-    ;
-  constructor second() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.strong.expect
deleted file mode 100644
index 14431ab..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.strong.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:9:7: Error: 'v' is already declared in this scope.
-//   int v;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:8:7: Context: Previous declaration of 'v'.
-//   int v;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:10:10: Error: Can't use 'v' because it is declared more than once.
-//   A(this.v);
-//          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* v = null;
-  constructor •(core::int* v) → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:10:10: Error: Can't use 'v' because it is declared more than once.
-  A(this.v);
-         ^", super core::Object::•()
-    ;
-  constructor second() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.strong.transformed.expect
deleted file mode 100644
index 14431ab..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.strong.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:9:7: Error: 'v' is already declared in this scope.
-//   int v;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:8:7: Context: Previous declaration of 'v'.
-//   int v;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:10:10: Error: Can't use 'v' because it is declared more than once.
-//   A(this.v);
-//          ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* v = null;
-  constructor •(core::int* v) → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:10:10: Error: Can't use 'v' because it is declared more than once.
-  A(this.v);
-         ^", super core::Object::•()
-    ;
-  constructor second() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.weak.outline.expect
new file mode 100644
index 0000000..1281bf2
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:9:7: Error: 'v' is already declared in this scope.
+//   int v;
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/issue38938.dart:8:7: Context: Previous declaration of 'v'.
+//   int v;
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int* v;
+  constructor •(core::int* v) → self::A*
+    ;
+  constructor second() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.outline.expect
deleted file mode 100644
index 992b0b5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.outline.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class D<X extends () →* void = () →* void> extends core::Object {
-  constructor _() → self::D<self::D::X*>*
-    ;
-  static factory foo<X extends () →* void = dynamic>() → self::D<self::D::foo::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.strong.expect
deleted file mode 100644
index db4b5e2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.strong.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class D<X extends () →* void = () →* void> extends core::Object {
-  constructor _() → self::D<self::D::X*>*
-    : super core::Object::•() {}
-  static factory foo<X extends () →* void = dynamic>() → self::D<self::D::foo::X*>*
-    return new self::D::_<self::D::foo::X*>();
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  core::print(self::D::foo<() →* void>());
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.strong.transformed.expect
deleted file mode 100644
index db4b5e2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.strong.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class D<X extends () →* void = () →* void> extends core::Object {
-  constructor _() → self::D<self::D::X*>*
-    : super core::Object::•() {}
-  static factory foo<X extends () →* void = dynamic>() → self::D<self::D::foo::X*>*
-    return new self::D::_<self::D::foo::X*>();
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  core::print(self::D::foo<() →* void>());
-}
diff --git a/pkg/front_end/testcases/general/issue38943.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/issue38943.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/issue38943.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.outline.expect
deleted file mode 100644
index df82a23..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.outline.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart:8:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
-// class B<X> extends Object with A<void Function<Y extends X>()> {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A<Q extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::Q*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _B&Object&A<X extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<X extends core::Object* = dynamic> extends self::_B&Object&A<self::B::X*> {
-  synthetic constructor •() → self::B<self::B::X*>*
-    ;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.strong.expect
deleted file mode 100644
index f1734d9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.strong.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart:8:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
-// class B<X> extends Object with A<void Function<Y extends X>()> {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A<Q extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::Q*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _B&Object&A<X extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<X extends core::Object* = dynamic> extends self::_B&Object&A<self::B::X*> {
-  synthetic constructor •() → self::B<self::B::X*>*
-    : super self::_B&Object&A::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.strong.transformed.expect
deleted file mode 100644
index f1734d9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.strong.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart:8:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
-// class B<X> extends Object with A<void Function<Y extends X>()> {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A<Q extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::Q*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _B&Object&A<X extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<X extends core::Object* = dynamic> extends self::_B&Object&A<self::B::X*> {
-  synthetic constructor •() → self::B<self::B::X*>*
-    : super self::_B&Object&A::•()
-    ;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.weak.outline.expect
new file mode 100644
index 0000000..c3137e6
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart.weak.outline.expect
@@ -0,0 +1,44 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/issue38944.dart:8:7: Error: Can't use implicitly 'out' variable 'X' in an 'inout' position in supertype 'A'.
+// class B<X> extends Object with A<void Function<Y extends X>()> {}
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A<Q extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::A<self::A::Q*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _B&Object&A<X extends core::Object* = dynamic> extends core::Object /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_B&Object&A<self::_B&Object&A::X*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B<X extends core::Object* = dynamic> extends self::_B&Object&A<self::B::X*> {
+  synthetic constructor •() → self::B<self::B::X*>*
+    ;
+}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.outline.expect
deleted file mode 100644
index eccd368..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.outline.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:9:7: Error: 'x' is already declared in this scope.
-//   var x = this;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:8:11: Context: Previous declaration of 'x'.
-//   dynamic x = this;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic x;
-  synthetic constructor •() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.strong.expect
deleted file mode 100644
index 75a4e05..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.strong.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:9:7: Error: 'x' is already declared in this scope.
-//   var x = this;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:8:11: Context: Previous declaration of 'x'.
-//   dynamic x = this;
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:8:15: Error: Can't access 'this' in a field initializer.
-//   dynamic x = this;
-//               ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:9:11: Error: Can't access 'this' in a field initializer.
-//   var x = this;
-//           ^^^^
-//
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.strong.transformed.expect
deleted file mode 100644
index 75a4e05..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.strong.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:9:7: Error: 'x' is already declared in this scope.
-//   var x = this;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:8:11: Context: Previous declaration of 'x'.
-//   dynamic x = this;
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:8:15: Error: Can't access 'this' in a field initializer.
-//   dynamic x = this;
-//               ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:9:11: Error: Can't access 'this' in a field initializer.
-//   var x = this;
-//           ^^^^
-//
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.weak.outline.expect
new file mode 100644
index 0000000..cad9ffd
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart.weak.outline.expect
@@ -0,0 +1,29 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:9:7: Error: 'x' is already declared in this scope.
+//   var x = this;
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/issue38961.dart:8:11: Context: Previous declaration of 'x'.
+//   dynamic x = this;
+//           ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  field dynamic x;
+  synthetic constructor •() → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.outline.expect
deleted file mode 100644
index c4d269c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.outline.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class Class<T extends self::A* = self::A*> extends core::Object {
-  synthetic constructor •() → self::Class<self::Class::T*>*
-    ;
-  method method1a(generic-covariant-impl self::Class::T* t) → void
-    ;
-  method method1b(generic-covariant-impl self::Class::T* t) → void
-    ;
-  method method2a(generic-covariant-impl self::Class::T* t) → void
-    ;
-  method method2b(generic-covariant-impl self::Class::T* t) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::List<self::B*>* xs;
-static field core::List<core::List<self::B*>*>* xss;
-static method main() → void
-  ;
-static method errors() → void
-  ;
-static method throws(() →* void f) → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.strong.expect
deleted file mode 100644
index 086bc34..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.strong.expect
+++ /dev/null
@@ -1,116 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart:21:12: Error: A value of type 'List<T>' can't be assigned to a variable of type 'List<B>'.
-//  - 'List' is from 'dart:core'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart'.
-//       xs = ys;
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart:33:13: Error: A value of type 'List<List<T>>' can't be assigned to a variable of type 'List<List<B>>'.
-//  - 'List' is from 'dart:core'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart'.
-//       xss = yss;
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class Class<T extends self::A* = self::A*> extends core::Object {
-  synthetic constructor •() → self::Class<self::Class::T*>*
-    : super core::Object::•()
-    ;
-  method method1a(generic-covariant-impl self::Class::T* t) → void {
-    if(t is self::B*) {
-      core::List<self::Class::T*>* ys = <self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}];
-      self::xs = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart:21:12: Error: A value of type 'List<T>' can't be assigned to a variable of type 'List<B>'.
- - 'List' is from 'dart:core'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart'.
-      xs = ys;
-           ^" in ys as{TypeError} core::List<self::B*>*;
-    }
-  }
-  method method1b(generic-covariant-impl self::Class::T* t) → void {
-    if(t is self::B*) {
-      core::List<core::List<self::Class::T*>*>* yss = <core::List<self::Class::T*>*>[<self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}]];
-      self::xss = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart:33:13: Error: A value of type 'List<List<T>>' can't be assigned to a variable of type 'List<List<B>>'.
- - 'List' is from 'dart:core'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart'.
-      xss = yss;
-            ^" in yss as{TypeError} core::List<core::List<self::B*>*>*;
-    }
-  }
-  method method2a(generic-covariant-impl self::Class::T* t) → void {
-    dynamic alias;
-    if(t is self::B*) {
-      core::List<self::Class::T*>* ys = <self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}];
-      alias = ys;
-      self::xs = alias as{TypeError,ForDynamic} core::List<self::B*>*;
-    }
-  }
-  method method2b(generic-covariant-impl self::Class::T* t) → void {
-    dynamic alias;
-    if(t is self::B*) {
-      core::List<core::List<self::Class::T*>*>* yss = <core::List<self::Class::T*>*>[<self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}]];
-      alias = yss;
-      self::xss = alias as{TypeError,ForDynamic} core::List<core::List<self::B*>*>*;
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::List<self::B*>* xs;
-static field core::List<core::List<self::B*>*>* xss;
-static method main() → void {
-  self::throws(() → core::Null? {
-    new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•());
-    core::print(self::xs.{core::Object::runtimeType});
-  });
-  self::throws(() → core::Null? {
-    new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•());
-    core::print(self::xs.{core::Object::runtimeType});
-  });
-}
-static method errors() → void {
-  new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•());
-  new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•());
-}
-static method throws(() →* void f) → void {
-  try {
-    f.call();
-  }
-  on dynamic catch(final dynamic e) {
-    core::print(e);
-    return;
-  }
-  throw "Expected throws";
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.strong.transformed.expect
deleted file mode 100644
index 086bc34..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.strong.transformed.expect
+++ /dev/null
@@ -1,116 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart:21:12: Error: A value of type 'List<T>' can't be assigned to a variable of type 'List<B>'.
-//  - 'List' is from 'dart:core'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart'.
-//       xs = ys;
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart:33:13: Error: A value of type 'List<List<T>>' can't be assigned to a variable of type 'List<List<B>>'.
-//  - 'List' is from 'dart:core'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart'.
-//       xss = yss;
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class Class<T extends self::A* = self::A*> extends core::Object {
-  synthetic constructor •() → self::Class<self::Class::T*>*
-    : super core::Object::•()
-    ;
-  method method1a(generic-covariant-impl self::Class::T* t) → void {
-    if(t is self::B*) {
-      core::List<self::Class::T*>* ys = <self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}];
-      self::xs = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart:21:12: Error: A value of type 'List<T>' can't be assigned to a variable of type 'List<B>'.
- - 'List' is from 'dart:core'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart'.
-      xs = ys;
-           ^" in ys as{TypeError} core::List<self::B*>*;
-    }
-  }
-  method method1b(generic-covariant-impl self::Class::T* t) → void {
-    if(t is self::B*) {
-      core::List<core::List<self::Class::T*>*>* yss = <core::List<self::Class::T*>*>[<self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}]];
-      self::xss = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart:33:13: Error: A value of type 'List<List<T>>' can't be assigned to a variable of type 'List<List<B>>'.
- - 'List' is from 'dart:core'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart'.
-      xss = yss;
-            ^" in yss as{TypeError} core::List<core::List<self::B*>*>*;
-    }
-  }
-  method method2a(generic-covariant-impl self::Class::T* t) → void {
-    dynamic alias;
-    if(t is self::B*) {
-      core::List<self::Class::T*>* ys = <self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}];
-      alias = ys;
-      self::xs = alias as{TypeError,ForDynamic} core::List<self::B*>*;
-    }
-  }
-  method method2b(generic-covariant-impl self::Class::T* t) → void {
-    dynamic alias;
-    if(t is self::B*) {
-      core::List<core::List<self::Class::T*>*>* yss = <core::List<self::Class::T*>*>[<self::Class::T*>[t{self::Class::T* & self::B* /* '*' & '*' = '*' */}]];
-      alias = yss;
-      self::xss = alias as{TypeError,ForDynamic} core::List<core::List<self::B*>*>*;
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::List<self::B*>* xs;
-static field core::List<core::List<self::B*>*>* xss;
-static method main() → void {
-  self::throws(() → core::Null? {
-    new self::Class::•<self::A*>().{self::Class::method2a}(new self::B::•());
-    core::print(self::xs.{core::Object::runtimeType});
-  });
-  self::throws(() → core::Null? {
-    new self::Class::•<self::A*>().{self::Class::method2b}(new self::B::•());
-    core::print(self::xs.{core::Object::runtimeType});
-  });
-}
-static method errors() → void {
-  new self::Class::•<self::A*>().{self::Class::method1a}(new self::B::•());
-  new self::Class::•<self::A*>().{self::Class::method1b}(new self::B::•());
-}
-static method throws(() →* void f) → void {
-  try {
-    f.call();
-  }
-  on dynamic catch(final dynamic e) {
-    core::print(e);
-    return;
-  }
-  throw "Expected throws";
-}
diff --git a/pkg/front_end/testcases/general/issue39344.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/issue39344.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/issue39344.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.outline.expect
deleted file mode 100644
index 961b90b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.outline.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:11:7: Error: 'A' is already declared in this scope.
-// class A {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:9:7: Context: Previous declaration of 'A'.
-// class A {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Error: 'A' isn't a type.
-//   foo(List<A> a) {}
-//            ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Context: This isn't a type.
-//   foo(List<A> a) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A#1 extends core::Object {
-  synthetic constructor •() → self::A#1*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  method foo(core::List<core::Null?>* a) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-  method foo(core::List<invalid-type>* a) → dynamic
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.strong.expect
deleted file mode 100644
index 35ef5c3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.strong.expect
+++ /dev/null
@@ -1,78 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:11:7: Error: 'A' is already declared in this scope.
-// class A {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:9:7: Context: Previous declaration of 'A'.
-// class A {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Error: 'A' isn't a type.
-//   foo(List<A> a) {}
-//            ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Context: This isn't a type.
-//   foo(List<A> a) {}
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Error: Can't use 'A' because it is declared more than once.
-//   foo(List<A> a) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A#1 extends core::Object {
-  synthetic constructor •() → self::A#1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(core::List<core::Null?>* a) → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method foo(core::List<invalid-type>* a) → dynamic {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.strong.transformed.expect
deleted file mode 100644
index 35ef5c3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.strong.transformed.expect
+++ /dev/null
@@ -1,78 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:11:7: Error: 'A' is already declared in this scope.
-// class A {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:9:7: Context: Previous declaration of 'A'.
-// class A {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Error: 'A' isn't a type.
-//   foo(List<A> a) {}
-//            ^
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Context: This isn't a type.
-//   foo(List<A> a) {}
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Error: Can't use 'A' because it is declared more than once.
-//   foo(List<A> a) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A#1 extends core::Object {
-  synthetic constructor •() → self::A#1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  method foo(core::List<core::Null?>* a) → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method foo(core::List<invalid-type>* a) → dynamic {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.weak.outline.expect
new file mode 100644
index 0000000..aabd160
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart.weak.outline.expect
@@ -0,0 +1,73 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:11:7: Error: 'A' is already declared in this scope.
+// class A {}
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:9:7: Context: Previous declaration of 'A'.
+// class A {}
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Error: 'A' isn't a type.
+//   foo(List<A> a) {}
+//            ^
+// pkg/front_end/testcases/general_nnbd_opt_out/issue39421.dart:18:12: Context: This isn't a type.
+//   foo(List<A> a) {}
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A#1 extends core::Object {
+  synthetic constructor •() → self::A#1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends core::Object {
+  synthetic constructor •() → self::B*
+    ;
+  method foo(core::List<Null>* a) → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends self::B {
+  synthetic constructor •() → self::C*
+    ;
+  method foo(core::List<invalid-type>* a) → dynamic
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.strong.expect
deleted file mode 100644
index 217fc5e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.strong.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  core::Null? _null;
-  for (dynamic i in _null) {
-  }
-  ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.strong.transformed.expect
deleted file mode 100644
index da4a799..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.strong.transformed.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method foo() → dynamic {
-  core::Null? _null;
-  {
-    core::Iterator<core::Null?>* :sync-for-iterator = _null.{core::Iterable::iterator};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-      dynamic i = :sync-for-iterator.{core::Iterator::current};
-      {}
-    }
-  }
-  ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/issue39817.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/literals.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/literals.dart.strong.expect
deleted file mode 100644
index 8ef3e48..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/literals.dart.strong.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(<core::String*>["a", "b"]);
-}
-static method testMap() → dynamic {
-  core::print(<dynamic, dynamic>{});
-  core::print(<core::String*, core::String*>{"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_nnbd_opt_out/literals.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/literals.dart.strong.transformed.expect
deleted file mode 100644
index 8ef3e48..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/literals.dart.strong.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(<core::String*>["a", "b"]);
-}
-static method testMap() → dynamic {
-  core::print(<dynamic, dynamic>{});
-  core::print(<core::String*, core::String*>{"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_nnbd_opt_out/literals.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/literals.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.strong.expect
deleted file mode 100644
index 487fec1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.strong.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.{core::List::[]}(0);
-  core::int* x = f.call<core::int*>(<core::int*>[0]);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.strong.transformed.expect
deleted file mode 100644
index 487fec1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.strong.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.{core::List::[]}(0);
-  core::int* x = f.call<core::int*>(<core::int*>[0]);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/local_generic_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.outline.expect
deleted file mode 100644
index 1883ef1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.outline.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Foo01<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (core::Null?) →* void;
-typedef Foo02<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((core::Null?) →* void) →* void;
-typedef Foo03<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((core::Null?) →* void) →* void) →* void;
-typedef Foo04<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((core::Null?) →* void) →* void) →* void) →* void;
-typedef Foo05<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((core::Null?) →* void) →* void) →* void) →* void) →* void;
-typedef Foo06<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo07<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo08<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo09<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo10<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo11<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo12<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo13<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo14<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo15<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo16<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo17<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo18<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo19<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo20<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.strong.expect
deleted file mode 100644
index e62ba24..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.strong.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Foo01<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (core::Null?) →* void;
-typedef Foo02<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((core::Null?) →* void) →* void;
-typedef Foo03<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((core::Null?) →* void) →* void) →* void;
-typedef Foo04<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((core::Null?) →* void) →* void) →* void) →* void;
-typedef Foo05<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((core::Null?) →* void) →* void) →* void) →* void) →* void;
-typedef Foo06<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo07<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo08<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo09<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo10<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo11<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo12<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo13<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo14<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo15<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo16<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo17<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo18<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo19<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo20<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.strong.transformed.expect
deleted file mode 100644
index e62ba24..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.strong.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef Foo01<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (core::Null?) →* void;
-typedef Foo02<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((core::Null?) →* void) →* void;
-typedef Foo03<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((core::Null?) →* void) →* void) →* void;
-typedef Foo04<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((core::Null?) →* void) →* void) →* void) →* void;
-typedef Foo05<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((core::Null?) →* void) →* void) →* void) →* void) →* void;
-typedef Foo06<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo07<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo08<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo09<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo10<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo11<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo12<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo13<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo14<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo15<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo16<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo17<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo18<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo19<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = (((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-typedef Foo20<unrelated X extends core::Object* = dynamic, unrelated Y extends core::Object* = dynamic, unrelated Z extends core::Object* = dynamic> = ((((((((((((((((((((core::Null?) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void) →* void;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/long_chain_of_typedefs.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/long_chain_of_typedefs.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/long_chain_of_typedefs.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.hierarchy.expect
deleted file mode 100644
index 0a8f0ef..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Constant:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-NotConstant:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.outline.expect
deleted file mode 100644
index d464a17..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.outline.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Constant extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::Constant*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class NotConstant extends core::Object {
-  synthetic constructor •() → self::NotConstant*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo({dynamic a, dynamic b, dynamic c}) → dynamic
-  ;
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.strong.expect
deleted file mode 100644
index a964179..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.strong.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:17:9: Error: Constant expression expected.
-// Try inserting 'const'.
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//         ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:17:24: Error: Constant expression expected.
-// Try inserting 'const'.
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//                        ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:17:39: Error: Constant expression expected.
-// Try inserting 'const'.
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:20: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 /*hasConstConstructor*/  {
-  const constructor •() → self::Constant*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class NotConstant extends core::Object {
-  synthetic constructor •() → self::NotConstant*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo({dynamic a = #C1, dynamic b = #C1, dynamic c = invalid-expression "Non-constant list literal"}) → dynamic {}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:20: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_nnbd_opt_out/magic_const.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.strong.transformed.expect
deleted file mode 100644
index a964179..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.strong.transformed.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:17:9: Error: Constant expression expected.
-// Try inserting 'const'.
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//         ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:17:24: Error: Constant expression expected.
-// Try inserting 'const'.
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//                        ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:17:39: Error: Constant expression expected.
-// Try inserting 'const'.
-// foo({a: Constant(), b: Constant(), c: []}) {}
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:20: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 /*hasConstConstructor*/  {
-  const constructor •() → self::Constant*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class NotConstant extends core::Object {
-  synthetic constructor •() → self::NotConstant*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method foo({dynamic a = #C1, dynamic b = #C1, dynamic c = invalid-expression "Non-constant list literal"}) → dynamic {}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart:20: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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/magic_const.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/magic_const.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.hierarchy.expect
deleted file mode 100644
index ef14d0e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.hierarchy.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.b
-
-AbstractClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.outline.expect
deleted file mode 100644
index c0244ca..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.outline.expect
+++ /dev/null
@@ -1,102 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:10: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_nnbd_opt_out/many_errors.dart:15:1: Error: An external or native method can't have a body.
-// external foo(String x) {
-// ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12:26: Error: New expression is not a constant expression.
-//   const A.named2() : x = new Object();
-//                          ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12:24: Error: 'x' is a final instance variable that has already been initialized.
-//   const A.named2() : x = new Object();
-//                        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:8:9: Context: 'x' was initialized here.
-//   final x = null;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12: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();
-//                        ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  final field dynamic x = null;
-  constructor named1() → self::A*
-    ;
-  const constructor named2() → self::A*
-    : final dynamic #t1 = throw invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field self::B* b;
-  synthetic constructor •() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class AbstractClass extends core::Object /*hasConstConstructor*/  {
-  const constructor id() → self::AbstractClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-external static method foo(core::String* x) → dynamic;
-static method m() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.strong.expect
deleted file mode 100644
index 0d132af..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.strong.expect
+++ /dev/null
@@ -1,144 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:10: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_nnbd_opt_out/many_errors.dart:15:1: Error: An external or native method can't have a body.
-// external foo(String x) {
-// ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12:26: Error: New expression is not a constant expression.
-//   const A.named2() : x = new Object();
-//                          ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12:24: Error: 'x' is a final instance variable that has already been initialized.
-//   const A.named2() : x = new Object();
-//                        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:8:9: Context: 'x' was initialized here.
-//   final x = null;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12: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_nnbd_opt_out/many_errors.dart:10:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
-//   const A.named1() sync* {}
-//                          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:15:24: Error: An external or native method can't have a body.
-// external foo(String x) {
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:30:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
-//   const AbstractClass.id();
-//         ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:30: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();
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
-//   (new C()?.b ??= new B()).b;
-//                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  final field dynamic x = null;
-  constructor named1() → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:10: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_nnbd_opt_out/many_errors.dart:12: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class AbstractClass extends core::Object /*hasConstConstructor*/  {
-  const constructor id() → self::AbstractClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-external static method foo(core::String* x) → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:15:24: Error: An external or native method can't have a body.
-external foo(String x) {
-                       ^";
-  {
-    return x.{core::String::length};
-  }
-}
-static method m() → dynamic {
-  throw invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:30: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();
-        ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
-  (new C()?.b ??= new B()).b;
-                           ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.strong.transformed.expect
deleted file mode 100644
index 0d132af..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.strong.transformed.expect
+++ /dev/null
@@ -1,144 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:10: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_nnbd_opt_out/many_errors.dart:15:1: Error: An external or native method can't have a body.
-// external foo(String x) {
-// ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12:26: Error: New expression is not a constant expression.
-//   const A.named2() : x = new Object();
-//                          ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12:24: Error: 'x' is a final instance variable that has already been initialized.
-//   const A.named2() : x = new Object();
-//                        ^
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:8:9: Context: 'x' was initialized here.
-//   final x = null;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12: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_nnbd_opt_out/many_errors.dart:10:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
-//   const A.named1() sync* {}
-//                          ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:15:24: Error: An external or native method can't have a body.
-// external foo(String x) {
-//                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:30:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
-//   const AbstractClass.id();
-//         ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:30: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();
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
-//   (new C()?.b ??= new B()).b;
-//                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  final field dynamic x = null;
-  constructor named1() → self::A*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:10: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_nnbd_opt_out/many_errors.dart:12: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class AbstractClass extends core::Object /*hasConstConstructor*/  {
-  const constructor id() → self::AbstractClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-external static method foo(core::String* x) → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:15:24: Error: An external or native method can't have a body.
-external foo(String x) {
-                       ^";
-  {
-    return x.{core::String::length};
-  }
-}
-static method m() → dynamic {
-  throw invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:30: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();
-        ^";
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:31:28: Error: The getter 'b' isn't defined for the class 'B'.
- - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
-  (new C()?.b ??= new B()).b;
-                           ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.weak.outline.expect
new file mode 100644
index 0000000..351b3b5
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart.weak.outline.expect
@@ -0,0 +1,102 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:10: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_nnbd_opt_out/many_errors.dart:15:1: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12:26: Error: New expression is not a constant expression.
+//   const A.named2() : x = new Object();
+//                          ^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12:24: Error: 'x' is a final instance variable that was initialized at the declaration.
+//   const A.named2() : x = new Object();
+//                        ^
+// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:8:9: Context: 'x' was initialized here.
+//   final x = null;
+//         ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12: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();
+//                        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/  {
+  final field dynamic x = null;
+  constructor named1() → self::A*
+    ;
+  const constructor named2() → self::A*
+    : final dynamic #t1 = throw invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/many_errors.dart:12: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::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends core::Object {
+  synthetic constructor •() → self::B*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends core::Object {
+  field self::B* b;
+  synthetic constructor •() → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class AbstractClass extends core::Object /*hasConstConstructor*/  {
+  const constructor id() → self::AbstractClass*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+external static method foo(core::String* x) → dynamic;
+static method m() → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.strong.expect
deleted file mode 100644
index c82d4a6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.strong.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_nnbd_opt_out/map.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.strong.transformed.expect
deleted file mode 100644
index c82d4a6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.strong.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_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/map.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/map.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.hierarchy.expect
deleted file mode 100644
index 07b5939..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.hierarchy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    E.toString
-    E.E1
-    E.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    E.E2
-    Object._instanceOf
-    E._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    E.E3
-    Object.hashCode
-    E.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.outline.expect
deleted file mode 100644
index f17a1fd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@self::a
-class E extends core::Object /*isEnum*/  {
-  final field core::int* index;
-  final field core::String* _name;
-  static const field core::List<self::E*>* values = const <self::E*>[self::E::E1, self::E::E2, self::E::E3];
-  static const field self::E* E1 = const self::E::•(0, "E.E1");
-  static const field self::E* E2 = const self::E::•(1, "E.E2");
-  static const field self::E* E3 = const self::E::•(2, "E.E3");
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field dynamic a = null;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.strong.expect
deleted file mode 100644
index c5b219cb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.strong.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-class E extends core::Object /*isEnum*/  {
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/metadata_enum.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.strong.transformed.expect
deleted file mode 100644
index c5b219cb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.strong.transformed.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-class E extends core::Object /*isEnum*/  {
-  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};
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/metadata_enum.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.outline.expect
new file mode 100644
index 0000000..8befca8
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_enum.dart.weak.outline.expect
@@ -0,0 +1,39 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+@self::a
+class E extends core::Object /*isEnum*/  {
+  final field core::int* index;
+  final field core::String* _name;
+  static const field core::List<self::E*>* values = const <self::E*>[self::E::E1, self::E::E2, self::E::E3];
+  static const field self::E* E1 = const self::E::•(0, "E.E1");
+  static const field self::E* E2 = const self::E::•(1, "E.E2");
+  static const field self::E* E3 = const self::E::•(2, "E.E3");
+  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};
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field dynamic a = null;
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///metadata_enum.dart:9:2 -> NullConstant(null)
+Evaluated: ListLiteral @ org-dartlang-testcase:///metadata_enum.dart:10:6 -> ListConstant(const <E*>[const E{E.index: 0, E._name: "E.E1"}, const E{E.index: 1, E._name: "E.E2"}, const E{E.index: 2, E._name: "E.E3"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///metadata_enum.dart:10:10 -> InstanceConstant(const E{E.index: 0, E._name: "E.E1"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///metadata_enum.dart:10:14 -> InstanceConstant(const E{E.index: 1, E._name: "E.E2"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///metadata_enum.dart:10:18 -> InstanceConstant(const E{E.index: 2, E._name: "E.E3"})
+Extra constant evaluation: evaluated: 9, effectively constant: 5
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.hierarchy.expect
deleted file mode 100644
index 08e508c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> D
-  interfaces: E
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.outline.expect
deleted file mode 100644
index beaa284..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.outline.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@self::a
-class C = self::D with self::E {
-  synthetic constructor •() → self::C*
-    : super self::D::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field dynamic a = null;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.strong.expect
deleted file mode 100644
index 1a6eedc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.strong.expect
+++ /dev/null
@@ -1,46 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field dynamic a = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.strong.transformed.expect
deleted file mode 100644
index 8a2258c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.strong.transformed.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-@#C1
-class C extends self::D implements self::E /*isEliminatedMixin*/  {
-  synthetic constructor •() → self::C*
-    : super self::D::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field dynamic a = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.weak.outline.expect
new file mode 100644
index 0000000..d29c7fe
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/metadata_named_mixin_application.dart.weak.outline.expect
@@ -0,0 +1,46 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+@self::a
+class C = self::D with self::E {
+  synthetic constructor •() → self::C*
+    : super self::D::•()
+    ;
+}
+class D extends core::Object {
+  synthetic constructor •() → self::D*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class E extends core::Object {
+  synthetic constructor •() → self::E*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field dynamic a = null;
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///metadata_named_mixin_application.dart:9:2 -> NullConstant(null)
+Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.hierarchy.expect
deleted file mode 100644
index f582dc5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.hierarchy.expect
+++ /dev/null
@@ -1,164 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Foo.instanceMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ExternalValue:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Bar.externalInstanceMethod
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Box:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Box.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Box.field
-
-FinalBox:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    FinalBox.finalField
-  classSetters:
-
-SubFinalBox:
-  superclasses:
-    Object
-      -> FinalBox
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    FinalBox.finalField
-  classSetters:
-
-DynamicReceiver1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    DynamicReceiver1.dynamicallyCalled
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-DynamicReceiver2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    DynamicReceiver2.dynamicallyCalled
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.outline.expect
deleted file mode 100644
index 110be54..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.outline.expect
+++ /dev/null
@@ -1,127 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    ;
-  method instanceMethod() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class ExternalValue extends core::Object {
-  synthetic constructor •() → self::ExternalValue*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    ;
-  abstract method externalInstanceMethod() → self::ExternalValue*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Box extends core::Object {
-  field dynamic field;
-  synthetic constructor •() → self::Box*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class FinalBox extends core::Object {
-  final field dynamic finalField;
-  constructor •(dynamic finalField) → self::FinalBox*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SubFinalBox extends self::FinalBox {
-  constructor •(dynamic value) → self::SubFinalBox*
-    ;
-}
-class DynamicReceiver1 extends core::Object {
-  synthetic constructor •() → self::DynamicReceiver1*
-    ;
-  method dynamicallyCalled(dynamic x) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class DynamicReceiver2 extends core::Object {
-  synthetic constructor •() → self::DynamicReceiver2*
-    ;
-  method dynamicallyCalled(dynamic x) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method staticMethod() → dynamic
-  ;
-external static abstract method externalStatic() → core::bool*;
-external static abstract method createBar() → self::Bar*;
-static method stringArgument(dynamic x) → dynamic
-  ;
-static method intArgument(dynamic x) → dynamic
-  ;
-static method makeDynamicCall(dynamic receiver) → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.strong.expect
deleted file mode 100644
index 5170680..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.strong.expect
+++ /dev/null
@@ -1,151 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method instanceMethod() → dynamic {
-    return 123;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class ExternalValue extends core::Object {
-  synthetic constructor •() → self::ExternalValue*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract method externalInstanceMethod() → self::ExternalValue*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Box extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Box*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class FinalBox extends core::Object {
-  final field dynamic finalField;
-  constructor •(dynamic finalField) → self::FinalBox*
-    : self::FinalBox::finalField = finalField, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SubFinalBox extends self::FinalBox {
-  constructor •(dynamic value) → self::SubFinalBox*
-    : super self::FinalBox::•(value)
-    ;
-}
-class DynamicReceiver1 extends core::Object {
-  synthetic constructor •() → self::DynamicReceiver1*
-    : super core::Object::•()
-    ;
-  method dynamicallyCalled(dynamic x) → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class DynamicReceiver2 extends core::Object {
-  synthetic constructor •() → self::DynamicReceiver2*
-    : super core::Object::•()
-    ;
-  method dynamicallyCalled(dynamic x) → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method staticMethod() → dynamic {
-  return "sdfg";
-}
-external static abstract method externalStatic() → core::bool*;
-external static abstract 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::•().{self::Foo::instanceMethod}();
-  core::bool* z = self::externalStatic();
-  self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}();
-  self::stringArgument("sdfg");
-  self::intArgument(42);
-  self::Box* box = new self::Box::•();
-  box.{self::Box::field} = "sdfg";
-  dynamic a = box.{self::Box::field};
-  self::FinalBox* finalBox = new self::FinalBox::•("dfg");
-  dynamic b = finalBox.{self::FinalBox::finalField};
-  self::SubFinalBox* subBox = new self::SubFinalBox::•("dfg");
-  dynamic c = subBox.{self::FinalBox::finalField};
-  self::makeDynamicCall(new self::DynamicReceiver1::•());
-  self::makeDynamicCall(new self::DynamicReceiver2::•());
-  core::List<core::String*>* list = <core::String*>["string"];
-  core::String* d = list.{core::List::[]}(0);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.strong.transformed.expect
deleted file mode 100644
index 5170680..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.strong.transformed.expect
+++ /dev/null
@@ -1,151 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method instanceMethod() → dynamic {
-    return 123;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class ExternalValue extends core::Object {
-  synthetic constructor •() → self::ExternalValue*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract method externalInstanceMethod() → self::ExternalValue*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Box extends core::Object {
-  field dynamic field = null;
-  synthetic constructor •() → self::Box*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class FinalBox extends core::Object {
-  final field dynamic finalField;
-  constructor •(dynamic finalField) → self::FinalBox*
-    : self::FinalBox::finalField = finalField, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SubFinalBox extends self::FinalBox {
-  constructor •(dynamic value) → self::SubFinalBox*
-    : super self::FinalBox::•(value)
-    ;
-}
-class DynamicReceiver1 extends core::Object {
-  synthetic constructor •() → self::DynamicReceiver1*
-    : super core::Object::•()
-    ;
-  method dynamicallyCalled(dynamic x) → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class DynamicReceiver2 extends core::Object {
-  synthetic constructor •() → self::DynamicReceiver2*
-    : super core::Object::•()
-    ;
-  method dynamicallyCalled(dynamic x) → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method staticMethod() → dynamic {
-  return "sdfg";
-}
-external static abstract method externalStatic() → core::bool*;
-external static abstract 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::•().{self::Foo::instanceMethod}();
-  core::bool* z = self::externalStatic();
-  self::ExternalValue* w = self::createBar().{self::Bar::externalInstanceMethod}();
-  self::stringArgument("sdfg");
-  self::intArgument(42);
-  self::Box* box = new self::Box::•();
-  box.{self::Box::field} = "sdfg";
-  dynamic a = box.{self::Box::field};
-  self::FinalBox* finalBox = new self::FinalBox::•("dfg");
-  dynamic b = finalBox.{self::FinalBox::finalField};
-  self::SubFinalBox* subBox = new self::SubFinalBox::•("dfg");
-  dynamic c = subBox.{self::FinalBox::finalField};
-  self::makeDynamicCall(new self::DynamicReceiver1::•());
-  self::makeDynamicCall(new self::DynamicReceiver2::•());
-  core::List<core::String*>* list = <core::String*>["string"];
-  core::String* d = list.{core::List::[]}(0);
-}
diff --git a/pkg/front_end/testcases/general/micro.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/micro.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/micro.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.strong.expect
deleted file mode 100644
index d2f6483..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.strong.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  return core::print(-9223372036854775808.{core::int::unary-}());
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.strong.transformed.expect
deleted file mode 100644
index d2f6483..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.strong.transformed.expect
+++ /dev/null
@@ -1,6 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  return core::print(-9223372036854775808.{core::int::unary-}());
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/minimum_int.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.hierarchy.expect
deleted file mode 100644
index 662f599..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,149 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Super:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Sub:
-  superclasses:
-    Object
-      -> Super
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bad:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Super with M:
-  superclasses:
-    Object
-      -> Super
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-MixinApplication:
-  superclasses:
-    Object
-      -> Super
-        -> _MixinApplication&Super&M
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.outline.expect
deleted file mode 100644
index 49560da..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.outline.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Super extends core::Object {
-  constructor _() → self::Super*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sub extends self::Super {
-  constructor •() → self::Sub*
-    ;
-  constructor foo() → self::Sub*
-    ;
-}
-class Bad extends core::Object {
-  constructor foo() → self::Bad*
-    ;
-  constructor bar() → self::Bad*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _MixinApplication&Super&M = self::Super with self::M /*isAnonymousMixin*/  {
-  synthetic constructor _() → self::_MixinApplication&Super&M*
-    : super self::Super::_()
-    ;
-}
-class MixinApplication extends self::_MixinApplication&Super&M {
-  constructor •() → self::MixinApplication*
-    ;
-  constructor foo() → self::MixinApplication*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.strong.expect
deleted file mode 100644
index 77e9db9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.strong.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:12:11: Error: Superclass has no constructor named 'Super'.
-//   Sub() : super();
-//           ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:13:15: Error: Superclass has no constructor named 'Super.foo'.
-//   Sub.foo() : super.foo();
-//               ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:17:15: Error: Couldn't find constructor 'Bad'.
-//   Bad.foo() : this();
-//               ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:18:15: Error: Couldn't find constructor 'Bad.baz'.
-//   Bad.bar() : this.baz();
-//               ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:24:24: Error: Superclass has no constructor named 'Super'.
-//   MixinApplication() : super();
-//                        ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:25:28: Error: 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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sub extends self::Super {
-  constructor •() → self::Sub*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:12:11: Error: Superclass has no constructor named 'Super'.
-  Sub() : super();
-          ^^^^^"
-    ;
-  constructor foo() → self::Sub*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:13:15: Error: Superclass has no constructor named 'Super.foo'.
-  Sub.foo() : super.foo();
-              ^^^^^"
-    ;
-}
-class Bad extends core::Object {
-  constructor foo() → self::Bad*
-    : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:17:15: Error: Couldn't find constructor 'Bad'.
-  Bad.foo() : this();
-              ^^^^"
-    ;
-  constructor bar() → self::Bad*
-    : final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:18:15: Error: Couldn't find constructor 'Bad.baz'.
-  Bad.bar() : this.baz();
-              ^^^^"
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _MixinApplication&Super&M = self::Super with self::M /*isAnonymousMixin*/  {
-  synthetic constructor _() → self::_MixinApplication&Super&M*
-    : super self::Super::_()
-    ;
-}
-class MixinApplication extends self::_MixinApplication&Super&M {
-  constructor •() → self::MixinApplication*
-    : final dynamic #t5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:24:24: Error: Superclass has no constructor named 'Super'.
-  MixinApplication() : super();
-                       ^^^^^"
-    ;
-  constructor foo() → self::MixinApplication*
-    : final dynamic #t6 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:25:28: Error: Superclass has no constructor named 'Super.foo'.
-  MixinApplication.foo() : super.foo();
-                           ^^^^^"
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.strong.transformed.expect
deleted file mode 100644
index 6121a14..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.strong.transformed.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:12:11: Error: Superclass has no constructor named 'Super'.
-//   Sub() : super();
-//           ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:13:15: Error: Superclass has no constructor named 'Super.foo'.
-//   Sub.foo() : super.foo();
-//               ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:17:15: Error: Couldn't find constructor 'Bad'.
-//   Bad.foo() : this();
-//               ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:18:15: Error: Couldn't find constructor 'Bad.baz'.
-//   Bad.bar() : this.baz();
-//               ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:24:24: Error: Superclass has no constructor named 'Super'.
-//   MixinApplication() : super();
-//                        ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:25:28: Error: 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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sub extends self::Super {
-  constructor •() → self::Sub*
-    : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:12:11: Error: Superclass has no constructor named 'Super'.
-  Sub() : super();
-          ^^^^^"
-    ;
-  constructor foo() → self::Sub*
-    : final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:13:15: Error: Superclass has no constructor named 'Super.foo'.
-  Sub.foo() : super.foo();
-              ^^^^^"
-    ;
-}
-class Bad extends core::Object {
-  constructor foo() → self::Bad*
-    : final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:17:15: Error: Couldn't find constructor 'Bad'.
-  Bad.foo() : this();
-              ^^^^"
-    ;
-  constructor bar() → self::Bad*
-    : final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:18:15: Error: Couldn't find constructor 'Bad.baz'.
-  Bad.bar() : this.baz();
-              ^^^^"
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _MixinApplication&Super&M extends self::Super implements self::M /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor _() → self::_MixinApplication&Super&M*
-    : super self::Super::_()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class MixinApplication extends self::_MixinApplication&Super&M {
-  constructor •() → self::MixinApplication*
-    : final dynamic #t5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:24:24: Error: Superclass has no constructor named 'Super'.
-  MixinApplication() : super();
-                       ^^^^^"
-    ;
-  constructor foo() → self::MixinApplication*
-    : final dynamic #t6 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart:25:28: Error: Superclass has no constructor named 'Super.foo'.
-  MixinApplication.foo() : super.foo();
-                           ^^^^^"
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/missing_constructor.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/missing_constructor.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/missing_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.outline.expect
deleted file mode 100644
index 9c2b5d6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.outline.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class EmptyClass extends core::Object {
-  synthetic constructor •() → self::EmptyClass*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithProperty extends core::Object {
-  field self::EmptyClass* property;
-  synthetic constructor •() → self::ClassWithProperty*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithIndexSet extends core::Object {
-  synthetic constructor •() → self::ClassWithIndexSet*
-    ;
-  operator []=(core::int* index, core::int* value) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithIndexGet extends core::Object {
-  synthetic constructor •() → self::ClassWithIndexGet*
-    ;
-  operator [](core::int* index) → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::EmptyClass* emptyClass;
-static field self::ClassWithProperty* classWithProperty;
-static field self::ClassWithIndexSet* classWithIndexSet;
-static field self::ClassWithIndexGet* classWithIndexGet;
-static field dynamic missingBinary;
-static field dynamic missingIndexGet;
-static field core::int* missingIndexSet;
-static field dynamic missingPropertyGet;
-static field core::int* missingPropertySet;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.strong.expect
deleted file mode 100644
index 1bb64ab..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.strong.expect
+++ /dev/null
@@ -1,131 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:29:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
-//  - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the operator to an existing operator, or defining a '+' operator.
-// var missingBinary = classWithProperty.property += 2;
-//                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:30:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
-//  - 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the operator to an existing operator, or defining a '[]' operator.
-// var missingIndexGet = classWithIndexSet[0] ??= 2;
-//                                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:31:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
-//  - 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the operator to an existing operator, or defining a '[]=' operator.
-// var missingIndexSet = classWithIndexGet[0] ??= 2;
-//                                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:32:37: Error: The getter 'property' isn't defined for the class 'EmptyClass'.
-//  - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
-// var missingPropertyGet = emptyClass.property;
-//                                     ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:33:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
-//  - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
-// var missingPropertySet = emptyClass.property = 42;
-//                                     ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class EmptyClass extends core::Object {
-  synthetic constructor •() → self::EmptyClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithProperty extends core::Object {
-  field self::EmptyClass* property = null;
-  synthetic constructor •() → self::ClassWithProperty*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithIndexSet extends core::Object {
-  synthetic constructor •() → self::ClassWithIndexSet*
-    : super core::Object::•()
-    ;
-  operator []=(core::int* index, core::int* value) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithIndexGet extends core::Object {
-  synthetic constructor •() → self::ClassWithIndexGet*
-    : super core::Object::•()
-    ;
-  operator [](core::int* index) → core::int*
-    return 42;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::EmptyClass* emptyClass = new self::EmptyClass::•();
-static field self::ClassWithProperty* classWithProperty = new self::ClassWithProperty::•();
-static field self::ClassWithIndexSet* classWithIndexSet = new self::ClassWithIndexSet::•();
-static field self::ClassWithIndexGet* classWithIndexGet = new self::ClassWithIndexGet::•();
-static field dynamic missingBinary = let final self::ClassWithProperty* #t1 = self::classWithProperty in #t1.{self::ClassWithProperty::property} = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:29:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
- - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the operator to an existing operator, or defining a '+' operator.
-var missingBinary = classWithProperty.property += 2;
-                                               ^" as{TypeError,ForDynamic} self::EmptyClass*;
-static field dynamic missingIndexGet = let final self::ClassWithIndexSet* #t2 = self::classWithIndexSet in let final core::int* #t3 = 0 in let final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:30:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
- - 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the operator to an existing operator, or defining a '[]' operator.
-var missingIndexGet = classWithIndexSet[0] ??= 2;
-                                       ^" in #t4.{core::Object::==}(null) ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5) in #t5 : #t4;
-static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8) in #t9.{core::num::==}(null) ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:31:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
- - 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the operator to an existing operator, or defining a '[]=' operator.
-var missingIndexSet = classWithIndexGet[0] ??= 2;
-                                       ^" in #t10 : #t9;
-static field dynamic missingPropertyGet = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:32:37: Error: The getter 'property' isn't defined for the class 'EmptyClass'.
- - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
-var missingPropertyGet = emptyClass.property;
-                                    ^^^^^^^^";
-static field core::int* missingPropertySet = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:33:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
- - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
-var missingPropertySet = emptyClass.property = 42;
-                                    ^^^^^^^^";
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.strong.transformed.expect
deleted file mode 100644
index 60d18f0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.strong.transformed.expect
+++ /dev/null
@@ -1,131 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:29:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
-//  - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the operator to an existing operator, or defining a '+' operator.
-// var missingBinary = classWithProperty.property += 2;
-//                                                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:30:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
-//  - 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the operator to an existing operator, or defining a '[]' operator.
-// var missingIndexGet = classWithIndexSet[0] ??= 2;
-//                                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:31:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
-//  - 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the operator to an existing operator, or defining a '[]=' operator.
-// var missingIndexSet = classWithIndexGet[0] ??= 2;
-//                                        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:32:37: Error: The getter 'property' isn't defined for the class 'EmptyClass'.
-//  - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
-// var missingPropertyGet = emptyClass.property;
-//                                     ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:33:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
-//  - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
-// var missingPropertySet = emptyClass.property = 42;
-//                                     ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class EmptyClass extends core::Object {
-  synthetic constructor •() → self::EmptyClass*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithProperty extends core::Object {
-  field self::EmptyClass* property = null;
-  synthetic constructor •() → self::ClassWithProperty*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithIndexSet extends core::Object {
-  synthetic constructor •() → self::ClassWithIndexSet*
-    : super core::Object::•()
-    ;
-  operator []=(core::int* index, core::int* value) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassWithIndexGet extends core::Object {
-  synthetic constructor •() → self::ClassWithIndexGet*
-    : super core::Object::•()
-    ;
-  operator [](core::int* index) → core::int*
-    return 42;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field self::EmptyClass* emptyClass = new self::EmptyClass::•();
-static field self::ClassWithProperty* classWithProperty = new self::ClassWithProperty::•();
-static field self::ClassWithIndexSet* classWithIndexSet = new self::ClassWithIndexSet::•();
-static field self::ClassWithIndexGet* classWithIndexGet = new self::ClassWithIndexGet::•();
-static field dynamic missingBinary = let final self::ClassWithProperty* #t1 = self::classWithProperty in #t1.{self::ClassWithProperty::property} = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:29:48: Error: The operator '+' isn't defined for the class 'EmptyClass'.
- - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the operator to an existing operator, or defining a '+' operator.
-var missingBinary = classWithProperty.property += 2;
-                                               ^";
-static field dynamic missingIndexGet = let final self::ClassWithIndexSet* #t2 = self::classWithIndexSet in let final core::int* #t3 = 0 in let final dynamic #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:30:40: Error: The operator '[]' isn't defined for the class 'ClassWithIndexSet'.
- - 'ClassWithIndexSet' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the operator to an existing operator, or defining a '[]' operator.
-var missingIndexGet = classWithIndexSet[0] ??= 2;
-                                       ^" in #t4.{core::Object::==}(null) ?{dynamic} let final core::int* #t5 = 2 in let final void #t6 = #t2.{self::ClassWithIndexSet::[]=}(#t3, #t5) in #t5 : #t4;
-static field core::int* missingIndexSet = let final self::ClassWithIndexGet* #t7 = self::classWithIndexGet in let final core::int* #t8 = 0 in let final core::int* #t9 = #t7.{self::ClassWithIndexGet::[]}(#t8) in #t9.{core::num::==}(null) ?{core::int*} let final core::int* #t10 = 2 in let final void #t11 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:31:40: Error: The operator '[]=' isn't defined for the class 'ClassWithIndexGet'.
- - 'ClassWithIndexGet' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the operator to an existing operator, or defining a '[]=' operator.
-var missingIndexSet = classWithIndexGet[0] ??= 2;
-                                       ^" in #t10 : #t9;
-static field dynamic missingPropertyGet = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:32:37: Error: The getter 'property' isn't defined for the class 'EmptyClass'.
- - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'property'.
-var missingPropertyGet = emptyClass.property;
-                                    ^^^^^^^^";
-static field core::int* missingPropertySet = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart:33:37: Error: The setter 'property' isn't defined for the class 'EmptyClass'.
- - 'EmptyClass' is from 'pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'property'.
-var missingPropertySet = emptyClass.property = 42;
-                                    ^^^^^^^^";
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/missing_toplevel.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/missing_toplevel.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/missing_toplevel.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.hierarchy.expect
deleted file mode 100644
index 7b25a03..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.hierarchy.expect
+++ /dev/null
@@ -1,336 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_C&Object&M1 with M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _C&Object&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C&Object&M1
-        -> _C&Object&M1&M2
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-G1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with G1<S>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: G1<S>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _D&Object&G1<S>
-  interfaces: G1<S>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B&Object&M1 with M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _B&Object&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _B&Object&M1
-        -> _B&Object&M1&M2
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M2.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.outline.expect
deleted file mode 100644
index 9b626ca..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.outline.expect
+++ /dev/null
@@ -1,121 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _B&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&M1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _B&Object&M1&M2 = self::_B&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
-  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*
-    ;
-}
-abstract class M1 extends core::Object {
-  synthetic constructor •() → self::M1*
-    ;
-  method m() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    ;
-  method m() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&M1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
-  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*
-    ;
-}
-abstract class G1<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::G1<self::G1::T*>*
-    ;
-  method m() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> = core::Object with self::G1<self::_D&Object&G1::S*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D<S extends core::Object* = dynamic> extends self::_D&Object&G1<self::D::S*> {
-  synthetic constructor •() → self::D<self::D::S*>*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.strong.expect
deleted file mode 100644
index 1b94412..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.strong.expect
+++ /dev/null
@@ -1,132 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _B&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&M1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _B&Object&M1&M2 = self::_B&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
-  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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print("M2");
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&M1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
-  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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> = core::Object with self::G1<self::_D&Object&G1::S*> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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).{self::M2::m}();
-  new self::C::•(null).{self::M2::m}();
-  new self::D::•<dynamic>().{self::G1::m}();
-  new self::D::•<core::int*>().{self::G1::m}();
-  new self::D::•<core::List<core::int*>*>().{self::G1::m}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.strong.transformed.expect
deleted file mode 100644
index d1bb8f5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.strong.transformed.expect
+++ /dev/null
@@ -1,162 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _B&Object&M1 extends core::Object implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&M1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  method m() → dynamic
-    return core::print("M1");
-}
-abstract class _B&Object&M1&M2 extends self::_B&Object&M1 implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_B&Object&M1&M2*
-    : super self::_B&Object&M1::•()
-    ;
-  method m() → dynamic
-    return core::print("M2");
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-  method m() → dynamic
-    return core::print("M2");
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C&Object&M1 extends core::Object implements self::M1 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&M1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  method m() → dynamic
-    return core::print("M1");
-}
-abstract class _C&Object&M1&M2 extends self::_C&Object&M1 implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&M1&M2*
-    : super self::_C&Object&M1::•()
-    ;
-  method m() → dynamic
-    return core::print("M2");
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _D&Object&G1<S extends core::Object* = dynamic> extends core::Object implements self::G1<self::_D&Object&G1::S*> /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_D&Object&G1<self::_D&Object&G1::S*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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).{self::M2::m}();
-  new self::C::•(null).{self::M2::m}();
-  new self::D::•<dynamic>().{self::G1::m}();
-  new self::D::•<core::int*>().{self::G1::m}();
-  new self::D::•<core::List<core::int*>*>().{self::G1::m}();
-}
diff --git a/pkg/front_end/testcases/general/mixin.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/mixin.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/mixin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.outline.expect
deleted file mode 100644
index 7463383d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.outline.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  synthetic constructor •() → self::Mixin*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Super extends core::Object {
-  field core::int* field;
-  constructor •(core::int* field) → self::Super*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Class = self::Super with self::Mixin {
-  synthetic constructor •(core::int* field) → self::Class*
-    : super self::Super::•(field)
-    ;
-}
-static method main() → dynamic
-  ;
-static method error() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.strong.expect
deleted file mode 100644
index 97cbe30..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.strong.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart:22:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
-//   new Class('');
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  synthetic constructor •() → self::Mixin*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Super extends core::Object {
-  field core::int* field = 42;
-  constructor •(core::int* field) → self::Super*
-    : self::Super::field = field, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Class = self::Super with self::Mixin {
-  synthetic constructor •(core::int* field) → self::Class*
-    : super self::Super::•(field)
-    ;
-}
-static method main() → dynamic {
-  new self::Class::•(0);
-}
-static method error() → dynamic {
-  new self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart:22:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
-  new Class('');
-            ^" in "" as{TypeError} core::int*);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.strong.transformed.expect
deleted file mode 100644
index db08def..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.strong.transformed.expect
+++ /dev/null
@@ -1,65 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart:22:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
-//   new Class('');
-//             ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  synthetic constructor •() → self::Mixin*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Super extends core::Object {
-  field core::int* field = 42;
-  constructor •(core::int* field) → self::Super*
-    : self::Super::field = field, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Class extends self::Super implements self::Mixin /*isEliminatedMixin*/  {
-  synthetic constructor •(core::int* field) → self::Class*
-    : super self::Super::•(field)
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::Class::•(0);
-}
-static method error() → dynamic {
-  new self::Class::•(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart:22:13: Error: The argument type 'String' can't be assigned to the parameter type 'int'.
-  new Class('');
-            ^" in "" as{TypeError} core::int*);
-}
diff --git a/pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/mixin_application_inferred_parameter_type.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_inferred_parameter_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.hierarchy.expect
deleted file mode 100644
index 2d41275..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.hierarchy.expect
+++ /dev/null
@@ -1,1301 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-S:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-MX:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A0:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A0.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A0.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A1:
-  superclasses:
-    Object
-      -> S
-        -> _A1&S&M1
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A1.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A1.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A2&S&M1 with M2:
-  superclasses:
-    Object
-      -> S
-        -> _A2&S&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A2:
-  superclasses:
-    Object
-      -> S
-        -> _A2&S&M1
-          -> _A2&S&M1&M2
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A2.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A2.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A0X:
-  superclasses:
-    Object
-      -> S
-        -> _A0X&S&M
-  interfaces: M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A1X&S&M1 with M:
-  superclasses:
-    Object
-      -> S
-        -> _A1X&S&M1
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A1X:
-  superclasses:
-    Object
-      -> S
-        -> _A1X&S&M1
-          -> _A1X&S&M1&M
-  interfaces: M1, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A2X&S&M1 with M2:
-  superclasses:
-    Object
-      -> S
-        -> _A2X&S&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A2X&S&M1&M2 with M:
-  superclasses:
-    Object
-      -> S
-        -> _A2X&S&M1
-          -> _A2X&S&M1&M2
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A2X:
-  superclasses:
-    Object
-      -> S
-        -> _A2X&S&M1
-          -> _A2X&S&M1&M2
-            -> _A2X&S&M1&M2&M
-  interfaces: M1, M2, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _A2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B0:
-  superclasses:
-    Object
-      -> S
-        -> _B0&S&M
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B1&S&M1 with M:
-  superclasses:
-    Object
-      -> S
-        -> _B1&S&M1
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B1:
-  superclasses:
-    Object
-      -> S
-        -> _B1&S&M1
-          -> _B1&S&M1&M
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2&S&M1 with M2:
-  superclasses:
-    Object
-      -> S
-        -> _B2&S&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2&S&M1&M2 with M:
-  superclasses:
-    Object
-      -> S
-        -> _B2&S&M1
-          -> _B2&S&M1&M2
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B2:
-  superclasses:
-    Object
-      -> S
-        -> _B2&S&M1
-          -> _B2&S&M1&M2
-            -> _B2&S&M1&M2&M
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B0X&S&M with MX:
-  superclasses:
-    Object
-      -> S
-        -> _B0X&S&M
-  interfaces: M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B0X:
-  superclasses:
-    Object
-      -> S
-        -> _B0X&S&M
-          -> _B0X&S&M&MX
-  interfaces: M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B1X&S&M1 with M:
-  superclasses:
-    Object
-      -> S
-        -> _B1X&S&M1
-  interfaces: M1, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B1X&S&M1&M with MX:
-  superclasses:
-    Object
-      -> S
-        -> _B1X&S&M1
-          -> _B1X&S&M1&M
-  interfaces: M1, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B1X:
-  superclasses:
-    Object
-      -> S
-        -> _B1X&S&M1
-          -> _B1X&S&M1&M
-            -> _B1X&S&M1&M&MX
-  interfaces: M1, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B1X&S&M1 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-S with M1:
-  superclasses:
-    Object
-      -> S
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2X&S&M1 with M2:
-  superclasses:
-    Object
-      -> S
-        -> _B2X&S&M1
-  interfaces: M1, M2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2X&S&M1&M2 with M:
-  superclasses:
-    Object
-      -> S
-        -> _B2X&S&M1
-          -> _B2X&S&M1&M2
-  interfaces: M1, M2, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_B2X&S&M1&M2&M with MX:
-  superclasses:
-    Object
-      -> S
-        -> _B2X&S&M1
-          -> _B2X&S&M1&M2
-            -> _B2X&S&M1&M2&M
-  interfaces: M1, M2, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B2X:
-  superclasses:
-    Object
-      -> S
-        -> _B2X&S&M1
-          -> _B2X&S&M1&M2
-            -> _B2X&S&M1&M2&M
-              -> _B2X&S&M1&M2&M&MX
-  interfaces: M1, M2, M, MX
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _B2X&S&M1&M2 with M.M.foo%S.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.outline.expect
deleted file mode 100644
index bf6aef5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.outline.expect
+++ /dev/null
@@ -1,389 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:23:7: Error: The mixin application class 'A0' introduces an erroneous override of 'foo'.
-// class A0 = S with M;
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:24:7: Error: The mixin application class 'A1' introduces an erroneous override of 'foo'.
-// class A1 = S with M1, M;
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:25:7: Error: The mixin application class 'A2' introduces an erroneous override of 'foo'.
-// class A2 = S with M1, M2, M;
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:27:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
-// class A0X = S with M, MX;
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:28:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
-// class A1X = S with M1, M, MX;
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:29:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
-// class A2X = S with M1, M2, M, MX;
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:31:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
-// class B0 extends S with M {}
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:33:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
-// class B1 extends S with M1, M {}
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:35:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
-// class B2 extends S with M1, M2, M {}
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:37:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
-// class B0X extends S with M, MX {}
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:39:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
-// class B1X extends S with M1, M, MX {}
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:41:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
-// class B2X extends S with M1, M2, M, MX {}
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-import self as self;
-import "dart:core" as core;
-
-class S extends core::Object {
-  synthetic constructor •() → self::S*
-    ;
-  method foo([dynamic x]) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    ;
-  method foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M1 extends core::Object {
-  synthetic constructor •() → self::M1*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class MX extends core::Object {
-  synthetic constructor •() → self::MX*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A0 = self::S with self::M {
-  synthetic constructor •() → self::A0*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → dynamic;
-}
-abstract class _A1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
-  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]) → dynamic;
-}
-abstract class _A2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A2&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A2&S&M1&M2 = self::_A2&S&M1 with self::M2 /*isAnonymousMixin*/  {
-  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]) → dynamic;
-}
-abstract class _A0X&S&M = self::S with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A0X&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → 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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A1X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A1X&S&M1&M = self::_A1X&S&M1 with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A1X&S&M1&M*
-    : super self::_A1X&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → 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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A2X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A2X&S&M1&M2 = self::_A2X&S&M1 with self::M2 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A2X&S&M1&M2&M*
-    : super self::_A2X&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → 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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B0&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → dynamic;
-}
-class B0 extends self::_B0&S&M {
-  synthetic constructor •() → self::B0*
-    ;
-}
-abstract class _B1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B1&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B1&S&M1&M = self::_B1&S&M1 with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B1&S&M1&M*
-    : super self::_B1&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → dynamic;
-}
-class B1 extends self::_B1&S&M1&M {
-  synthetic constructor •() → self::B1*
-    ;
-}
-abstract class _B2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B2&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B2&S&M1&M2 = self::_B2&S&M1 with self::M2 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B2&S&M1&M2&M*
-    : super self::_B2&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → dynamic;
-}
-class B2 extends self::_B2&S&M1&M2&M {
-  synthetic constructor •() → self::B2*
-    ;
-}
-abstract class _B0X&S&M = self::S with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B0X&S&M*
-    : super self::S::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → dynamic;
-}
-abstract class _B0X&S&M&MX = self::_B0X&S&M with self::MX /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B0X&S&M&MX*
-    : super self::_B0X&S&M::•()
-    ;
-}
-class B0X extends self::_B0X&S&M&MX {
-  synthetic constructor •() → self::B0X*
-    ;
-}
-abstract class _B1X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B1X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B1X&S&M1&M = self::_B1X&S&M1 with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B1X&S&M1&M*
-    : super self::_B1X&S&M1::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → dynamic;
-}
-abstract class _B1X&S&M1&M&MX = self::_B1X&S&M1&M with self::MX /*isAnonymousMixin*/  {
-  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*
-    ;
-}
-abstract class _B2X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B2X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B2X&S&M1&M2 = self::_B2X&S&M1 with self::M2 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B2X&S&M1&M2&M*
-    : super self::_B2X&S&M1&M2::•()
-    ;
-  abstract forwarding-stub method foo([dynamic x]) → dynamic;
-}
-abstract class _B2X&S&M1&M2&M&MX = self::_B2X&S&M1&M2&M with self::MX /*isAnonymousMixin*/  {
-  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*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.strong.expect
deleted file mode 100644
index 0d8aa6d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.strong.expect
+++ /dev/null
@@ -1,401 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:23:7: Error: The mixin application class 'A0' introduces an erroneous override of 'foo'.
-// class A0 = S with M;
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:24:7: Error: The mixin application class 'A1' introduces an erroneous override of 'foo'.
-// class A1 = S with M1, M;
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:25:7: Error: The mixin application class 'A2' introduces an erroneous override of 'foo'.
-// class A2 = S with M1, M2, M;
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:27:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
-// class A0X = S with M, MX;
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:28:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
-// class A1X = S with M1, M, MX;
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:29:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
-// class A2X = S with M1, M2, M, MX;
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:31:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
-// class B0 extends S with M {}
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:33:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
-// class B1 extends S with M1, M {}
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:35:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
-// class B2 extends S with M1, M2, M {}
-//       ^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:37:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
-// class B0X extends S with M, MX {}
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:39:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
-// class B1X extends S with M1, M, MX {}
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:41:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
-// class B2X extends S with M1, M2, M, MX {}
-//       ^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
-//   foo() {}
-//   ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
-//   foo([x]) {}
-//   ^
-//
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M1 extends core::Object {
-  synthetic constructor •() → self::M1*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M2 extends core::Object {
-  synthetic constructor •() → self::M2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class MX extends core::Object {
-  synthetic constructor •() → self::MX*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A2&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A2&S&M1&M2 = self::_A2&S&M1 with self::M2 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A1X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A1X&S&M1&M = self::_A1X&S&M1 with self::M /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A2X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _A2X&S&M1&M2 = self::_A2X&S&M1 with self::M2 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B1&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B1&S&M1&M = self::_B1&S&M1 with self::M /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B2&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B2&S&M1&M2 = self::_B2&S&M1 with self::M2 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B1X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B1X&S&M1&M = self::_B1X&S&M1 with self::M /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_B2X&S&M1*
-    : super self::S::•()
-    ;
-}
-abstract class _B2X&S&M1&M2 = self::_B2X&S&M1 with self::M2 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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 /*isAnonymousMixin*/  {
-  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_nnbd_opt_out/mixin_application_override.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.weak.outline.expect
new file mode 100644
index 0000000..e157652
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart.weak.outline.expect
@@ -0,0 +1,401 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:23:7: Error: The mixin application class 'A0' introduces an erroneous override of 'foo'.
+// class A0 = S with M;
+//       ^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:24:7: Error: The mixin application class 'A1' introduces an erroneous override of 'foo'.
+// class A1 = S with M1, M;
+//       ^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:25:7: Error: The mixin application class 'A2' introduces an erroneous override of 'foo'.
+// class A2 = S with M1, M2, M;
+//       ^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:27:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
+// class A0X = S with M, MX;
+//       ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:28:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
+// class A1X = S with M1, M, MX;
+//       ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:29:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
+// class A2X = S with M1, M2, M, MX;
+//       ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:31:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
+// class B0 extends S with M {}
+//       ^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:33:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
+// class B1 extends S with M1, M {}
+//       ^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:35:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
+// class B2 extends S with M1, M2, M {}
+//       ^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:37:7: Error: Applying the mixin 'M' to 'S' introduces an erroneous override of 'foo'.
+// class B0X extends S with M, MX {}
+//       ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:39:7: Error: Applying the mixin 'M' to 'S with M1' introduces an erroneous override of 'foo'.
+// class B1X extends S with M1, M, MX {}
+//       ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:41:7: Error: Applying the mixin 'M' to 'S with M1, M2' introduces an erroneous override of 'foo'.
+// class B2X extends S with M1, M2, M, MX {}
+//       ^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:14:3: Context: The method 'M.foo' has fewer positional arguments than those of overridden method 'S.foo'.
+//   foo() {}
+//   ^
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_application_override.dart:10:3: Context: This is the overridden method ('foo').
+//   foo([x]) {}
+//   ^
+//
+import self as self;
+import "dart:core" as core;
+
+class S extends core::Object {
+  synthetic constructor •() → self::S*
+    ;
+  method foo([dynamic x]) → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class M extends core::Object {
+  synthetic constructor •() → self::M*
+    ;
+  method foo() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class M1 extends core::Object {
+  synthetic constructor •() → self::M1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class M2 extends core::Object {
+  synthetic constructor •() → self::M2*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class MX extends core::Object {
+  synthetic constructor •() → self::MX*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class A0 = self::S with self::M {
+  synthetic constructor •() → self::A0*
+    : super self::S::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+abstract class _A1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
+  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::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+abstract class _A2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A2&S&M1*
+    : super self::S::•()
+    ;
+}
+abstract class _A2&S&M1&M2 = self::_A2&S&M1 with self::M2 /*isAnonymousMixin*/  {
+  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::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+abstract class _A0X&S&M = self::S with self::M /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A0X&S&M*
+    : super self::S::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+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 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A1X&S&M1*
+    : super self::S::•()
+    ;
+}
+abstract class _A1X&S&M1&M = self::_A1X&S&M1 with self::M /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A1X&S&M1&M*
+    : super self::_A1X&S&M1::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+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 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A2X&S&M1*
+    : super self::S::•()
+    ;
+}
+abstract class _A2X&S&M1&M2 = self::_A2X&S&M1 with self::M2 /*isAnonymousMixin*/  {
+  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 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_A2X&S&M1&M2&M*
+    : super self::_A2X&S&M1&M2::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+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 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B0&S&M*
+    : super self::S::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+class B0 extends self::_B0&S&M {
+  synthetic constructor •() → self::B0*
+    ;
+}
+abstract class _B1&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B1&S&M1*
+    : super self::S::•()
+    ;
+}
+abstract class _B1&S&M1&M = self::_B1&S&M1 with self::M /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B1&S&M1&M*
+    : super self::_B1&S&M1::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+class B1 extends self::_B1&S&M1&M {
+  synthetic constructor •() → self::B1*
+    ;
+}
+abstract class _B2&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B2&S&M1*
+    : super self::S::•()
+    ;
+}
+abstract class _B2&S&M1&M2 = self::_B2&S&M1 with self::M2 /*isAnonymousMixin*/  {
+  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 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B2&S&M1&M2&M*
+    : super self::_B2&S&M1&M2::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+class B2 extends self::_B2&S&M1&M2&M {
+  synthetic constructor •() → self::B2*
+    ;
+}
+abstract class _B0X&S&M = self::S with self::M /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B0X&S&M*
+    : super self::S::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+abstract class _B0X&S&M&MX = self::_B0X&S&M with self::MX /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B0X&S&M&MX*
+    : super self::_B0X&S&M::•()
+    ;
+}
+class B0X extends self::_B0X&S&M&MX {
+  synthetic constructor •() → self::B0X*
+    ;
+}
+abstract class _B1X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B1X&S&M1*
+    : super self::S::•()
+    ;
+}
+abstract class _B1X&S&M1&M = self::_B1X&S&M1 with self::M /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B1X&S&M1&M*
+    : super self::_B1X&S&M1::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+abstract class _B1X&S&M1&M&MX = self::_B1X&S&M1&M with self::MX /*isAnonymousMixin*/  {
+  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*
+    ;
+}
+abstract class _B2X&S&M1 = self::S with self::M1 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B2X&S&M1*
+    : super self::S::•()
+    ;
+}
+abstract class _B2X&S&M1&M2 = self::_B2X&S&M1 with self::M2 /*isAnonymousMixin*/  {
+  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 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B2X&S&M1&M2&M*
+    : super self::_B2X&S&M1&M2::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+}
+abstract class _B2X&S&M1&M2&M&MX = self::_B2X&S&M1&M2&M with self::MX /*isAnonymousMixin*/  {
+  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*
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.hierarchy.expect
deleted file mode 100644
index 8999f35..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.hierarchy.expect
+++ /dev/null
@@ -1,367 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-N:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with N:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: N, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C&Object&N
-  interfaces: N, M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M2:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-N2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-N3:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C2:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C2&Object&M2
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C3:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C3&Object&M2
-  interfaces: M2, M
-  classMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    M2.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.outline.expect
deleted file mode 100644
index dbfbae9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.outline.expect
+++ /dev/null
@@ -1,171 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:24: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_nnbd_opt_out/mixin_conflicts.dart:9:3: Context: 'M.foo' is defined here.
-//   foo() {}
-//   ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:31: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_nnbd_opt_out/mixin_conflicts.dart:9: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*
-    ;
-  method foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class N = core::Object with self::M /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::N*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C&Object&N = core::Object with self::N /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&N*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::_C&Object&N {
-  synthetic constructor •() → self::C*
-    ;
-}
-abstract class M2 extends core::Object implements self::M {
-  synthetic constructor •() → self::M2*
-    ;
-  method bar() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class N2 = core::Object with self::M2 /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::N2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class N3 = core::Object with self::M2 /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::N3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C2&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C2&Object&M2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C2 extends self::_C2&Object&M2 {
-  synthetic constructor •() → self::C2*
-    ;
-}
-abstract class _C3&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C3&Object&M2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class C3 extends self::_C3&Object&M2 {
-  synthetic constructor •() → self::C3*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.strong.expect
deleted file mode 100644
index c8e15f1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.strong.expect
+++ /dev/null
@@ -1,173 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:24: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_nnbd_opt_out/mixin_conflicts.dart:9:3: Context: 'M.foo' is defined here.
-//   foo() {}
-//   ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:31: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_nnbd_opt_out/mixin_conflicts.dart:9: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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class N = core::Object with self::M /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::N*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C&Object&N = core::Object with self::N /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&N*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class N2 = core::Object with self::M2 /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::N2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class N3 = core::Object with self::M2 /*hasConstConstructor*/  {
-  const synthetic constructor •() → self::N3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _C2&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C2&Object&M2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C3&Object&M2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/mixin_conflicts.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.strong.transformed.expect
deleted file mode 100644
index 5120b52..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.strong.transformed.expect
+++ /dev/null
@@ -1,179 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:24: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_nnbd_opt_out/mixin_conflicts.dart:9:3: Context: 'M.foo' is defined here.
-//   foo() {}
-//   ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:31: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_nnbd_opt_out/mixin_conflicts.dart:9: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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class N extends core::Object implements self::M /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::N*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  method foo() → dynamic {}
-}
-abstract class _C&Object&N extends core::Object implements self::N /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&N*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class N2 extends core::Object implements self::M2 /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::N2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  method bar() → dynamic {}
-}
-abstract class N3 extends core::Object implements self::M2 /*isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::N3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  method bar() → dynamic {}
-}
-abstract class _C2&Object&M2 extends core::Object implements self::M2 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C2&Object&M2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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 /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C3&Object&M2*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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_nnbd_opt_out/mixin_conflicts.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.weak.outline.expect
new file mode 100644
index 0000000..204d91c
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart.weak.outline.expect
@@ -0,0 +1,183 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:24: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_nnbd_opt_out/mixin_conflicts.dart:9:3: Context: 'M.foo' is defined here.
+//   foo() {}
+//   ^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/mixin_conflicts.dart:31: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_nnbd_opt_out/mixin_conflicts.dart:9: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*
+    ;
+  method foo() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class N = core::Object with self::M /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::N*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _C&Object&N = core::Object with self::N /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&N*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{self::M::foo}();
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends self::_C&Object&N {
+  synthetic constructor •() → self::C*
+    ;
+}
+abstract class M2 extends core::Object implements self::M {
+  synthetic constructor •() → self::M2*
+    ;
+  method bar() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class N2 = core::Object with self::M2 /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::N2*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method bar() → dynamic
+    return super.{self::M2::bar}();
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class N3 = core::Object with self::M2 /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::N3*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method bar() → dynamic
+    return super.{self::M2::bar}();
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _C2&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C2&Object&M2*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method bar() → dynamic
+    return super.{self::M2::bar}();
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C2 extends self::_C2&Object&M2 {
+  synthetic constructor •() → self::C2*
+    ;
+}
+abstract class _C3&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C3&Object&M2*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method bar() → dynamic
+    return super.{self::M2::bar}();
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class C3 extends self::_C3&Object&M2 {
+  synthetic constructor •() → self::C3*
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.hierarchy.expect
deleted file mode 100644
index 3d588b6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.hierarchy.expect
+++ /dev/null
@@ -1,543 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C<String>
-  interfaces: M
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-  interfaceMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.trace
-
-E:
-  superclasses:
-    Object
-      -> C<String>
-        -> D
-  interfaces: M
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-  interfaceMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.trace
-
-C<int> with M:
-  superclasses:
-    Object
-      -> C<int>
-  interfaces: M
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-  interfaceMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.trace
-
-F:
-  superclasses:
-    Object
-      -> C<int>
-        -> _F&C&M
-  interfaces: M
-  classMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.trace
-  interfaceMembers:
-    C.trace
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.trace
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.outline.expect
deleted file mode 100644
index 6e2b4d4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.outline.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "package:expect/expect.dart";
-
-class C<T extends core::Object* = dynamic> extends core::Object {
-  field core::String* trace;
-  constructor •({dynamic a, dynamic b}) → self::C<self::C::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D = self::C<core::String*> with self::M {
-  synthetic constructor •({dynamic a, dynamic b}) → self::D*
-    : super self::C::•(a: a, b: b)
-    ;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    ;
-}
-abstract class _F&C&M = self::C<core::int*> with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •({dynamic a, dynamic b}) → self::_F&C&M*
-    : super self::C::•(a: a, b: b)
-    ;
-}
-class F extends self::_F&C&M {
-  synthetic constructor •() → self::F*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.strong.expect
deleted file mode 100644
index 15372d8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.strong.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart:11:15: Error: Constant evaluation error:
-//   C({a: 0, b: T}) : trace = "a: $a, b: $b";
-//               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart:11:15: Context: 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_nnbd_opt_out/mixin_constructors_with_default_values.dart:11: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin*/  {
-  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*>().{self::C::trace});
-  exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace});
-  exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace});
-  exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace});
-  exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace});
-}
-
-constants  {
-  #C1 = 0
-  #C2 = TypeLiteralConstant(core::String*)
-  #C3 = TypeLiteralConstant(core::int*)
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.strong.transformed.expect
deleted file mode 100644
index 9e3888b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.strong.transformed.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart:11:15: Error: Constant evaluation error:
-//   C({a: 0, b: T}) : trace = "a: $a, b: $b";
-//               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart:11:15: Context: 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_nnbd_opt_out/mixin_constructors_with_default_values.dart:11: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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C<core::String*> implements self::M /*isEliminatedMixin*/  {
-  synthetic constructor •({dynamic a = #C1, dynamic b = #C2}) → self::D*
-    : super self::C::•(a: a, b: b)
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •({dynamic a = #C1, dynamic b = #C3}) → self::_F&C&M*
-    : super self::C::•(a: a, b: b)
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>().{self::C::trace});
-  exp::Expect::stringEquals("a: 0, b: T", new self::C::•<dynamic>().{self::C::trace});
-  exp::Expect::stringEquals("a: 0, b: String", new self::D::•().{self::C::trace});
-  exp::Expect::stringEquals("a: 0, b: String", new self::E::•().{self::C::trace});
-  exp::Expect::stringEquals("a: 0, b: int", new self::F::•().{self::C::trace});
-}
-
-constants  {
-  #C1 = 0
-  #C2 = TypeLiteralConstant(core::String*)
-  #C3 = TypeLiteralConstant(core::int*)
-}
diff --git a/pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/mixin_constructors_with_default_values.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/mixin_constructors_with_default_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.hierarchy.expect
deleted file mode 100644
index 85f7304..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,168 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._field
-
-D:
-  superclasses:
-    Object
-      -> C<B>
-  interfaces:
-  classMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._field
-
-Object with C<B>:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C<B>
-  classMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._field
-  interfaceMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C._field
-
-Foo:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Foo&Object&C
-  interfaces: C<B>
-  classMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._field
-  interfaceMembers:
-    C._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C._field
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.outline.expect
deleted file mode 100644
index c3808a7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.outline.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends self::A* = self::A*> extends core::Object {
-  generic-covariant-impl field self::C::T* _field;
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  method foo(generic-covariant-impl self::C::T* x) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C<self::B*> {
-  synthetic constructor •() → self::D*
-    ;
-}
-abstract class _Foo&Object&C = core::Object with self::C<self::B*> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Foo&Object&C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Foo extends self::_Foo&Object&C {
-  synthetic constructor •() → self::Foo*
-    ;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect
deleted file mode 100644
index 53096f6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.strong.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends self::A* = self::A*> 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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Foo&Object&C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {
-  self::Foo* foo = new self::Foo::•();
-  foo.{self::C::foo}(new self::B::•());
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect
deleted file mode 100644
index 9dd9137..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.strong.transformed.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends self::A* = self::A*> 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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*> /*isAnonymousMixin,isEliminatedMixin*/  {
-  generic-covariant-impl field self::B* _field = null;
-  synthetic constructor •() → self::_Foo&Object&C*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  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 {
-  self::Foo* foo = new self::Foo::•();
-  foo.{self::C::foo}(new self::B::•());
-}
diff --git a/pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/mixin_inherited_setter_for_mixed_in_field.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/mixin_inherited_setter_for_mixed_in_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.hierarchy.expect
deleted file mode 100644
index 869bb76..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.hierarchy.expect
+++ /dev/null
@@ -1,190 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-
-N:
-  superclasses:
-    Object
-      -> M
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-    N.superM
-
-S:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-S with M:
-  superclasses:
-    Object
-      -> S
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    M.m
-
-_Named&S&M with N:
-  superclasses:
-    Object
-      -> S
-        -> _Named&S&M
-  interfaces: M, N
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-    N.superM
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    M.m
-    N.superM
-
-Named:
-  superclasses:
-    Object
-      -> S
-        -> _Named&S&M
-          -> _Named&S&M&N
-  interfaces: M, N
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.m
-    N.superM
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    N.superM
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    M.m
-    N.superM
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.outline.expect
deleted file mode 100644
index b4b8487..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.outline.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;
-  synthetic constructor •() → self::M*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class N extends self::M {
-  synthetic constructor •() → self::N*
-    ;
-  set superM(dynamic value) → void
-    ;
-  get superM() → dynamic
-    ;
-}
-class S extends core::Object {
-  synthetic constructor •() → self::S*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Named&S&M = self::S with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Named&S&M*
-    : super self::S::•()
-    ;
-}
-abstract class _Named&S&M&N = self::_Named&S&M with self::N /*isAnonymousMixin*/  {
-  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
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.strong.expect
deleted file mode 100644
index 074e61a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.strong.expect
+++ /dev/null
@@ -1,71 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Named&S&M = self::S with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_Named&S&M*
-    : super self::S::•()
-    ;
-}
-abstract class _Named&S&M&N = self::_Named&S&M with self::N /*isAnonymousMixin*/  {
-  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.{self::M::m} = 42;
-  named.{self::N::superM} = 87;
-  if(!named.{self::M::m}.{core::Object::==}(42)) {
-    throw "Bad mixin translation of set:superM";
-  }
-  if(!named.{self::N::superM}.{core::Object::==}(87)) {
-    throw "Bad mixin translation of get:superM";
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.strong.transformed.expect
deleted file mode 100644
index 7190023..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.strong.transformed.expect
+++ /dev/null
@@ -1,98 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Named&S&M extends self::S implements self::M /*isAnonymousMixin,isEliminatedMixin*/  {
-  field dynamic m = null;
-  synthetic constructor •() → self::_Named&S&M*
-    : super self::S::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _Named&S&M&N extends self::_Named&S&M implements self::N /*isAnonymousMixin,isEliminatedMixin*/  {
-  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 /*isEliminatedMixin*/  {
-  field dynamic m = null;
-  synthetic constructor •() → self::Named*
-    : super self::_Named&S&M&N::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Named* named = new self::Named::•();
-  named.{self::M::m} = 42;
-  named.{self::N::superM} = 87;
-  if(!named.{self::M::m}.{core::Object::==}(42)) {
-    throw "Bad mixin translation of set:superM";
-  }
-  if(!named.{self::N::superM}.{core::Object::==}(87)) {
-    throw "Bad mixin translation of get:superM";
-  }
-}
diff --git a/pkg/front_end/testcases/general/mixin_super_repeated.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/mixin_super_repeated.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/mixin_super_repeated.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.hierarchy.expect
deleted file mode 100644
index 6eaae17..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.hierarchy.expect
+++ /dev/null
@@ -1,120 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B with M:
-  superclasses:
-    Object
-      -> B
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  superclasses:
-    Object
-      -> B
-        -> _A&B&M
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.outline.expect
deleted file mode 100644
index 2676d25..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.outline.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _A&B&M = self::B with self::M /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_A&B&M*
-    : super self::B::•()
-    ;
-}
-class A extends self::_A&B&M {
-  synthetic constructor •() → self::A*
-    ;
-}
-class B extends core::Object {
-  final field core::Object* m;
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    ;
-  static method m() → core::Object*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.strong.expect
deleted file mode 100644
index 5429ab0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.strong.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _A&B&M = self::B with self::M /*isAnonymousMixin*/  {
-  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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  static method m() → core::Object*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.strong.transformed.expect
deleted file mode 100644
index 6c86cce..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.strong.transformed.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class _A&B&M extends self::B implements self::M /*isAnonymousMixin,isEliminatedMixin*/  {
-  synthetic constructor •() → self::_A&B&M*
-    : super self::B::•()
-    ;
-  static method m() → core::Object*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class M extends core::Object {
-  synthetic constructor •() → self::M*
-    : super core::Object::•()
-    ;
-  static method m() → core::Object*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general/mixin_with_static_member.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/mixin_with_static_member.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/mixin_with_static_member.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.hierarchy.expect
deleted file mode 100644
index 34408aa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-T:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-V:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.outline.expect
deleted file mode 100644
index 8eb9d2e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class T extends core::Object {
-  synthetic constructor •() → self::T*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class V extends core::Object {
-  synthetic constructor •() → self::V*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic
-  ;
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.strong.expect
deleted file mode 100644
index 153f961..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.strong.expect
+++ /dev/null
@@ -1,195 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:28:13: Error: A function expression can't have a name.
-//     var x = T() {};
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:33:9: Error: Can't declare 'V' because it was already used in this scope.
-//     var V;
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:31:5: Context: Previous use of 'V'.
-//     V v;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:38:9: Error: Can't declare 'V' because it was already used in this scope.
-//     var V = null;
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:36:5: Context: Previous use of 'V'.
-//     V v;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:43:15: Error: A function expression can't have a name.
-//     var x = T T() {};
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:43:15: Error: Can't declare 'T' because it was already used in this scope.
-//     var x = T T() {};
-//               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:43:13: Context: Previous use of 'T'.
-//     var x = T T() {};
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:49:7: Error: Can't declare 'V' because it was already used in this scope.
-//     V V;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:49:5: Context: Previous use of 'V'.
-//     V V;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:54:13: Error: A function expression can't have a name.
-//     var x = T<T>() {};
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:54:13: Error: 'T' is already declared in this scope.
-//     var x = T<T>() {};
-//             ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:54:15: Context: Previous declaration of 'T'.
-//     var x = T<T>() {};
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:58:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T() {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:57:5: Context: Previous use of 'T'.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:61:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T() {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:61:5: Context: Previous use of 'T'.
-//     T T() {}
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:65:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T(T t) {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:64:5: Context: Previous use of 'T'.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:68:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T(T t) {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:68:5: Context: Previous use of 'T'.
-//     T T(T t) {}
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:71:12: Error: '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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class V extends core::Object {
-  synthetic constructor •() → self::V*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  self::T* t;
-  self::V* v;
-  {
-    function T() → core::Null? {}
-  }
-  {
-    dynamic v;
-  }
-  {
-    self::T* t;
-    () →* core::Null? x = let final () →* core::Null? T = () → core::Null? {} in T;
-  }
-  {
-    self::V* v;
-    dynamic V = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:33: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_nnbd_opt_out/named_function_scope.dart:38:9: Error: Can't declare 'V' because it was already used in this scope.
-    var V = null;
-        ^" in null;
-  }
-  {
-    () →* core::Null? x = let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:43:15: Error: Can't declare 'T' because it was already used in this scope.
-    var x = T T() {};
-              ^" in let final () →* core::Null? T = () → core::Null? {} in T;
-  }
-  {
-    self::V* V = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:49:7: Error: Can't declare 'V' because it was already used in this scope.
-    V V;
-      ^" as{TypeError,ForDynamic} self::V*;
-  }
-  {
-    <T extends core::Object* = dynamic>() →* core::Null? x = let final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:54:13: Error: 'T' is already declared in this scope.
-    var x = T<T>() {};
-            ^" in let final <T extends core::Object* = dynamic>() →* core::Null? T = <T extends core::Object* = dynamic>() → core::Null? {} in T;
-  }
-  {
-    self::T* t;
-    {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:58: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_nnbd_opt_out/named_function_scope.dart:61: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_nnbd_opt_out/named_function_scope.dart:65: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_nnbd_opt_out/named_function_scope.dart:68: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_nnbd_opt_out/named_function_scope.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.strong.transformed.expect
deleted file mode 100644
index 969df35..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.strong.transformed.expect
+++ /dev/null
@@ -1,195 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:28:13: Error: A function expression can't have a name.
-//     var x = T() {};
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:33:9: Error: Can't declare 'V' because it was already used in this scope.
-//     var V;
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:31:5: Context: Previous use of 'V'.
-//     V v;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:38:9: Error: Can't declare 'V' because it was already used in this scope.
-//     var V = null;
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:36:5: Context: Previous use of 'V'.
-//     V v;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:43:15: Error: A function expression can't have a name.
-//     var x = T T() {};
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:43:15: Error: Can't declare 'T' because it was already used in this scope.
-//     var x = T T() {};
-//               ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:43:13: Context: Previous use of 'T'.
-//     var x = T T() {};
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:49:7: Error: Can't declare 'V' because it was already used in this scope.
-//     V V;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:49:5: Context: Previous use of 'V'.
-//     V V;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:54:13: Error: A function expression can't have a name.
-//     var x = T<T>() {};
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:54:13: Error: 'T' is already declared in this scope.
-//     var x = T<T>() {};
-//             ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:54:15: Context: Previous declaration of 'T'.
-//     var x = T<T>() {};
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:58:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T() {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:57:5: Context: Previous use of 'T'.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:61:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T() {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:61:5: Context: Previous use of 'T'.
-//     T T() {}
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:65:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T(T t) {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:64:5: Context: Previous use of 'T'.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:68:7: Error: Can't declare 'T' because it was already used in this scope.
-//     T T(T t) {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:68:5: Context: Previous use of 'T'.
-//     T T(T t) {}
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:71:12: Error: '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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class V extends core::Object {
-  synthetic constructor •() → self::V*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  self::T* t;
-  self::V* v;
-  {
-    function T() → core::Null? {}
-  }
-  {
-    dynamic v;
-  }
-  {
-    self::T* t;
-    () →* core::Null? x = let final () →* core::Null? T = () → core::Null? {} in T;
-  }
-  {
-    self::V* v;
-    dynamic V = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:33: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_nnbd_opt_out/named_function_scope.dart:38:9: Error: Can't declare 'V' because it was already used in this scope.
-    var V = null;
-        ^" in null;
-  }
-  {
-    () →* core::Null? x = let final dynamic #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:43:15: Error: Can't declare 'T' because it was already used in this scope.
-    var x = T T() {};
-              ^" in let final () →* core::Null? T = () → core::Null? {} in T;
-  }
-  {
-    self::V* V = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:49:7: Error: Can't declare 'V' because it was already used in this scope.
-    V V;
-      ^";
-  }
-  {
-    <T extends core::Object* = dynamic>() →* core::Null? x = let final dynamic #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:54:13: Error: 'T' is already declared in this scope.
-    var x = T<T>() {};
-            ^" in let final <T extends core::Object* = dynamic>() →* core::Null? T = <T extends core::Object* = dynamic>() → core::Null? {} in T;
-  }
-  {
-    self::T* t;
-    {
-      invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart:58: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_nnbd_opt_out/named_function_scope.dart:61: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_nnbd_opt_out/named_function_scope.dart:65: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_nnbd_opt_out/named_function_scope.dart:68: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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/named_function_scope.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/named_function_scope.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.hierarchy.expect
deleted file mode 100644
index 13669a9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Superclass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Superclass.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Superclass.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Superclass.namedCallback
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Subclass:
-  superclasses:
-    Object
-      -> Superclass
-  interfaces:
-  classMembers:
-    Subclass.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Subclass.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Subclass.namedCallback
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.outline.expect
deleted file mode 100644
index 45f4586..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.outline.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Superclass extends core::Object {
-  synthetic constructor •() → self::Superclass*
-    ;
-  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
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Subclass extends self::Superclass {
-  synthetic constructor •() → self::Subclass*
-    ;
-  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
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.strong.expect
deleted file mode 100644
index 449da78..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Superclass extends core::Object {
-  synthetic constructor •() → self::Superclass*
-    : super core::Object::•()
-    ;
-  method foo({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
-  method bar({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
-  method namedCallback(({alpha: core::String*, beta: core::int*}) →* dynamic callback) → dynamic {
-    callback.call(alpha: "one", beta: 2);
-    callback.call(beta: 1, alpha: "two");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Subclass extends self::Superclass {
-  synthetic constructor •() → self::Subclass*
-    : super self::Superclass::•()
-    ;
-  method foo({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
-  method bar({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
-  method namedCallback(({alpha: core::String*, beta: core::int*}) →* dynamic callback) → dynamic {}
-}
-static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma = #C1, dynamic delta = #C1}) → dynamic {}
-static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma = #C1, dynamic delta = #C1]) → dynamic {}
-static method main() → dynamic {
-  new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2);
-  new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2);
-  self::topLevelNamed(1, 2, gamma: 3, delta: 4);
-  self::topLevelNamed(1, 2, delta: 3, gamma: 4);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.strong.transformed.expect
deleted file mode 100644
index 449da78..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Superclass extends core::Object {
-  synthetic constructor •() → self::Superclass*
-    : super core::Object::•()
-    ;
-  method foo({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
-  method bar({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
-  method namedCallback(({alpha: core::String*, beta: core::int*}) →* dynamic callback) → dynamic {
-    callback.call(alpha: "one", beta: 2);
-    callback.call(beta: 1, alpha: "two");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Subclass extends self::Superclass {
-  synthetic constructor •() → self::Subclass*
-    : super self::Superclass::•()
-    ;
-  method foo({dynamic beta = #C1, dynamic alpha = #C1}) → dynamic {}
-  method bar({dynamic alpha = #C1, dynamic beta = #C1}) → dynamic {}
-  method namedCallback(({alpha: core::String*, beta: core::int*}) →* dynamic callback) → dynamic {}
-}
-static method topLevelNamed(dynamic beta, dynamic alpha, {dynamic gamma = #C1, dynamic delta = #C1}) → dynamic {}
-static method topLevelOptional(dynamic beta, dynamic alpha, [dynamic gamma = #C1, dynamic delta = #C1]) → dynamic {}
-static method main() → dynamic {
-  new self::Subclass::•().{self::Subclass::foo}(beta: 1, alpha: 2);
-  new self::Subclass::•().{self::Subclass::foo}(alpha: 1, beta: 2);
-  self::topLevelNamed(1, 2, gamma: 3, delta: 4);
-  self::topLevelNamed(1, 2, delta: 3, gamma: 4);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/named_parameters.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general/named_parameters.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/named_parameters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.hierarchy.expect
deleted file mode 100644
index cd4caa8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.hierarchy.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-W:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    W.native
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    W.native
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    X.native
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Y1.native
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y2:
-  superclasses:
-    Object
-      -> Y1
-  interfaces:
-  classMembers:
-    Y2.native
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Z:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Z.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Z.f
-    Z.native
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.outline.expect
deleted file mode 100644
index 875bd02..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.outline.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class W extends core::Object {
-  field core::String* native;
-  constructor •() → self::W*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    ;
-  method native() → core::String*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Y1 extends core::Object {
-  synthetic constructor •() → self::Y1*
-    ;
-  abstract get native() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y2 extends self::Y1 {
-  synthetic constructor •() → self::Y2*
-    ;
-  @core::override
-  get native() → core::String*
-    ;
-}
-class Z extends core::Object {
-  field core::String* f;
-  synthetic constructor •() → self::Z*
-    ;
-  set native(core::String* s) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.strong.expect
deleted file mode 100644
index 67f9f49..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.strong.expect
+++ /dev/null
@@ -1,89 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  method native() → core::String*
-    return "method";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Y1 extends core::Object {
-  synthetic constructor •() → self::Y1*
-    : super core::Object::•()
-    ;
-  abstract get native() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  core::print(new self::W::•().{self::W::native});
-  core::print(new self::X::•().{self::X::native}());
-  core::print(new self::Y2::•().{self::Y2::native});
-  core::print((let final self::Z* #t1 = new self::Z::•() in let final void #t2 = #t1.{self::Z::native} = "setter" in #t1).{self::Z::f});
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.strong.transformed.expect
deleted file mode 100644
index 67f9f49..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.strong.transformed.expect
+++ /dev/null
@@ -1,89 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  method native() → core::String*
-    return "method";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Y1 extends core::Object {
-  synthetic constructor •() → self::Y1*
-    : super core::Object::•()
-    ;
-  abstract get native() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  core::print(new self::W::•().{self::W::native});
-  core::print(new self::X::•().{self::X::native}());
-  core::print(new self::Y2::•().{self::Y2::native});
-  core::print((let final self::Z* #t1 = new self::Z::•() in let final void #t2 = #t1.{self::Z::native} = "setter" in #t1).{self::Z::f});
-}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.weak.outline.expect
new file mode 100644
index 0000000..d96a8b6
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/native_as_name.dart.weak.outline.expect
@@ -0,0 +1,81 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class W extends core::Object {
+  field core::String* native;
+  constructor •() → self::W*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class X extends core::Object {
+  synthetic constructor •() → self::X*
+    ;
+  method native() → core::String*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Y1 extends core::Object {
+  synthetic constructor •() → self::Y1*
+    ;
+  abstract get native() → core::String*;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Y2 extends self::Y1 {
+  synthetic constructor •() → self::Y2*
+    ;
+  @core::override
+  get native() → core::String*
+    ;
+}
+class Z extends core::Object {
+  field core::String* f;
+  synthetic constructor •() → self::Z*
+    ;
+  set native(core::String* s) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///native_as_name.dart:28:4 -> InstanceConstant(const _Override{})
+Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.hierarchy.expect
deleted file mode 100644
index 305e6c8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.hierarchy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.baz
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.fun
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.outline.expect
deleted file mode 100644
index 9084f6d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.outline.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  final field core::int* bar;
-  const constructor •(core::int* bar) → self::A*
-    : self::A::bar = bar, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object /*hasConstConstructor*/  {
-  final field self::A* baz;
-  const constructor •(self::A* baz) → self::B*
-    : self::B::baz = baz, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method fun() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* foo = const core::int::fromEnvironment("fisk");
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.strong.expect
deleted file mode 100644
index 529b7ad..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.strong.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  final field core::int* bar;
-  const constructor •(core::int* bar) → self::A*
-    : self::A::bar = bar, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object /*hasConstConstructor*/  {
-  final field self::A* baz;
-  const constructor •(self::A* baz) → self::B*
-    : self::B::baz = baz, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    new self::B::•(new self::A::•(#C1));
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* foo = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.strong.transformed.expect
deleted file mode 100644
index 529b7ad..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.strong.transformed.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  final field core::int* bar;
-  const constructor •(core::int* bar) → self::A*
-    : self::A::bar = bar, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object /*hasConstConstructor*/  {
-  final field self::A* baz;
-  const constructor •(self::A* baz) → self::B*
-    : self::B::baz = baz, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method fun() → dynamic {
-    new self::B::•(new self::A::•(#C1));
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* foo = #C1;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 0
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.weak.outline.expect
new file mode 100644
index 0000000..a698e84
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/nested_implicit_const_with_env_var.dart.weak.outline.expect
@@ -0,0 +1,60 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/  {
+  final field core::int* bar;
+  const constructor •(core::int* bar) → self::A*
+    : self::A::bar = bar, super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends core::Object /*hasConstConstructor*/  {
+  final field self::A* baz;
+  const constructor •(self::A* baz) → self::B*
+    : self::B::baz = baz, super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  method fun() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field core::int* foo = const core::int::fromEnvironment("fisk");
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: FactoryConstructorInvocationJudgment @ org-dartlang-testcase:///nested_implicit_const_with_env_var.dart:7:23 -> IntConstant(0)
+Extra constant evaluation: evaluated: 3, effectively constant: 1
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.outline.expect
deleted file mode 100644
index de1db9d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.outline.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class NumField extends core::Object {
-  field core::num* field;
-  synthetic constructor •() → self::NumField*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class IntField extends core::Object {
-  field core::int* field;
-  synthetic constructor •() → self::IntField*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class DoubleField extends core::Object {
-  field core::double* field;
-  synthetic constructor •() → self::DoubleField*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.strong.expect
deleted file mode 100644
index 7fb3f49..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.strong.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class NumField extends core::Object {
-  field core::num* field = null;
-  synthetic constructor •() → self::NumField*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class IntField extends core::Object {
-  field core::int* field = null;
-  synthetic constructor •() → self::IntField*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class DoubleField extends core::Object {
-  field core::double* field = null;
-  synthetic constructor •() → self::DoubleField*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::IntField* intField1 = new self::IntField::•();
-  self::IntField* intField2 = new self::IntField::•();
-  self::NumField* numField = new self::NumField::•();
-  self::DoubleField* doubleField = new self::DoubleField::•();
-  intField1.{self::IntField::field} = (intField2.{self::IntField::field} = numField.{self::NumField::field} as{TypeError} core::int*) as{TypeError} core::int*;
-  intField1.{self::IntField::field} = numField.{self::NumField::field} = intField2.{self::IntField::field};
-  try {
-    numField.{self::NumField::field} = 0.5;
-    intField1.{self::IntField::field} = (doubleField.{self::DoubleField::field} = numField.{self::NumField::field} as{TypeError} core::double*) as{TypeError} core::int*;
-    throw "Should fail";
-  }
-  on dynamic catch(final dynamic _) {
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.strong.transformed.expect
deleted file mode 100644
index ab06de5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.strong.transformed.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class NumField extends core::Object {
-  field core::num* field = null;
-  synthetic constructor •() → self::NumField*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class IntField extends core::Object {
-  field core::int* field = null;
-  synthetic constructor •() → self::IntField*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class DoubleField extends core::Object {
-  field core::double* field = null;
-  synthetic constructor •() → self::DoubleField*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::IntField* intField1 = new self::IntField::•();
-  self::IntField* intField2 = new self::IntField::•();
-  self::NumField* numField = new self::NumField::•();
-  self::DoubleField* doubleField = new self::DoubleField::•();
-  intField1.{self::IntField::field} = intField2.{self::IntField::field} = numField.{self::NumField::field} as{TypeError} core::int*;
-  intField1.{self::IntField::field} = numField.{self::NumField::field} = intField2.{self::IntField::field};
-  try {
-    numField.{self::NumField::field} = 0.5;
-    intField1.{self::IntField::field} = (doubleField.{self::DoubleField::field} = numField.{self::NumField::field} as{TypeError} core::double*) as{TypeError} core::int*;
-    throw "Should fail";
-  }
-  on dynamic catch(final dynamic _) {
-  }
-}
diff --git a/pkg/front_end/testcases/general/nested_property_set.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/nested_property_set.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/nested_property_set.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.strong.expect
deleted file mode 100644
index 7e193c1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.strong.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::int* intLocal1;
-  core::int* intLocal2;
-  core::num* numLocal;
-  core::double* doubleLocal;
-  intLocal1 = (intLocal2 = numLocal as{TypeError} core::int*) as{TypeError} core::int*;
-  intLocal1 = numLocal = intLocal2;
-  numLocal = 0.5;
-  try {
-    intLocal1 = (doubleLocal = numLocal as{TypeError} core::double*) as{TypeError} core::int*;
-    throw "Should fail";
-  }
-  on dynamic catch(final dynamic _) {
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.strong.transformed.expect
deleted file mode 100644
index 18a252a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.strong.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic {
-  core::int* intLocal1;
-  core::int* intLocal2;
-  core::num* numLocal;
-  core::double* doubleLocal;
-  intLocal1 = intLocal2 = numLocal as{TypeError} core::int*;
-  intLocal1 = numLocal = intLocal2;
-  numLocal = 0.5;
-  try {
-    intLocal1 = (doubleLocal = numLocal as{TypeError} core::double*) as{TypeError} core::int*;
-    throw "Should fail";
-  }
-  on dynamic catch(final dynamic _) {
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/nested_variable_set.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.hierarchy.expect
deleted file mode 100644
index 943b7be..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.hierarchy.expect
+++ /dev/null
@@ -1,257 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Acov:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Acon:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Ainv:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AcovBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AconBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AinvBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AcovCyclicBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AconCyclicBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AinvCyclicBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AcovCyclicCoBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AconCyclicCoBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AinvCyclicCoBound:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.legacy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.legacy.expect
deleted file mode 100644
index b9c9ad3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.legacy.expect
+++ /dev/null
@@ -1,161 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object = dynamic> = <Y extends X = dynamic>() → void;
-typedef Fcov<X extends core::Object = dynamic> = () → X;
-typedef Fcon<contravariant X extends core::Object = dynamic> = (X) → dynamic;
-typedef Finv<invariant X extends core::Object = dynamic> = (X) → X;
-typedef FcovBound<X extends core::num = dynamic> = () → X;
-typedef FconBound<contravariant X extends core::num = dynamic> = (X) → dynamic;
-typedef FinvBound<invariant X extends core::num = dynamic> = (X) → X;
-typedef FcovCyclicBound<X extends self::A<X> = dynamic> = () → X;
-typedef FconCyclicBound<contravariant X extends self::A<X> = dynamic> = (X) → dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X> = dynamic> = (X) → X;
-typedef FcovCyclicCoBound<X extends (X) → dynamic = dynamic> = () → X;
-typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = dynamic> = (X) → dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = dynamic> = (X) → X;
-class Acov<X extends () → self::Acov::Y = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acov<self::Acov::X, self::Acov::Y>
-    : super core::Object::•()
-    ;
-}
-class Acon<X extends (self::Acon::Y) → dynamic = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acon<self::Acon::X, self::Acon::Y>
-    : super core::Object::•()
-    ;
-}
-class Ainv<X extends (self::Ainv::Y) → self::Ainv::Y = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ainv<self::Ainv::X, self::Ainv::Y>
-    : super core::Object::•()
-    ;
-}
-class AcovBound<X extends () → self::AcovBound::Y = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovBound<self::AcovBound::X, self::AcovBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconBound<X extends (self::AconBound::Y) → dynamic = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconBound<self::AconBound::X, self::AconBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvBound<X extends (self::AinvBound::Y) → self::AinvBound::Y = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvBound<self::AinvBound::X, self::AinvBound::Y>
-    : super core::Object::•()
-    ;
-}
-class A<X extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X>
-    : super core::Object::•()
-    ;
-}
-class AcovCyclicBound<X extends () → self::AcovCyclicBound::Y = dynamic, Y extends self::A<self::AcovCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X, self::AcovCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconCyclicBound<X extends (self::AconCyclicBound::Y) → dynamic = dynamic, Y extends self::A<self::AconCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X, self::AconCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvCyclicBound<X extends (self::AinvCyclicBound::Y) → self::AinvCyclicBound::Y = dynamic, Y extends self::A<self::AinvCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X, self::AinvCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AcovCyclicCoBound<X extends () → self::AcovCyclicCoBound::Y = dynamic, Y extends (self::AcovCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X, self::AcovCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y) → dynamic = dynamic, Y extends (self::AconCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X, self::AconCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y) → self::AinvCyclicCoBound::Y = dynamic, Y extends (self::AinvCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X, self::AinvCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class B<X extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X>
-    : super core::Object::•()
-    ;
-}
-static method toF<X extends core::Object = dynamic>(self::toF::X x) → <Y extends self::toF::X = dynamic>() → void
-  return null;
-static method testTypeAliasAsTypeArgument() → void {
-  self::Acov<dynamic, dynamic> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void target1 = fsource1;
-  self::Acon<dynamic, dynamic> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::Acon<(core::Null) → dynamic, dynamic> = dynamic>() → void target2 = fsource2;
-  self::Ainv<dynamic, dynamic> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void target3 = fsource3;
-  self::AcovBound<dynamic, dynamic> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void target4 = fsource4;
-  self::AconBound<dynamic, dynamic> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::AconBound<(core::Null) → dynamic, core::num> = dynamic>() → void target5 = fsource5;
-  self::AinvBound<dynamic, dynamic> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void target6 = fsource6;
-  self::AcovCyclicBound<dynamic, dynamic> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void target7 = fsource7;
-  self::AconCyclicBound<dynamic, dynamic> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::AconCyclicBound<(core::Null) → dynamic, self::A<dynamic>> = dynamic>() → void target8 = fsource8;
-  self::AinvCyclicBound<dynamic, dynamic> source9;
-  self::AcovCyclicCoBound<dynamic, dynamic> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::AcovCyclicCoBound<() → (core::Null) → dynamic, (core::Null) → dynamic> = dynamic>() → void target10 = fsource10;
-  self::AconCyclicCoBound<dynamic, dynamic> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::AconCyclicCoBound<(core::Null) → dynamic, (core::Null) → dynamic> = dynamic>() → void target11 = fsource11;
-  self::AinvCyclicCoBound<dynamic, dynamic> source12;
-}
-static method testNested() → void {
-  self::B<self::Acov<dynamic, dynamic>> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void target1 = fsource1;
-  self::B<self::Acon<dynamic, dynamic>> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::B<self::Acon<(core::Null) → dynamic, dynamic>> = dynamic>() → void target2 = fsource2;
-  self::B<self::Ainv<dynamic, dynamic>> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void target3 = fsource3;
-  self::B<self::AcovBound<dynamic, dynamic>> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void target4 = fsource4;
-  self::B<self::AconBound<dynamic, dynamic>> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::B<self::AconBound<(core::Null) → dynamic, core::num>> = dynamic>() → void target5 = fsource5;
-  self::B<self::AinvBound<dynamic, dynamic>> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void target6 = fsource6;
-  self::B<self::AcovCyclicBound<dynamic, dynamic>> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void target7 = fsource7;
-  self::B<self::AconCyclicBound<dynamic, dynamic>> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::B<self::AconCyclicBound<(core::Null) → dynamic, self::A<dynamic>>> = dynamic>() → void target8 = fsource8;
-  self::B<self::AinvCyclicBound<dynamic, dynamic>> source9;
-  self::B<self::AcovCyclicCoBound<dynamic, dynamic>> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::B<self::AcovCyclicCoBound<() → (core::Null) → dynamic, (core::Null) → dynamic>> = dynamic>() → void target10 = fsource10;
-  self::B<self::AconCyclicCoBound<dynamic, dynamic>> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::B<self::AconCyclicCoBound<(core::Null) → dynamic, (core::Null) → dynamic>> = dynamic>() → void target11 = fsource11;
-  self::B<self::AinvCyclicCoBound<dynamic, dynamic>> source12;
-}
-static method main() → dynamic {
-  self::testTypeAliasAsTypeArgument();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.legacy.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.legacy.transformed.expect
deleted file mode 100644
index b9c9ad3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,161 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object = dynamic> = <Y extends X = dynamic>() → void;
-typedef Fcov<X extends core::Object = dynamic> = () → X;
-typedef Fcon<contravariant X extends core::Object = dynamic> = (X) → dynamic;
-typedef Finv<invariant X extends core::Object = dynamic> = (X) → X;
-typedef FcovBound<X extends core::num = dynamic> = () → X;
-typedef FconBound<contravariant X extends core::num = dynamic> = (X) → dynamic;
-typedef FinvBound<invariant X extends core::num = dynamic> = (X) → X;
-typedef FcovCyclicBound<X extends self::A<X> = dynamic> = () → X;
-typedef FconCyclicBound<contravariant X extends self::A<X> = dynamic> = (X) → dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X> = dynamic> = (X) → X;
-typedef FcovCyclicCoBound<X extends (X) → dynamic = dynamic> = () → X;
-typedef FconCyclicCoBound<contravariant X extends (X) → dynamic = dynamic> = (X) → dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X) → dynamic = dynamic> = (X) → X;
-class Acov<X extends () → self::Acov::Y = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acov<self::Acov::X, self::Acov::Y>
-    : super core::Object::•()
-    ;
-}
-class Acon<X extends (self::Acon::Y) → dynamic = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acon<self::Acon::X, self::Acon::Y>
-    : super core::Object::•()
-    ;
-}
-class Ainv<X extends (self::Ainv::Y) → self::Ainv::Y = dynamic, Y extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ainv<self::Ainv::X, self::Ainv::Y>
-    : super core::Object::•()
-    ;
-}
-class AcovBound<X extends () → self::AcovBound::Y = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovBound<self::AcovBound::X, self::AcovBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconBound<X extends (self::AconBound::Y) → dynamic = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconBound<self::AconBound::X, self::AconBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvBound<X extends (self::AinvBound::Y) → self::AinvBound::Y = dynamic, Y extends core::num = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvBound<self::AinvBound::X, self::AinvBound::Y>
-    : super core::Object::•()
-    ;
-}
-class A<X extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X>
-    : super core::Object::•()
-    ;
-}
-class AcovCyclicBound<X extends () → self::AcovCyclicBound::Y = dynamic, Y extends self::A<self::AcovCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X, self::AcovCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconCyclicBound<X extends (self::AconCyclicBound::Y) → dynamic = dynamic, Y extends self::A<self::AconCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X, self::AconCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvCyclicBound<X extends (self::AinvCyclicBound::Y) → self::AinvCyclicBound::Y = dynamic, Y extends self::A<self::AinvCyclicBound::Y> = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X, self::AinvCyclicBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AcovCyclicCoBound<X extends () → self::AcovCyclicCoBound::Y = dynamic, Y extends (self::AcovCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X, self::AcovCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y) → dynamic = dynamic, Y extends (self::AconCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X, self::AconCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y) → self::AinvCyclicCoBound::Y = dynamic, Y extends (self::AinvCyclicCoBound::Y) → dynamic = dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X, self::AinvCyclicCoBound::Y>
-    : super core::Object::•()
-    ;
-}
-class B<X extends core::Object = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X>
-    : super core::Object::•()
-    ;
-}
-static method toF<X extends core::Object = dynamic>(self::toF::X x) → <Y extends self::toF::X = dynamic>() → void
-  return null;
-static method testTypeAliasAsTypeArgument() → void {
-  self::Acov<dynamic, dynamic> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::Acov<() → dynamic, dynamic> = dynamic>() → void target1 = fsource1;
-  self::Acon<dynamic, dynamic> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::Acon<(core::Null) → dynamic, dynamic> = dynamic>() → void target2 = fsource2;
-  self::Ainv<dynamic, dynamic> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::Ainv<(dynamic) → dynamic, dynamic> = dynamic>() → void target3 = fsource3;
-  self::AcovBound<dynamic, dynamic> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::AcovBound<() → core::num, core::num> = dynamic>() → void target4 = fsource4;
-  self::AconBound<dynamic, dynamic> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::AconBound<(core::Null) → dynamic, core::num> = dynamic>() → void target5 = fsource5;
-  self::AinvBound<dynamic, dynamic> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::AinvBound<(core::num) → core::num, core::num> = dynamic>() → void target6 = fsource6;
-  self::AcovCyclicBound<dynamic, dynamic> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>> = dynamic>() → void target7 = fsource7;
-  self::AconCyclicBound<dynamic, dynamic> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::AconCyclicBound<(core::Null) → dynamic, self::A<dynamic>> = dynamic>() → void target8 = fsource8;
-  self::AinvCyclicBound<dynamic, dynamic> source9;
-  self::AcovCyclicCoBound<dynamic, dynamic> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::AcovCyclicCoBound<() → (core::Null) → dynamic, (core::Null) → dynamic> = dynamic>() → void target10 = fsource10;
-  self::AconCyclicCoBound<dynamic, dynamic> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::AconCyclicCoBound<(core::Null) → dynamic, (core::Null) → dynamic> = dynamic>() → void target11 = fsource11;
-  self::AinvCyclicCoBound<dynamic, dynamic> source12;
-}
-static method testNested() → void {
-  self::B<self::Acov<dynamic, dynamic>> source1;
-  dynamic fsource1 = self::toF<dynamic>(source1);
-  <Y extends self::B<self::Acov<() → dynamic, dynamic>> = dynamic>() → void target1 = fsource1;
-  self::B<self::Acon<dynamic, dynamic>> source2;
-  dynamic fsource2 = self::toF<dynamic>(source2);
-  <Y extends self::B<self::Acon<(core::Null) → dynamic, dynamic>> = dynamic>() → void target2 = fsource2;
-  self::B<self::Ainv<dynamic, dynamic>> source3;
-  dynamic fsource3 = self::toF<dynamic>(source3);
-  <Y extends self::B<self::Ainv<(dynamic) → dynamic, dynamic>> = dynamic>() → void target3 = fsource3;
-  self::B<self::AcovBound<dynamic, dynamic>> source4;
-  dynamic fsource4 = self::toF<dynamic>(source4);
-  <Y extends self::B<self::AcovBound<() → core::num, core::num>> = dynamic>() → void target4 = fsource4;
-  self::B<self::AconBound<dynamic, dynamic>> source5;
-  dynamic fsource5 = self::toF<dynamic>(source5);
-  <Y extends self::B<self::AconBound<(core::Null) → dynamic, core::num>> = dynamic>() → void target5 = fsource5;
-  self::B<self::AinvBound<dynamic, dynamic>> source6;
-  dynamic fsource6 = self::toF<dynamic>(source6);
-  <Y extends self::B<self::AinvBound<(core::num) → core::num, core::num>> = dynamic>() → void target6 = fsource6;
-  self::B<self::AcovCyclicBound<dynamic, dynamic>> source7;
-  dynamic fsource7 = self::toF<dynamic>(source7);
-  <Y extends self::B<self::AcovCyclicBound<() → self::A<dynamic>, self::A<dynamic>>> = dynamic>() → void target7 = fsource7;
-  self::B<self::AconCyclicBound<dynamic, dynamic>> source8;
-  dynamic fsource8 = self::toF<dynamic>(source8);
-  <Y extends self::B<self::AconCyclicBound<(core::Null) → dynamic, self::A<dynamic>>> = dynamic>() → void target8 = fsource8;
-  self::B<self::AinvCyclicBound<dynamic, dynamic>> source9;
-  self::B<self::AcovCyclicCoBound<dynamic, dynamic>> source10;
-  dynamic fsource10 = self::toF<dynamic>(source10);
-  <Y extends self::B<self::AcovCyclicCoBound<() → (core::Null) → dynamic, (core::Null) → dynamic>> = dynamic>() → void target10 = fsource10;
-  self::B<self::AconCyclicCoBound<dynamic, dynamic>> source11;
-  dynamic fsource11 = self::toF<dynamic>(source11);
-  <Y extends self::B<self::AconCyclicCoBound<(core::Null) → dynamic, (core::Null) → dynamic>> = dynamic>() → void target11 = fsource11;
-  self::B<self::AinvCyclicCoBound<dynamic, dynamic>> source12;
-}
-static method main() → dynamic {
-  self::testTypeAliasAsTypeArgument();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.outline.expect
deleted file mode 100644
index 8dcbc62..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.outline.expect
+++ /dev/null
@@ -1,221 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object* = dynamic> = <Y extends X* = dynamic>() →* void;
-typedef Fcov<X extends core::Object* = dynamic> = () →* X*;
-typedef Fcon<contravariant X extends core::Object* = dynamic> = (X*) →* dynamic;
-typedef Finv<invariant X extends core::Object* = dynamic> = (X*) →* X*;
-typedef FcovBound<X extends core::num* = core::num*> = () →* X*;
-typedef FconBound<contravariant X extends core::num* = core::num*> = (X*) →* dynamic;
-typedef FinvBound<invariant X extends core::num* = core::num*> = (X*) →* X*;
-typedef FcovCyclicBound<X extends self::A<X*>* = self::A<dynamic>*> = () →* X*;
-typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<core::Null?>*> = (X*) →* dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X*>* = self::A<dynamic>*> = (X*) →* X*;
-typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (core::Null?) →* dynamic> = () →* X*;
-typedef FconCyclicCoBound<contravariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* X*;
-class Acov<X extends () →* self::Acov::Y* = () →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acov<self::Acov::X*, self::Acov::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Acon<X extends (self::Acon::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acon<self::Acon::X*, self::Acon::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ainv<X extends (self::Ainv::Y*) →* self::Ainv::Y* = (dynamic) →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ainv<self::Ainv::X*, self::Ainv::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovBound<X extends () →* self::AcovBound::Y* = () →* core::num*, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AcovBound<self::AcovBound::X*, self::AcovBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconBound<X extends (self::AconBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AconBound<self::AconBound::X*, self::AconBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvBound<X extends (self::AinvBound::Y*) →* self::AinvBound::Y* = (core::num*) →* core::num*, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AinvBound<self::AinvBound::X*, self::AinvBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovCyclicBound<X extends () →* self::AcovCyclicBound::Y* = () →* self::A<dynamic>*, Y extends self::A<self::AcovCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X*, self::AcovCyclicBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconCyclicBound<X extends (self::AconCyclicBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends self::A<self::AconCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X*, self::AconCyclicBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvCyclicBound<X extends (self::AinvCyclicBound::Y*) →* self::AinvCyclicBound::Y* = (self::A<dynamic>*) →* self::A<dynamic>*, Y extends self::A<self::AinvCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X*, self::AinvCyclicBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovCyclicCoBound<X extends () →* self::AcovCyclicCoBound::Y* = () →* (core::Null?) →* dynamic, Y extends (self::AcovCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X*, self::AcovCyclicCoBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends (self::AconCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X*, self::AconCyclicCoBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y*) →* self::AinvCyclicCoBound::Y* = ((core::Null?) →* dynamic) →* (core::Null?) →* dynamic, Y extends (self::AinvCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X*, self::AinvCyclicCoBound::Y*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method toF<X extends core::Object* = dynamic>(self::toF::X* x) → <Y extends self::toF::X* = dynamic>() →* void
-  ;
-static method testTypeAliasAsTypeArgument() → void
-  ;
-static method testNested() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.strong.expect
deleted file mode 100644
index 3f883c6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.strong.expect
+++ /dev/null
@@ -1,301 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object* = dynamic> = <Y extends X* = dynamic>() →* void;
-typedef Fcov<X extends core::Object* = dynamic> = () →* X*;
-typedef Fcon<contravariant X extends core::Object* = dynamic> = (X*) →* dynamic;
-typedef Finv<invariant X extends core::Object* = dynamic> = (X*) →* X*;
-typedef FcovBound<X extends core::num* = core::num*> = () →* X*;
-typedef FconBound<contravariant X extends core::num* = core::num*> = (X*) →* dynamic;
-typedef FinvBound<invariant X extends core::num* = core::num*> = (X*) →* X*;
-typedef FcovCyclicBound<X extends self::A<X*>* = self::A<dynamic>*> = () →* X*;
-typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<core::Null?>*> = (X*) →* dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X*>* = self::A<dynamic>*> = (X*) →* X*;
-typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (core::Null?) →* dynamic> = () →* X*;
-typedef FconCyclicCoBound<contravariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* X*;
-class Acov<X extends () →* self::Acov::Y* = () →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acov<self::Acov::X*, self::Acov::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Acon<X extends (self::Acon::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acon<self::Acon::X*, self::Acon::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ainv<X extends (self::Ainv::Y*) →* self::Ainv::Y* = (dynamic) →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ainv<self::Ainv::X*, self::Ainv::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovBound<X extends () →* self::AcovBound::Y* = () →* core::num*, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AcovBound<self::AcovBound::X*, self::AcovBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconBound<X extends (self::AconBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AconBound<self::AconBound::X*, self::AconBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvBound<X extends (self::AinvBound::Y*) →* self::AinvBound::Y* = (core::num*) →* core::num*, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AinvBound<self::AinvBound::X*, self::AinvBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovCyclicBound<X extends () →* self::AcovCyclicBound::Y* = () →* self::A<dynamic>*, Y extends self::A<self::AcovCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X*, self::AcovCyclicBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconCyclicBound<X extends (self::AconCyclicBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends self::A<self::AconCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X*, self::AconCyclicBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvCyclicBound<X extends (self::AinvCyclicBound::Y*) →* self::AinvCyclicBound::Y* = (self::A<dynamic>*) →* self::A<dynamic>*, Y extends self::A<self::AinvCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X*, self::AinvCyclicBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovCyclicCoBound<X extends () →* self::AcovCyclicCoBound::Y* = () →* (core::Null?) →* dynamic, Y extends (self::AcovCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X*, self::AcovCyclicCoBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends (self::AconCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X*, self::AconCyclicCoBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y*) →* self::AinvCyclicCoBound::Y* = ((core::Null?) →* dynamic) →* (core::Null?) →* dynamic, Y extends (self::AinvCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X*, self::AinvCyclicCoBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method toF<X extends core::Object* = dynamic>(self::toF::X* x) → <Y extends self::toF::X* = dynamic>() →* void
-  return null;
-static method testTypeAliasAsTypeArgument() → void {
-  self::Acov<() →* dynamic, dynamic>* source1;
-  <Y extends self::Acov<() →* dynamic, dynamic>* = dynamic>() →* void fsource1 = self::toF<self::Acov<() →* dynamic, dynamic>*>(source1);
-  <Y extends self::Acov<() →* dynamic, dynamic>* = dynamic>() →* void target1 = fsource1;
-  self::Acon<(core::Null?) →* dynamic, dynamic>* source2;
-  <Y extends self::Acon<(core::Null?) →* dynamic, dynamic>* = dynamic>() →* void fsource2 = self::toF<self::Acon<(core::Null?) →* dynamic, dynamic>*>(source2);
-  <Y extends self::Acon<(core::Null?) →* dynamic, dynamic>* = dynamic>() →* void target2 = fsource2;
-  self::Ainv<(dynamic) →* dynamic, dynamic>* source3;
-  <Y extends self::Ainv<(dynamic) →* dynamic, dynamic>* = dynamic>() →* void fsource3 = self::toF<self::Ainv<(dynamic) →* dynamic, dynamic>*>(source3);
-  <Y extends self::Ainv<(dynamic) →* dynamic, dynamic>* = dynamic>() →* void target3 = fsource3;
-  self::AcovBound<() →* core::num*, core::num*>* source4;
-  <Y extends self::AcovBound<() →* core::num*, core::num*>* = dynamic>() →* void fsource4 = self::toF<self::AcovBound<() →* core::num*, core::num*>*>(source4);
-  <Y extends self::AcovBound<() →* core::num*, core::num*>* = dynamic>() →* void target4 = fsource4;
-  self::AconBound<(core::Null?) →* dynamic, core::num*>* source5;
-  <Y extends self::AconBound<(core::Null?) →* dynamic, core::num*>* = dynamic>() →* void fsource5 = self::toF<self::AconBound<(core::Null?) →* dynamic, core::num*>*>(source5);
-  <Y extends self::AconBound<(core::Null?) →* dynamic, core::num*>* = dynamic>() →* void target5 = fsource5;
-  self::AinvBound<(core::num*) →* core::num*, core::num*>* source6;
-  <Y extends self::AinvBound<(core::num*) →* core::num*, core::num*>* = dynamic>() →* void fsource6 = self::toF<self::AinvBound<(core::num*) →* core::num*, core::num*>*>(source6);
-  <Y extends self::AinvBound<(core::num*) →* core::num*, core::num*>* = dynamic>() →* void target6 = fsource6;
-  self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>* source7;
-  <Y extends self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>* = dynamic>() →* void fsource7 = self::toF<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>(source7);
-  <Y extends self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>* = dynamic>() →* void target7 = fsource7;
-  self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>* source8;
-  <Y extends self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>* = dynamic>() →* void fsource8 = self::toF<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>(source8);
-  <Y extends self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>* = dynamic>() →* void target8 = fsource8;
-  self::AinvCyclicBound<(self::A<dynamic>*) →* self::A<dynamic>*, self::A<dynamic>*>* source9;
-  self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>* source10;
-  <Y extends self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>* = dynamic>() →* void fsource10 = self::toF<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>(source10);
-  <Y extends self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>* = dynamic>() →* void target10 = fsource10;
-  self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>* source11;
-  <Y extends self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>* = dynamic>() →* void fsource11 = self::toF<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>(source11);
-  <Y extends self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>* = dynamic>() →* void target11 = fsource11;
-  self::AinvCyclicCoBound<((core::Null?) →* dynamic) →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>* source12;
-}
-static method testNested() → void {
-  self::B<self::Acov<() →* dynamic, dynamic>*>* source1;
-  <Y extends self::B<self::Acov<() →* dynamic, dynamic>*>* = dynamic>() →* void fsource1 = self::toF<self::B<self::Acov<() →* dynamic, dynamic>*>*>(source1);
-  <Y extends self::B<self::Acov<() →* dynamic, dynamic>*>* = dynamic>() →* void target1 = fsource1;
-  self::B<self::Acon<(core::Null?) →* dynamic, dynamic>*>* source2;
-  <Y extends self::B<self::Acon<(core::Null?) →* dynamic, dynamic>*>* = dynamic>() →* void fsource2 = self::toF<self::B<self::Acon<(core::Null?) →* dynamic, dynamic>*>*>(source2);
-  <Y extends self::B<self::Acon<(core::Null?) →* dynamic, dynamic>*>* = dynamic>() →* void target2 = fsource2;
-  self::B<self::Ainv<(dynamic) →* dynamic, dynamic>*>* source3;
-  <Y extends self::B<self::Ainv<(dynamic) →* dynamic, dynamic>*>* = dynamic>() →* void fsource3 = self::toF<self::B<self::Ainv<(dynamic) →* dynamic, dynamic>*>*>(source3);
-  <Y extends self::B<self::Ainv<(dynamic) →* dynamic, dynamic>*>* = dynamic>() →* void target3 = fsource3;
-  self::B<self::AcovBound<() →* core::num*, core::num*>*>* source4;
-  <Y extends self::B<self::AcovBound<() →* core::num*, core::num*>*>* = dynamic>() →* void fsource4 = self::toF<self::B<self::AcovBound<() →* core::num*, core::num*>*>*>(source4);
-  <Y extends self::B<self::AcovBound<() →* core::num*, core::num*>*>* = dynamic>() →* void target4 = fsource4;
-  self::B<self::AconBound<(core::Null?) →* dynamic, core::num*>*>* source5;
-  <Y extends self::B<self::AconBound<(core::Null?) →* dynamic, core::num*>*>* = dynamic>() →* void fsource5 = self::toF<self::B<self::AconBound<(core::Null?) →* dynamic, core::num*>*>*>(source5);
-  <Y extends self::B<self::AconBound<(core::Null?) →* dynamic, core::num*>*>* = dynamic>() →* void target5 = fsource5;
-  self::B<self::AinvBound<(core::num*) →* core::num*, core::num*>*>* source6;
-  <Y extends self::B<self::AinvBound<(core::num*) →* core::num*, core::num*>*>* = dynamic>() →* void fsource6 = self::toF<self::B<self::AinvBound<(core::num*) →* core::num*, core::num*>*>*>(source6);
-  <Y extends self::B<self::AinvBound<(core::num*) →* core::num*, core::num*>*>* = dynamic>() →* void target6 = fsource6;
-  self::B<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>* source7;
-  <Y extends self::B<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>* = dynamic>() →* void fsource7 = self::toF<self::B<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>*>(source7);
-  <Y extends self::B<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>* = dynamic>() →* void target7 = fsource7;
-  self::B<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>* source8;
-  <Y extends self::B<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>* = dynamic>() →* void fsource8 = self::toF<self::B<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>*>(source8);
-  <Y extends self::B<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>* = dynamic>() →* void target8 = fsource8;
-  self::B<self::AinvCyclicBound<(self::A<dynamic>*) →* self::A<dynamic>*, self::A<dynamic>*>*>* source9;
-  self::B<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* source10;
-  <Y extends self::B<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* = dynamic>() →* void fsource10 = self::toF<self::B<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>*>(source10);
-  <Y extends self::B<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* = dynamic>() →* void target10 = fsource10;
-  self::B<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* source11;
-  <Y extends self::B<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* = dynamic>() →* void fsource11 = self::toF<self::B<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>*>(source11);
-  <Y extends self::B<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* = dynamic>() →* void target11 = fsource11;
-  self::B<self::AinvCyclicCoBound<((core::Null?) →* dynamic) →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* source12;
-}
-static method main() → dynamic {
-  self::testTypeAliasAsTypeArgument();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.strong.transformed.expect
deleted file mode 100644
index 3f883c6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.strong.transformed.expect
+++ /dev/null
@@ -1,301 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef F<invariant X extends core::Object* = dynamic> = <Y extends X* = dynamic>() →* void;
-typedef Fcov<X extends core::Object* = dynamic> = () →* X*;
-typedef Fcon<contravariant X extends core::Object* = dynamic> = (X*) →* dynamic;
-typedef Finv<invariant X extends core::Object* = dynamic> = (X*) →* X*;
-typedef FcovBound<X extends core::num* = core::num*> = () →* X*;
-typedef FconBound<contravariant X extends core::num* = core::num*> = (X*) →* dynamic;
-typedef FinvBound<invariant X extends core::num* = core::num*> = (X*) →* X*;
-typedef FcovCyclicBound<X extends self::A<X*>* = self::A<dynamic>*> = () →* X*;
-typedef FconCyclicBound<contravariant X extends self::A<X*>* = self::A<core::Null?>*> = (X*) →* dynamic;
-typedef FinvCyclicBound<invariant X extends self::A<X*>* = self::A<dynamic>*> = (X*) →* X*;
-typedef FcovCyclicCoBound<X extends (X*) →* dynamic = (core::Null?) →* dynamic> = () →* X*;
-typedef FconCyclicCoBound<contravariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* dynamic;
-typedef FinvCyclicCoBound<invariant X extends (X*) →* dynamic = (dynamic) →* dynamic> = (X*) →* X*;
-class Acov<X extends () →* self::Acov::Y* = () →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acov<self::Acov::X*, self::Acov::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Acon<X extends (self::Acon::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Acon<self::Acon::X*, self::Acon::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Ainv<X extends (self::Ainv::Y*) →* self::Ainv::Y* = (dynamic) →* dynamic, Y extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Ainv<self::Ainv::X*, self::Ainv::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovBound<X extends () →* self::AcovBound::Y* = () →* core::num*, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AcovBound<self::AcovBound::X*, self::AcovBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconBound<X extends (self::AconBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AconBound<self::AconBound::X*, self::AconBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvBound<X extends (self::AinvBound::Y*) →* self::AinvBound::Y* = (core::num*) →* core::num*, Y extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::AinvBound<self::AinvBound::X*, self::AinvBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovCyclicBound<X extends () →* self::AcovCyclicBound::Y* = () →* self::A<dynamic>*, Y extends self::A<self::AcovCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicBound<self::AcovCyclicBound::X*, self::AcovCyclicBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconCyclicBound<X extends (self::AconCyclicBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends self::A<self::AconCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AconCyclicBound<self::AconCyclicBound::X*, self::AconCyclicBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvCyclicBound<X extends (self::AinvCyclicBound::Y*) →* self::AinvCyclicBound::Y* = (self::A<dynamic>*) →* self::A<dynamic>*, Y extends self::A<self::AinvCyclicBound::Y*>* = self::A<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicBound<self::AinvCyclicBound::X*, self::AinvCyclicBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AcovCyclicCoBound<X extends () →* self::AcovCyclicCoBound::Y* = () →* (core::Null?) →* dynamic, Y extends (self::AcovCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AcovCyclicCoBound<self::AcovCyclicCoBound::X*, self::AcovCyclicCoBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AconCyclicCoBound<X extends (self::AconCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic, Y extends (self::AconCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AconCyclicCoBound<self::AconCyclicCoBound::X*, self::AconCyclicCoBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AinvCyclicCoBound<X extends (self::AinvCyclicCoBound::Y*) →* self::AinvCyclicCoBound::Y* = ((core::Null?) →* dynamic) →* (core::Null?) →* dynamic, Y extends (self::AinvCyclicCoBound::Y*) →* dynamic = (core::Null?) →* dynamic> extends core::Object {
-  synthetic constructor •() → self::AinvCyclicCoBound<self::AinvCyclicCoBound::X*, self::AinvCyclicCoBound::Y*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::B<self::B::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method toF<X extends core::Object* = dynamic>(self::toF::X* x) → <Y extends self::toF::X* = dynamic>() →* void
-  return null;
-static method testTypeAliasAsTypeArgument() → void {
-  self::Acov<() →* dynamic, dynamic>* source1;
-  <Y extends self::Acov<() →* dynamic, dynamic>* = dynamic>() →* void fsource1 = self::toF<self::Acov<() →* dynamic, dynamic>*>(source1);
-  <Y extends self::Acov<() →* dynamic, dynamic>* = dynamic>() →* void target1 = fsource1;
-  self::Acon<(core::Null?) →* dynamic, dynamic>* source2;
-  <Y extends self::Acon<(core::Null?) →* dynamic, dynamic>* = dynamic>() →* void fsource2 = self::toF<self::Acon<(core::Null?) →* dynamic, dynamic>*>(source2);
-  <Y extends self::Acon<(core::Null?) →* dynamic, dynamic>* = dynamic>() →* void target2 = fsource2;
-  self::Ainv<(dynamic) →* dynamic, dynamic>* source3;
-  <Y extends self::Ainv<(dynamic) →* dynamic, dynamic>* = dynamic>() →* void fsource3 = self::toF<self::Ainv<(dynamic) →* dynamic, dynamic>*>(source3);
-  <Y extends self::Ainv<(dynamic) →* dynamic, dynamic>* = dynamic>() →* void target3 = fsource3;
-  self::AcovBound<() →* core::num*, core::num*>* source4;
-  <Y extends self::AcovBound<() →* core::num*, core::num*>* = dynamic>() →* void fsource4 = self::toF<self::AcovBound<() →* core::num*, core::num*>*>(source4);
-  <Y extends self::AcovBound<() →* core::num*, core::num*>* = dynamic>() →* void target4 = fsource4;
-  self::AconBound<(core::Null?) →* dynamic, core::num*>* source5;
-  <Y extends self::AconBound<(core::Null?) →* dynamic, core::num*>* = dynamic>() →* void fsource5 = self::toF<self::AconBound<(core::Null?) →* dynamic, core::num*>*>(source5);
-  <Y extends self::AconBound<(core::Null?) →* dynamic, core::num*>* = dynamic>() →* void target5 = fsource5;
-  self::AinvBound<(core::num*) →* core::num*, core::num*>* source6;
-  <Y extends self::AinvBound<(core::num*) →* core::num*, core::num*>* = dynamic>() →* void fsource6 = self::toF<self::AinvBound<(core::num*) →* core::num*, core::num*>*>(source6);
-  <Y extends self::AinvBound<(core::num*) →* core::num*, core::num*>* = dynamic>() →* void target6 = fsource6;
-  self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>* source7;
-  <Y extends self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>* = dynamic>() →* void fsource7 = self::toF<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>(source7);
-  <Y extends self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>* = dynamic>() →* void target7 = fsource7;
-  self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>* source8;
-  <Y extends self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>* = dynamic>() →* void fsource8 = self::toF<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>(source8);
-  <Y extends self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>* = dynamic>() →* void target8 = fsource8;
-  self::AinvCyclicBound<(self::A<dynamic>*) →* self::A<dynamic>*, self::A<dynamic>*>* source9;
-  self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>* source10;
-  <Y extends self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>* = dynamic>() →* void fsource10 = self::toF<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>(source10);
-  <Y extends self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>* = dynamic>() →* void target10 = fsource10;
-  self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>* source11;
-  <Y extends self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>* = dynamic>() →* void fsource11 = self::toF<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>(source11);
-  <Y extends self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>* = dynamic>() →* void target11 = fsource11;
-  self::AinvCyclicCoBound<((core::Null?) →* dynamic) →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>* source12;
-}
-static method testNested() → void {
-  self::B<self::Acov<() →* dynamic, dynamic>*>* source1;
-  <Y extends self::B<self::Acov<() →* dynamic, dynamic>*>* = dynamic>() →* void fsource1 = self::toF<self::B<self::Acov<() →* dynamic, dynamic>*>*>(source1);
-  <Y extends self::B<self::Acov<() →* dynamic, dynamic>*>* = dynamic>() →* void target1 = fsource1;
-  self::B<self::Acon<(core::Null?) →* dynamic, dynamic>*>* source2;
-  <Y extends self::B<self::Acon<(core::Null?) →* dynamic, dynamic>*>* = dynamic>() →* void fsource2 = self::toF<self::B<self::Acon<(core::Null?) →* dynamic, dynamic>*>*>(source2);
-  <Y extends self::B<self::Acon<(core::Null?) →* dynamic, dynamic>*>* = dynamic>() →* void target2 = fsource2;
-  self::B<self::Ainv<(dynamic) →* dynamic, dynamic>*>* source3;
-  <Y extends self::B<self::Ainv<(dynamic) →* dynamic, dynamic>*>* = dynamic>() →* void fsource3 = self::toF<self::B<self::Ainv<(dynamic) →* dynamic, dynamic>*>*>(source3);
-  <Y extends self::B<self::Ainv<(dynamic) →* dynamic, dynamic>*>* = dynamic>() →* void target3 = fsource3;
-  self::B<self::AcovBound<() →* core::num*, core::num*>*>* source4;
-  <Y extends self::B<self::AcovBound<() →* core::num*, core::num*>*>* = dynamic>() →* void fsource4 = self::toF<self::B<self::AcovBound<() →* core::num*, core::num*>*>*>(source4);
-  <Y extends self::B<self::AcovBound<() →* core::num*, core::num*>*>* = dynamic>() →* void target4 = fsource4;
-  self::B<self::AconBound<(core::Null?) →* dynamic, core::num*>*>* source5;
-  <Y extends self::B<self::AconBound<(core::Null?) →* dynamic, core::num*>*>* = dynamic>() →* void fsource5 = self::toF<self::B<self::AconBound<(core::Null?) →* dynamic, core::num*>*>*>(source5);
-  <Y extends self::B<self::AconBound<(core::Null?) →* dynamic, core::num*>*>* = dynamic>() →* void target5 = fsource5;
-  self::B<self::AinvBound<(core::num*) →* core::num*, core::num*>*>* source6;
-  <Y extends self::B<self::AinvBound<(core::num*) →* core::num*, core::num*>*>* = dynamic>() →* void fsource6 = self::toF<self::B<self::AinvBound<(core::num*) →* core::num*, core::num*>*>*>(source6);
-  <Y extends self::B<self::AinvBound<(core::num*) →* core::num*, core::num*>*>* = dynamic>() →* void target6 = fsource6;
-  self::B<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>* source7;
-  <Y extends self::B<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>* = dynamic>() →* void fsource7 = self::toF<self::B<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>*>(source7);
-  <Y extends self::B<self::AcovCyclicBound<() →* self::A<dynamic>*, self::A<dynamic>*>*>* = dynamic>() →* void target7 = fsource7;
-  self::B<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>* source8;
-  <Y extends self::B<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>* = dynamic>() →* void fsource8 = self::toF<self::B<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>*>(source8);
-  <Y extends self::B<self::AconCyclicBound<(core::Null?) →* dynamic, self::A<dynamic>*>*>* = dynamic>() →* void target8 = fsource8;
-  self::B<self::AinvCyclicBound<(self::A<dynamic>*) →* self::A<dynamic>*, self::A<dynamic>*>*>* source9;
-  self::B<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* source10;
-  <Y extends self::B<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* = dynamic>() →* void fsource10 = self::toF<self::B<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>*>(source10);
-  <Y extends self::B<self::AcovCyclicCoBound<() →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* = dynamic>() →* void target10 = fsource10;
-  self::B<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* source11;
-  <Y extends self::B<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* = dynamic>() →* void fsource11 = self::toF<self::B<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>*>(source11);
-  <Y extends self::B<self::AconCyclicCoBound<(core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* = dynamic>() →* void target11 = fsource11;
-  self::B<self::AinvCyclicCoBound<((core::Null?) →* dynamic) →* (core::Null?) →* dynamic, (core::Null?) →* dynamic>*>* source12;
-}
-static method main() → dynamic {
-  self::testTypeAliasAsTypeArgument();
-  self::testNested();
-}
diff --git a/pkg/front_end/testcases/general/nested_variance.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/nested_variance.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/nested_variance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.hierarchy.expect
deleted file mode 100644
index 95cc6fb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Bar._x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar._x
-
-Foo:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Bar._x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Bar._x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.outline.expect
deleted file mode 100644
index 492341c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.outline.expect
+++ /dev/null
@@ -1,49 +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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
-    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} 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.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-}
-static method main() → dynamic
-  ;
-
-library;
-import self as no_;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  field core::int* _x;
-  synthetic constructor •() → no_::Bar*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz(no_::Bar* bar) → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.strong.expect
deleted file mode 100644
index 5c53040..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.strong.expect
+++ /dev/null
@@ -1,61 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
-    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} 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.{self::Foo::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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/no_such_method_private_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.strong.transformed.expect
deleted file mode 100644
index 5c53040..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.strong.transformed.expect
+++ /dev/null
@@ -1,61 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
-    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic} 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.{self::Foo::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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/no_such_method_private_setter.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..c86a630
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/no_such_method_private_setter.dart.weak.outline.expect
@@ -0,0 +1,60 @@
+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*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  no-such-method-forwarder get /* from org-dartlang-testcase:///no_such_method_private_setter_lib.dart */ _x() → core::int*
+    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} 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.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as no_;
+import "dart:core" as core;
+
+class Bar extends core::Object {
+  field core::int* _x;
+  synthetic constructor •() → no_::Bar*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method baz(no_::Bar* bar) → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method_private_setter_lib.dart:10:7 -> SymbolConstant(#_x)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_private_setter_lib.dart:10:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_private_setter_lib.dart:10:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method_private_setter_lib.dart:10:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method_private_setter_lib.dart:10:7 -> SymbolConstant(#_x=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method_private_setter_lib.dart:10:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method_private_setter_lib.dart:10:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 19, effectively constant: 7
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.hierarchy.expect
deleted file mode 100644
index 48d8eaa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.hierarchy.expect
+++ /dev/null
@@ -1,111 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.field13
-    C.getter11
-    C.getter1
-    C.method15
-    C.field1
-    C.getter15
-    C.method12
-    Object.toString
-    C.getter6
-    C.method8
-    C.field4
-    C.field12
-    C.method14
-    C.field2
-    C.method4
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.getter10
-    C.field9
-    C.getter2
-    C.method7
-    C.field15
-    C.getter7
-    C.getter14
-    C.method6
-    C.field5
-    Object._instanceOf
-    C.getter8
-    C.method13
-    C.field11
-    C.method3
-    C.method11
-    C.getter3
-    Object.noSuchMethod
-    C.getter4
-    C.method10
-    C.method9
-    C.method2
-    C.field6
-    C.field7
-    Object._identityHashCode
-    C.field14
-    C.getter13
-    C.getter12
-    Object.hashCode
-    C.field10
-    C.field3
-    C.getter9
-    Object._simpleInstanceOfFalse
-    C.getter5
-    C.method1
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.field8
-    C.method5
-  classSetters:
-    C.setter11
-    C.field13
-    C.setter1
-    C.setter15
-    C.setter8
-    C.field1
-    C.setter4
-    C.field4
-    C.field12
-    C.setter10
-    C.field2
-    C.setter7
-    C.field9
-    C.setter14
-    C.field15
-    C.setter3
-    C.field5
-    C.setter9
-    C.field11
-    C.setter6
-    C.setter13
-    C.field6
-    C.field7
-    C.setter12
-    C.field14
-    C.setter2
-    C.field10
-    C.field3
-    C.setter5
-    C.field8
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.outline.expect
deleted file mode 100644
index c0b99d7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.outline.expect
+++ /dev/null
@@ -1,125 +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*>*
-    ;
-  get getter1() → self::C::T*
-    ;
-  get getter2() → () →* self::C::T*
-    ;
-  get getter3() → (self::C::T*) →* void
-    ;
-  get getter4() → (self::C::T*) →* self::C::T*
-    ;
-  get getter5() → () →* () →* self::C::T*
-    ;
-  get getter6() → (() →* self::C::T*) →* void
-    ;
-  get getter7() → (() →* self::C::T*) →* self::C::T*
-    ;
-  get getter8() → ((self::C::T*) →* void) →* void
-    ;
-  get getter9() → ((self::C::T*) →* void) →* self::C::T*
-    ;
-  get getter10() → ((self::C::T*) →* self::C::T*) →* void
-    ;
-  get getter11() → ((self::C::T*) →* self::C::T*) →* self::C::T*
-    ;
-  get getter12() → <S extends self::C::T* = dynamic>() →* S*
-    ;
-  get getter13() → <S extends self::C::T* = dynamic>(S*) →* void
-    ;
-  get getter14() → <S extends self::C::T* = dynamic>(S*) →* S*
-    ;
-  get getter15() → (<S extends self::C::T* = dynamic>() →* S*) →* void
-    ;
-  set setter1(generic-covariant-impl self::C::T* value) → void
-    ;
-  set setter2(generic-covariant-impl () →* self::C::T* value) → void
-    ;
-  set setter3((self::C::T*) →* void value) → void
-    ;
-  set setter4(generic-covariant-impl (self::C::T*) →* self::C::T* value) → void
-    ;
-  set setter5(generic-covariant-impl () →* () →* self::C::T* value) → void
-    ;
-  set setter6((() →* self::C::T*) →* void value) → void
-    ;
-  set setter7(generic-covariant-impl (() →* self::C::T*) →* self::C::T* value) → void
-    ;
-  set setter8(generic-covariant-impl ((self::C::T*) →* void) →* void value) → void
-    ;
-  set setter9(generic-covariant-impl ((self::C::T*) →* void) →* self::C::T* value) → void
-    ;
-  set setter10(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* void value) → void
-    ;
-  set setter11(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void
-    ;
-  set setter12(generic-covariant-impl <S extends self::C::T* = dynamic>() →* S* value) → void
-    ;
-  set setter13(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* void value) → void
-    ;
-  set setter14(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* S* value) → void
-    ;
-  set setter15(generic-covariant-impl (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void
-    ;
-  method method1(generic-covariant-impl self::C::T* value) → void
-    ;
-  method method2(generic-covariant-impl () →* self::C::T* value) → void
-    ;
-  method method3((self::C::T*) →* void value) → void
-    ;
-  method method4(generic-covariant-impl (self::C::T*) →* self::C::T* value) → void
-    ;
-  method method5(generic-covariant-impl () →* () →* self::C::T* value) → void
-    ;
-  method method6((() →* self::C::T*) →* void value) → void
-    ;
-  method method7(generic-covariant-impl (() →* self::C::T*) →* self::C::T* value) → void
-    ;
-  method method8(generic-covariant-impl ((self::C::T*) →* void) →* void value) → void
-    ;
-  method method9(generic-covariant-impl ((self::C::T*) →* void) →* self::C::T* value) → void
-    ;
-  method method10(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* void value) → void
-    ;
-  method method11(generic-covariant-impl ((self::C::T*) →* self::C::T*) →* self::C::T* value) → void
-    ;
-  method method12(generic-covariant-impl <S extends self::C::T* = dynamic>() →* S* value) → void
-    ;
-  method method13(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* void value) → void
-    ;
-  method method14(generic-covariant-impl <S extends self::C::T* = dynamic>(S*) →* S* value) → void
-    ;
-  method method15(generic-covariant-impl (<S extends self::C::T* = dynamic>() →* S*) →* void value) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.strong.expect
deleted file mode 100644
index 05af068..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.strong.expect
+++ /dev/null
@@ -1,493 +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 = () → self::C::T* => field1, self::C::field3 = (self::C::T* t) → core::Null? {}, self::C::field4 = (self::C::T* t) → self::C::T* => t, self::C::field5 = () → () →* self::C::T* => () → self::C::T* => field1, self::C::field6 = (() →* self::C::T* f) → core::Null? {}, self::C::field7 = (() →* self::C::T* f) → self::C::T* => field1, self::C::field8 = ((self::C::T*) →* void f) → core::Null? {}, self::C::field9 = ((self::C::T*) →* void f) → self::C::T* => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → core::Null? {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → self::C::T* => field1, self::C::field12 = <S extends self::C::T* = self::C::T*>() → core::Null? => null, self::C::field13 = <S extends self::C::T* = self::C::T*>(S* s) → core::Null? {}, self::C::field14 = <S extends self::C::T* = self::C::T*>(S* s) → S* => s, self::C::field15 = (<S extends self::C::T* = self::C::T*>() →* S* f) → core::Null? {}, 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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::C<core::num*>* c = new self::C::•<core::int*>(0);
-  c.{self::C::field1};
-  c.{self::C::field2};
-  try {
-    c.{self::C::field3} as{TypeError,CovarianceCheck} (core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field4} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::field5};
-  try {
-    c.{self::C::field6} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field7} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::field8};
-  c.{self::C::field9};
-  try {
-    c.{self::C::field10} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field11} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field12} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field13} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field14} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field15} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::getter1};
-  c.{self::C::getter2};
-  try {
-    c.{self::C::getter3} as{TypeError,CovarianceCheck} (core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter4} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::getter5};
-  try {
-    c.{self::C::getter6} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter7} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::getter8};
-  c.{self::C::getter9};
-  try {
-    c.{self::C::getter10} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter11} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter12} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter13} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter14} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter15} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter1} = 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter2} = () → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::setter3} = (core::num* n) → core::Null? {};
-  try {
-    c.{self::C::setter4} = (core::num* n) → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter5} = () → () →* core::double* => () → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::setter6} = (() →* core::num* f) → core::Null? {};
-  try {
-    c.{self::C::setter7} = (() →* core::num* f) → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter8} = ((core::double*) →* void f) → core::Null? {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter9} = ((core::double*) →* void f) → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter10} = ((core::double*) →* core::num* f) → core::Null? {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter11} = ((core::double*) →* core::num* f) → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter12} = <S extends core::num* = core::num*>() → core::Null? => null;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter13} = <S extends core::num* = core::num*>(S* s) → core::Null? {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter14} = <S extends core::num* = core::num*>(S* s) → S* => s;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter15} = (<S extends core::num* = core::num*>() →* S* f) → core::Null? {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method1}(0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method2}(() → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::method3}((core::num* n) → core::Null? {});
-  try {
-    c.{self::C::method4}((core::num* n) → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::method6}((() →* core::num* f) → core::Null? {});
-  try {
-    c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method8}(((core::double*) →* void f) → core::Null? {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method10}(((core::double*) →* core::num* f) → core::Null? {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method12}(<S extends core::num* = core::num*>() → core::Null? => null);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method13}(<S extends core::num* = core::num*>(S* s) → core::Null? {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method14}(<S extends core::num* = core::num*>(S* s) → S* => s);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method15}((<S extends core::num* = core::num*>() →* S* f) → core::Null? {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.strong.transformed.expect
deleted file mode 100644
index 05af068..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.strong.transformed.expect
+++ /dev/null
@@ -1,493 +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 = () → self::C::T* => field1, self::C::field3 = (self::C::T* t) → core::Null? {}, self::C::field4 = (self::C::T* t) → self::C::T* => t, self::C::field5 = () → () →* self::C::T* => () → self::C::T* => field1, self::C::field6 = (() →* self::C::T* f) → core::Null? {}, self::C::field7 = (() →* self::C::T* f) → self::C::T* => field1, self::C::field8 = ((self::C::T*) →* void f) → core::Null? {}, self::C::field9 = ((self::C::T*) →* void f) → self::C::T* => field1, self::C::field10 = ((self::C::T*) →* self::C::T* f) → core::Null? {}, self::C::field11 = ((self::C::T*) →* self::C::T* f) → self::C::T* => field1, self::C::field12 = <S extends self::C::T* = self::C::T*>() → core::Null? => null, self::C::field13 = <S extends self::C::T* = self::C::T*>(S* s) → core::Null? {}, self::C::field14 = <S extends self::C::T* = self::C::T*>(S* s) → S* => s, self::C::field15 = (<S extends self::C::T* = self::C::T*>() →* S* f) → core::Null? {}, 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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::C<core::num*>* c = new self::C::•<core::int*>(0);
-  c.{self::C::field1};
-  c.{self::C::field2};
-  try {
-    c.{self::C::field3} as{TypeError,CovarianceCheck} (core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field4} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::field5};
-  try {
-    c.{self::C::field6} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field7} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::field8};
-  c.{self::C::field9};
-  try {
-    c.{self::C::field10} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field11} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field12} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field13} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field14} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::field15} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::getter1};
-  c.{self::C::getter2};
-  try {
-    c.{self::C::getter3} as{TypeError,CovarianceCheck} (core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter4} as{TypeError,CovarianceCheck} (core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::getter5};
-  try {
-    c.{self::C::getter6} as{TypeError,CovarianceCheck} (() →* core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter7} as{TypeError,CovarianceCheck} (() →* core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::getter8};
-  c.{self::C::getter9};
-  try {
-    c.{self::C::getter10} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter11} as{TypeError,CovarianceCheck} ((core::num*) →* core::num*) →* core::num*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter12} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>() →* S*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter13} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter14} as{TypeError,CovarianceCheck} <S extends core::num* = dynamic>(S*) →* S*;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::getter15} as{TypeError,CovarianceCheck} (<S extends core::num* = dynamic>() →* S*) →* void;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter1} = 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter2} = () → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::setter3} = (core::num* n) → core::Null? {};
-  try {
-    c.{self::C::setter4} = (core::num* n) → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter5} = () → () →* core::double* => () → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::setter6} = (() →* core::num* f) → core::Null? {};
-  try {
-    c.{self::C::setter7} = (() →* core::num* f) → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter8} = ((core::double*) →* void f) → core::Null? {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter9} = ((core::double*) →* void f) → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter10} = ((core::double*) →* core::num* f) → core::Null? {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter11} = ((core::double*) →* core::num* f) → core::double* => 0.5;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter12} = <S extends core::num* = core::num*>() → core::Null? => null;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter13} = <S extends core::num* = core::num*>(S* s) → core::Null? {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter14} = <S extends core::num* = core::num*>(S* s) → S* => s;
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::setter15} = (<S extends core::num* = core::num*>() →* S* f) → core::Null? {};
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method1}(0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method2}(() → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::method3}((core::num* n) → core::Null? {});
-  try {
-    c.{self::C::method4}((core::num* n) → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method5}(() → () →* core::double* => () → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  c.{self::C::method6}((() →* core::num* f) → core::Null? {});
-  try {
-    c.{self::C::method7}((() →* core::num* f) → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method8}(((core::double*) →* void f) → core::Null? {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method9}(((core::double*) →* void f) → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method10}(((core::double*) →* core::num* f) → core::Null? {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method11}(((core::double*) →* core::num* f) → core::double* => 0.5);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method12}(<S extends core::num* = core::num*>() → core::Null? => null);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method13}(<S extends core::num* = core::num*>(S* s) → core::Null? {});
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method14}(<S extends core::num* = core::num*>(S* s) → S* => s);
-    throw "TypeError expected";
-  }
-  on core::TypeError* catch(final core::TypeError* e) {
-    core::print(e);
-  }
-  try {
-    c.{self::C::method15}((<S extends core::num* = core::num*>() →* S* f) → core::Null? {});
-    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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/non_covariant_checks.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/non_covariant_checks.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.hierarchy.expect
deleted file mode 100644
index a148c36..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.field
-    Object._instanceOf
-    Foo.staticField
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.field
-    Foo.staticField
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.outline.expect
deleted file mode 100644
index 15c528d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.outline.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;
-  static field core::int* staticField;
-  synthetic constructor •() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.strong.expect
deleted file mode 100644
index 9d1625e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.strong.expect
+++ /dev/null
@@ -1,32 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  let final self::Foo* #t1 = foo in #t1.{self::Foo::==}(null) ?{core::int*} null : #t1.{self::Foo::field} = 5;
-  self::Foo::staticField = 5;
-  let final self::Foo* #t2 = foo in #t2.{self::Foo::field}.{core::num::==}(null) ?{core::int*} #t2.{self::Foo::field} = 5 : null;
-  self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 5 : null;
-  let final self::Foo* #t3 = foo in #t3.{self::Foo::==}(null) ?{core::int*} null : #t3.{self::Foo::field}.{core::num::==}(null) ?{core::int*} #t3.{self::Foo::field} = 5 : null;
-  self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 5 : null;
-  core::int* intValue = let final core::int* #t4 = foo.{self::Foo::field} in #t4.{core::num::==}(null) ?{core::int*} 6 : #t4;
-  core::num* numValue = let final core::int* #t5 = foo.{self::Foo::field} in #t5.{core::num::==}(null) ?{core::num*} 4.5 : #t5;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.strong.transformed.expect
deleted file mode 100644
index 9d1625e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.strong.transformed.expect
+++ /dev/null
@@ -1,32 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  let final self::Foo* #t1 = foo in #t1.{self::Foo::==}(null) ?{core::int*} null : #t1.{self::Foo::field} = 5;
-  self::Foo::staticField = 5;
-  let final self::Foo* #t2 = foo in #t2.{self::Foo::field}.{core::num::==}(null) ?{core::int*} #t2.{self::Foo::field} = 5 : null;
-  self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 5 : null;
-  let final self::Foo* #t3 = foo in #t3.{self::Foo::==}(null) ?{core::int*} null : #t3.{self::Foo::field}.{core::num::==}(null) ?{core::int*} #t3.{self::Foo::field} = 5 : null;
-  self::Foo::staticField.{core::num::==}(null) ?{core::int*} self::Foo::staticField = 5 : null;
-  core::int* intValue = let final core::int* #t4 = foo.{self::Foo::field} in #t4.{core::num::==}(null) ?{core::int*} 6 : #t4;
-  core::num* numValue = let final core::int* #t5 = foo.{self::Foo::field} in #t5.{core::num::==}(null) ?{core::num*} 4.5 : #t5;
-}
diff --git a/pkg/front_end/testcases/general/null_aware.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/null_aware.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/null_aware.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.outline.expect
deleted file mode 100644
index a4a4c82..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.outline.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.strong.expect
deleted file mode 100644
index 2c53a57..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.strong.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  dynamic o;
-  if(false) {
-    for (final dynamic #t1 in (let final dynamic #t2 = o in #t2.{core::Object::==}(null) ?{dynamic} null : #t2.iterable) as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-      self::Class* c = #t1 as{TypeError,ForDynamic} self::Class*;
-    }
-  }
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.strong.transformed.expect
deleted file mode 100644
index 41bcd81..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.strong.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  dynamic o;
-  if(false) {
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = ((let final dynamic #t1 = o in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.iterable) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
-        {
-          self::Class* c = #t2 as{TypeError,ForDynamic} self::Class*;
-        }
-      }
-    }
-  }
-}
diff --git a/pkg/front_end/testcases/general/null_aware_for_in.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/null_aware_for_in.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/null_aware_for_in.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.outline.expect
deleted file mode 100644
index 5d90cb1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.outline.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B* b;
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  operator +(core::int* i) → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.strong.expect
deleted file mode 100644
index 4163d6a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.strong.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(core::int* i) → self::C*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {
-  self::A* a;
-  let final self::A* #t1 = a in #t1.{self::A::==}(null) ?{self::B*} null : #t1.{self::A::b} = #t1.{self::A::b}.{self::B::+}(1);
-  self::C* c = (let final self::A* #t2 = a in #t2.{self::A::==}(null) ?{self::B*} null : let final self::B* #t3 = #t2.{self::A::b} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1) in #t3) as{TypeError} self::C*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.strong.transformed.expect
deleted file mode 100644
index 4163d6a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.strong.transformed.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(core::int* i) → self::C*
-    return null;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {
-  self::A* a;
-  let final self::A* #t1 = a in #t1.{self::A::==}(null) ?{self::B*} null : #t1.{self::A::b} = #t1.{self::A::b}.{self::B::+}(1);
-  self::C* c = (let final self::A* #t2 = a in #t2.{self::A::==}(null) ?{self::B*} null : let final self::B* #t3 = #t2.{self::A::b} in let final void #t4 = #t2.{self::A::b} = #t3.{self::B::+}(1) in #t3) as{TypeError} self::C*;
-}
diff --git a/pkg/front_end/testcases/general/null_aware_postfix.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/null_aware_postfix.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/null_aware_postfix.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.strong.expect
deleted file mode 100644
index b724b3a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.strong.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-static method nullAwareListSpread(core::List<core::String*>* list) → dynamic {
-  list = block {
-    final core::List<core::String*>* #t1 = <core::String*>[];
-    #t1.{core::List::add}("foo");
-    final core::Iterable<core::String*>* #t2 = list;
-    if(!#t2.{core::Object::==}(null))
-      for (final core::String* #t3 in #t2)
-        #t1.{core::List::add}(#t3);
-  } =>#t1;
-}
-static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
-  set = block {
-    final core::Set<core::String*>* #t4 = col::LinkedHashSet::•<core::String*>();
-    #t4.{core::Set::add}("foo");
-    final core::Iterable<core::String*>* #t5 = set;
-    if(!#t5.{core::Object::==}(null))
-      for (final core::String* #t6 in #t5)
-        #t4.{core::Set::add}(#t6);
-  } =>#t4;
-}
-static method nullAwareMapSpread(core::Map<core::int*, core::String*>* map) → dynamic {
-  map = block {
-    final core::Map<core::int*, core::String*>* #t7 = <core::int*, core::String*>{};
-    #t7.{core::Map::[]=}(0, "foo");
-    final core::Map<core::int*, core::String*>* #t8 = map;
-    if(!#t8.{core::Object::==}(null))
-      for (final core::MapEntry<core::int*, core::String*>* #t9 in #t8.{core::Map::entries})
-        #t7.{core::Map::[]=}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
-  } =>#t7;
-}
-static method main() → dynamic {
-  self::nullAwareListSpread(null);
-  self::nullAwareSetSpread(null);
-  self::nullAwareMapSpread(null);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.strong.transformed.expect
deleted file mode 100644
index d895697..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.strong.transformed.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-static method nullAwareListSpread(core::List<core::String*>* list) → dynamic {
-  list = block {
-    final core::List<core::String*>* #t1 = <core::String*>[];
-    #t1.{core::List::add}("foo");
-    final core::Iterable<core::String*>* #t2 = list;
-    if(!#t2.{core::Object::==}(null)) {
-      core::Iterator<core::String*>* :sync-for-iterator = #t2.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::String* #t3 = :sync-for-iterator.{core::Iterator::current};
-        #t1.{core::List::add}(#t3);
-      }
-    }
-  } =>#t1;
-}
-static method nullAwareSetSpread(core::Set<core::String*>* set) → dynamic {
-  set = block {
-    final core::Set<core::String*>* #t4 = col::LinkedHashSet::•<core::String*>();
-    #t4.{core::Set::add}("foo");
-    final core::Iterable<core::String*>* #t5 = set;
-    if(!#t5.{core::Object::==}(null)) {
-      core::Iterator<core::String*>* :sync-for-iterator = #t5.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::String* #t6 = :sync-for-iterator.{core::Iterator::current};
-        #t4.{core::Set::add}(#t6);
-      }
-    }
-  } =>#t4;
-}
-static method nullAwareMapSpread(core::Map<core::int*, core::String*>* map) → dynamic {
-  map = block {
-    final core::Map<core::int*, core::String*>* #t7 = <core::int*, core::String*>{};
-    #t7.{core::Map::[]=}(0, "foo");
-    final core::Map<core::int*, core::String*>* #t8 = map;
-    if(!#t8.{core::Object::==}(null)) {
-      core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = #t8.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::int*, core::String*>* #t9 = :sync-for-iterator.{core::Iterator::current};
-        #t7.{core::Map::[]=}(#t9.{core::MapEntry::key}, #t9.{core::MapEntry::value});
-      }
-    }
-  } =>#t7;
-}
-static method main() → dynamic {
-  self::nullAwareListSpread(null);
-  self::nullAwareSetSpread(null);
-  self::nullAwareMapSpread(null);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/null_aware_spread.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.outline.expect
deleted file mode 100644
index db94753..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.outline.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.strong.expect
deleted file mode 100644
index bc4da0a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.strong.expect
+++ /dev/null
@@ -1,354 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:38:10: Error: 'foo' isn't a type.
-//   print(<foo);
-//          ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:38:10: Error: Expected '>' after this.
-//   print(<foo);
-//          ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:38:13: Error: Expected '[' before this.
-//   print(<foo);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:39:9: Error: Expected an identifier, but got '>'.
-//   print(>foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:40:9: Error: Expected an identifier, but got '<='.
-//   print(<=foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:41:9: Error: Expected an identifier, but got '>='.
-//   print(>=foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:42:9: Error: Expected an identifier, but got '=='.
-//   print(==foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:43:9: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//   print(+foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:44:9: Error: Expected an identifier, but got '/'.
-//   print(/foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:45:9: Error: Expected an identifier, but got '~/'.
-//   print(~/foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:46:9: Error: Expected an identifier, but got '*'.
-//   print(*foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:47:9: Error: Expected an identifier, but got '%'.
-//   print(%foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:48:9: Error: Expected an identifier, but got '|'.
-//   print(|foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:49:9: Error: Expected an identifier, but got '^'.
-//   print(^foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:50:9: Error: Expected an identifier, but got '&'.
-//   print(&foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:51:9: Error: Expected an identifier, but got '<<'.
-//   print(<<foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:52:9: Error: Expected an identifier, but got '>>'.
-//   print(>>foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:56:13: Error: '~' isn't a binary operator.
-//   print(foo ~ 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:14:13: Error: The operator '<' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '<' operator.
-//   print(foo < 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:15:13: Error: The operator '>' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '>' operator.
-//   print(foo > 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:16:13: Error: The operator '<=' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '<=' operator.
-//   print(foo <= 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:17:13: Error: The operator '>=' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '>=' operator.
-//   print(foo >= 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:19:13: Error: The operator '-' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '-' operator.
-//   print(foo - 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:20:13: Error: The operator '+' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '+' operator.
-//   print(foo + 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:21:13: Error: The operator '/' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '/' operator.
-//   print(foo / 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:22:13: Error: The operator '~/' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '~/' operator.
-//   print(foo ~/ 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:23:13: Error: The operator '*' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '*' operator.
-//   print(foo * 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:24:13: Error: The operator '%' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '%' operator.
-//   print(foo % 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:25:13: Error: The operator '|' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '|' operator.
-//   print(foo | 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:26:13: Error: The operator '^' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '^' operator.
-//   print(foo ^ 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:27:13: Error: The operator '&' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '&' operator.
-//   print(foo & 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:28:13: Error: The operator '<<' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '<<' operator.
-//   print(foo << 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:29:13: Error: The operator '>>' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '>>' operator.
-//   print(foo >> 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:31:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '[]=' operator.
-//   print(foo[2] = 2);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:32:12: Error: The operator '[]' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '[]' operator.
-//   print(foo[2]);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:33:9: Error: The operator '~' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '~' operator.
-//   print(~foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:34:9: Error: The operator 'unary-' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a 'unary-' operator.
-//   print(-foo);
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:14:13: Error: The operator '<' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '<' operator.
-  print(foo < 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:15:13: Error: The operator '>' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '>' operator.
-  print(foo > 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:16:13: Error: The operator '<=' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '<=' operator.
-  print(foo <= 2);
-            ^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:17:13: Error: The operator '>=' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '>=' operator.
-  print(foo >= 2);
-            ^^");
-  core::print(foo.{self::Foo::==}(2));
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:19:13: Error: The operator '-' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '-' operator.
-  print(foo - 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:20:13: Error: The operator '+' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '+' operator.
-  print(foo + 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:21:13: Error: The operator '/' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '/' operator.
-  print(foo / 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:22:13: Error: The operator '~/' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '~/' operator.
-  print(foo ~/ 2);
-            ^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:23:13: Error: The operator '*' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '*' operator.
-  print(foo * 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:24:13: Error: The operator '%' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '%' operator.
-  print(foo % 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:25:13: Error: The operator '|' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '|' operator.
-  print(foo | 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:26:13: Error: The operator '^' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '^' operator.
-  print(foo ^ 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:27:13: Error: The operator '&' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '&' operator.
-  print(foo & 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:28:13: Error: The operator '<<' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '<<' operator.
-  print(foo << 2);
-            ^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:29:13: Error: The operator '>>' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '>>' operator.
-  print(foo >> 2);
-            ^^");
-  core::print(let final self::Foo* #t1 = foo in let final core::int* #t2 = 2 in let final core::int* #t3 = 2 in let final void #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:31:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '[]=' operator.
-  print(foo[2] = 2);
-           ^" in #t3);
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:32:12: Error: The operator '[]' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '[]' operator.
-  print(foo[2]);
-           ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:33:9: Error: The operator '~' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '~' operator.
-  print(~foo);
-        ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:34:9: Error: The operator 'unary-' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a 'unary-' operator.
-  print(-foo);
-        ^");
-  core::print(<invalid-type>[]);
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/operator_method_not_found.dart:42:9: Error: This couldn't be parsed.
-  print(==foo);
-        ^".{core::Object::==}(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/operator_method_not_found.dart:51:9: Error: This couldn't be parsed.
-  print(<<foo);
-        ^".<<(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:52:9: Error: This couldn't be parsed.
-  print(>>foo);
-        ^".>>(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:56:13: Error: '~' isn't a binary operator.
-  print(foo ~ 2);
-            ^");
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.strong.transformed.expect
deleted file mode 100644
index bc4da0a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.strong.transformed.expect
+++ /dev/null
@@ -1,354 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:38:10: Error: 'foo' isn't a type.
-//   print(<foo);
-//          ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:38:10: Error: Expected '>' after this.
-//   print(<foo);
-//          ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:38:13: Error: Expected '[' before this.
-//   print(<foo);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:39:9: Error: Expected an identifier, but got '>'.
-//   print(>foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:40:9: Error: Expected an identifier, but got '<='.
-//   print(<=foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:41:9: Error: Expected an identifier, but got '>='.
-//   print(>=foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:42:9: Error: Expected an identifier, but got '=='.
-//   print(==foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:43:9: Error: '+' is not a prefix operator.
-// Try removing '+'.
-//   print(+foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:44:9: Error: Expected an identifier, but got '/'.
-//   print(/foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:45:9: Error: Expected an identifier, but got '~/'.
-//   print(~/foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:46:9: Error: Expected an identifier, but got '*'.
-//   print(*foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:47:9: Error: Expected an identifier, but got '%'.
-//   print(%foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:48:9: Error: Expected an identifier, but got '|'.
-//   print(|foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:49:9: Error: Expected an identifier, but got '^'.
-//   print(^foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:50:9: Error: Expected an identifier, but got '&'.
-//   print(&foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:51:9: Error: Expected an identifier, but got '<<'.
-//   print(<<foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:52:9: Error: Expected an identifier, but got '>>'.
-//   print(>>foo);
-//         ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:56:13: Error: '~' isn't a binary operator.
-//   print(foo ~ 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:14:13: Error: The operator '<' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '<' operator.
-//   print(foo < 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:15:13: Error: The operator '>' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '>' operator.
-//   print(foo > 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:16:13: Error: The operator '<=' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '<=' operator.
-//   print(foo <= 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:17:13: Error: The operator '>=' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '>=' operator.
-//   print(foo >= 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:19:13: Error: The operator '-' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '-' operator.
-//   print(foo - 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:20:13: Error: The operator '+' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '+' operator.
-//   print(foo + 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:21:13: Error: The operator '/' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '/' operator.
-//   print(foo / 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:22:13: Error: The operator '~/' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '~/' operator.
-//   print(foo ~/ 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:23:13: Error: The operator '*' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '*' operator.
-//   print(foo * 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:24:13: Error: The operator '%' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '%' operator.
-//   print(foo % 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:25:13: Error: The operator '|' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '|' operator.
-//   print(foo | 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:26:13: Error: The operator '^' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '^' operator.
-//   print(foo ^ 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:27:13: Error: The operator '&' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '&' operator.
-//   print(foo & 2);
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:28:13: Error: The operator '<<' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '<<' operator.
-//   print(foo << 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:29:13: Error: The operator '>>' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '>>' operator.
-//   print(foo >> 2);
-//             ^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:31:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '[]=' operator.
-//   print(foo[2] = 2);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:32:12: Error: The operator '[]' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '[]' operator.
-//   print(foo[2]);
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:33:9: Error: The operator '~' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a '~' operator.
-//   print(~foo);
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:34:9: Error: The operator 'unary-' isn't defined for the class 'Foo'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-// Try correcting the operator to an existing operator, or defining a 'unary-' operator.
-//   print(-foo);
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:14:13: Error: The operator '<' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '<' operator.
-  print(foo < 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:15:13: Error: The operator '>' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '>' operator.
-  print(foo > 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:16:13: Error: The operator '<=' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '<=' operator.
-  print(foo <= 2);
-            ^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:17:13: Error: The operator '>=' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '>=' operator.
-  print(foo >= 2);
-            ^^");
-  core::print(foo.{self::Foo::==}(2));
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:19:13: Error: The operator '-' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '-' operator.
-  print(foo - 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:20:13: Error: The operator '+' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '+' operator.
-  print(foo + 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:21:13: Error: The operator '/' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '/' operator.
-  print(foo / 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:22:13: Error: The operator '~/' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '~/' operator.
-  print(foo ~/ 2);
-            ^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:23:13: Error: The operator '*' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '*' operator.
-  print(foo * 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:24:13: Error: The operator '%' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '%' operator.
-  print(foo % 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:25:13: Error: The operator '|' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '|' operator.
-  print(foo | 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:26:13: Error: The operator '^' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '^' operator.
-  print(foo ^ 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:27:13: Error: The operator '&' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '&' operator.
-  print(foo & 2);
-            ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:28:13: Error: The operator '<<' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '<<' operator.
-  print(foo << 2);
-            ^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:29:13: Error: The operator '>>' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '>>' operator.
-  print(foo >> 2);
-            ^^");
-  core::print(let final self::Foo* #t1 = foo in let final core::int* #t2 = 2 in let final core::int* #t3 = 2 in let final void #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:31:12: Error: The operator '[]=' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '[]=' operator.
-  print(foo[2] = 2);
-           ^" in #t3);
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:32:12: Error: The operator '[]' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '[]' operator.
-  print(foo[2]);
-           ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:33:9: Error: The operator '~' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a '~' operator.
-  print(~foo);
-        ^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:34:9: Error: The operator 'unary-' isn't defined for the class 'Foo'.
- - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart'.
-Try correcting the operator to an existing operator, or defining a 'unary-' operator.
-  print(-foo);
-        ^");
-  core::print(<invalid-type>[]);
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/operator_method_not_found.dart:42:9: Error: This couldn't be parsed.
-  print(==foo);
-        ^".{core::Object::==}(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/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_nnbd_opt_out/operator_method_not_found.dart:51:9: Error: This couldn't be parsed.
-  print(<<foo);
-        ^".<<(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:52:9: Error: This couldn't be parsed.
-  print(>>foo);
-        ^".>>(foo));
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart:56:13: Error: '~' isn't a binary operator.
-  print(foo ~ 2);
-            ^");
-}
diff --git a/pkg/front_end/testcases/general/operator_method_not_found.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/operator_method_not_found.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/operator_method_not_found.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.hierarchy.expect
deleted file mode 100644
index dbcbcec..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Operators:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Operators.~/
-    Operators.<=
-    Operators.<
-    Operators.[]=
-    Object.toString
-    Operators.+
-    Operators.unary-
-    Operators.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Operators./
-    Operators.|
-    Operators.<<
-    Object._instanceOf
-    Operators.%
-    Operators.>>
-    Object.noSuchMethod
-    Object._identityHashCode
-    Operators.>
-    Operators.[]
-    Object.hashCode
-    Operators.^
-    Operators.&
-    Operators.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Operators.==
-    Operators.*
-    Operators.~
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.outline.expect
deleted file mode 100644
index 5f1f6f7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.outline.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Operators extends core::Object {
-  synthetic constructor •() → self::Operators*
-    ;
-  operator +(dynamic other) → dynamic
-    ;
-  operator &(dynamic other) → dynamic
-    ;
-  operator ~() → dynamic
-    ;
-  operator |(dynamic other) → dynamic
-    ;
-  operator ^(dynamic other) → dynamic
-    ;
-  operator /(dynamic other) → dynamic
-    ;
-  operator ==(dynamic other) → core::bool*
-    ;
-  operator >(dynamic other) → dynamic
-    ;
-  operator >=(dynamic other) → dynamic
-    ;
-  operator [](dynamic index) → dynamic
-    ;
-  operator []=(dynamic index, dynamic value) → void
-    ;
-  operator <<(dynamic other) → dynamic
-    ;
-  operator <(dynamic other) → dynamic
-    ;
-  operator <=(dynamic other) → dynamic
-    ;
-  operator *(dynamic other) → dynamic
-    ;
-  operator %(dynamic other) → dynamic
-    ;
-  operator >>(dynamic other) → dynamic
-    ;
-  operator -(dynamic other) → dynamic
-    ;
-  operator ~/(dynamic other) → dynamic
-    ;
-  operator unary-() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main(dynamic arguments) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.strong.expect
deleted file mode 100644
index e3c3482..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.strong.expect
+++ /dev/null
@@ -1,81 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main(dynamic arguments) → dynamic {
-  self::Operators* a = new self::Operators::•();
-  self::Operators* b = new self::Operators::•();
-  a.{self::Operators::+}(b);
-  a.{self::Operators::&}(b);
-  a.{self::Operators::~}();
-  a.{self::Operators::|}(b);
-  a.{self::Operators::^}(b);
-  a.{self::Operators::/}(b);
-  a.{self::Operators::==}(b);
-  a.{self::Operators::>}(b);
-  a.{self::Operators::>=}(b);
-  a.{self::Operators::[]}(0);
-  a.{self::Operators::[]=}(0, b);
-  a.{self::Operators::<<}(b);
-  a.{self::Operators::<}(b);
-  a.{self::Operators::<=}(b);
-  a.{self::Operators::*}(b);
-  a.{self::Operators::%}(b);
-  a.{self::Operators::>>}(b);
-  a.{self::Operators::-}(b);
-  a.{self::Operators::~/}(b);
-  a.{self::Operators::unary-}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.strong.transformed.expect
deleted file mode 100644
index e3c3482..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.strong.transformed.expect
+++ /dev/null
@@ -1,81 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main(dynamic arguments) → dynamic {
-  self::Operators* a = new self::Operators::•();
-  self::Operators* b = new self::Operators::•();
-  a.{self::Operators::+}(b);
-  a.{self::Operators::&}(b);
-  a.{self::Operators::~}();
-  a.{self::Operators::|}(b);
-  a.{self::Operators::^}(b);
-  a.{self::Operators::/}(b);
-  a.{self::Operators::==}(b);
-  a.{self::Operators::>}(b);
-  a.{self::Operators::>=}(b);
-  a.{self::Operators::[]}(0);
-  a.{self::Operators::[]=}(0, b);
-  a.{self::Operators::<<}(b);
-  a.{self::Operators::<}(b);
-  a.{self::Operators::<=}(b);
-  a.{self::Operators::*}(b);
-  a.{self::Operators::%}(b);
-  a.{self::Operators::>>}(b);
-  a.{self::Operators::-}(b);
-  a.{self::Operators::~/}(b);
-  a.{self::Operators::unary-}();
-}
diff --git a/pkg/front_end/testcases/general/operators.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/operators.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/operators.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.hierarchy.expect
deleted file mode 100644
index 7cc8746..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.hierarchy.expect
+++ /dev/null
@@ -1,130 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-External:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    External.externalMethod
-    External.listen
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Listener:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Listener.event
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-TestListener:
-  superclasses:
-    Object
-      -> Listener
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    TestListener.event
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ExtendedListener:
-  superclasses:
-    Object
-      -> Listener
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    ExtendedListener.event
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-InvalidListener:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    InvalidListener.event
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.outline.expect
deleted file mode 100644
index fc765ff..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.outline.expect
+++ /dev/null
@@ -1,82 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    ;
-  method method(dynamic x, [dynamic y, dynamic z]) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class External extends core::Object {
-  synthetic constructor •() → self::External*
-    ;
-  abstract method externalMethod(core::int* x, [core::int* y, core::int* z]) → core::String*;
-  abstract method listen(self::Listener* listener) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Listener extends core::Object {
-  synthetic constructor •() → self::Listener*
-    ;
-  abstract method event(core::String* input, [core::int* x, core::int* y]) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class TestListener extends self::Listener {
-  synthetic constructor •() → self::TestListener*
-    ;
-  method event(core::String* input, [core::int* x, core::int* y]) → void
-    ;
-}
-class ExtendedListener extends self::Listener {
-  synthetic constructor •() → self::ExtendedListener*
-    ;
-  method event(core::String* input, [core::int* x, core::int* y, dynamic z]) → void
-    ;
-}
-class InvalidListener extends core::Object {
-  synthetic constructor •() → self::InvalidListener*
-    ;
-  method event(dynamic input, [dynamic x]) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-external static abstract method createExternal() → self::External*;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.strong.expect
deleted file mode 100644
index 6e7a5a8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.strong.expect
+++ /dev/null
@@ -1,146 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:49:21: Error: The argument type 'InvalidListener' can't be assigned to the parameter type 'Listener'.
-//  - 'InvalidListener' is from 'pkg/front_end/testcases/general_nnbd_opt_out/optional.dart'.
-//  - 'Listener' is from 'pkg/front_end/testcases/general_nnbd_opt_out/optional.dart'.
-//   extern.listen(new InvalidListener());
-//                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:51:28: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing1 = foo.method();
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:52:28: Error: Too many positional arguments: 3 allowed, but 4 found.
-// Try removing the extra positional arguments.
-//   var nothing2 = foo.method(1, 2, 3, 4);
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:53:39: Error: Too few positional arguments: 1 required, 0 given.
-//   var nothing3 = extern.externalMethod();
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:54:39: Error: Too many positional arguments: 3 allowed, but 4 found.
-// Try removing the extra positional arguments.
-//   var nothing4 = extern.externalMethod(1, 2, 3, 4);
-//                                       ^
-//
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  method method(dynamic x, [dynamic y = #C1, dynamic z = #C1]) → dynamic {
-    return "string";
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class External extends core::Object {
-  synthetic constructor •() → self::External*
-    : super core::Object::•()
-    ;
-  abstract method externalMethod(core::int* x, [core::int* y = #C1, core::int* z = #C1]) → core::String*;
-  abstract method listen(self::Listener* listener) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Listener extends core::Object {
-  synthetic constructor •() → self::Listener*
-    : super core::Object::•()
-    ;
-  abstract method event(core::String* input, [core::int* x = #C1, core::int* y = #C1]) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class TestListener extends self::Listener {
-  synthetic constructor •() → self::TestListener*
-    : super self::Listener::•()
-    ;
-  method event(core::String* input, [core::int* x = #C1, core::int* y = #C1]) → void {}
-}
-class ExtendedListener extends self::Listener {
-  synthetic constructor •() → self::ExtendedListener*
-    : super self::Listener::•()
-    ;
-  method event(core::String* input, [core::int* x = #C1, core::int* y = #C1, dynamic z = #C1]) → void {}
-}
-class InvalidListener extends core::Object {
-  synthetic constructor •() → self::InvalidListener*
-    : super core::Object::•()
-    ;
-  method event(dynamic input, [dynamic x = #C1]) → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-external static abstract method createExternal() → self::External*;
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  dynamic string1 = foo.{self::Foo::method}(1);
-  dynamic string2 = foo.{self::Foo::method}(1, 2);
-  dynamic string3 = foo.{self::Foo::method}(1, 2, 3);
-  self::External* extern = self::createExternal();
-  core::String* string4 = extern.{self::External::externalMethod}(1);
-  core::String* string5 = extern.{self::External::externalMethod}(1, 2);
-  core::String* string6 = extern.{self::External::externalMethod}(1, 2, 3);
-  extern.{self::External::listen}(new self::TestListener::•());
-  extern.{self::External::listen}(new self::ExtendedListener::•());
-  extern.{self::External::listen}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:49:21: Error: The argument type 'InvalidListener' can't be assigned to the parameter type 'Listener'.
- - 'InvalidListener' is from 'pkg/front_end/testcases/general_nnbd_opt_out/optional.dart'.
- - 'Listener' is from 'pkg/front_end/testcases/general_nnbd_opt_out/optional.dart'.
-  extern.listen(new InvalidListener());
-                    ^" in new self::InvalidListener::•() as{TypeError} self::Listener*);
-  invalid-type nothing1 = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:51:28: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing1 = foo.method();
-                           ^" in foo.{self::Foo::method}();
-  invalid-type nothing2 = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:52:28: Error: Too many positional arguments: 3 allowed, but 4 found.
-Try removing the extra positional arguments.
-  var nothing2 = foo.method(1, 2, 3, 4);
-                           ^" in foo.{self::Foo::method}(1, 2, 3, 4);
-  invalid-type nothing3 = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:53:39: Error: Too few positional arguments: 1 required, 0 given.
-  var nothing3 = extern.externalMethod();
-                                      ^" in extern.{self::External::externalMethod}();
-  invalid-type nothing4 = let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/optional.dart:54:39: Error: Too many positional arguments: 3 allowed, but 4 found.
-Try removing the extra positional arguments.
-  var nothing4 = extern.externalMethod(1, 2, 3, 4);
-                                      ^" in extern.{self::External::externalMethod}(1, 2, 3, 4);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/optional.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/optional.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/optional.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.hierarchy.expect
deleted file mode 100644
index 94de712..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.hierarchy.expect
+++ /dev/null
@@ -1,91 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-      -> Foo
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Sub:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Sub.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.outline.expect
deleted file mode 100644
index b07a2bd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.outline.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends self::Foo {
-  synthetic constructor •() → self::Bar*
-    ;
-}
-class Base extends core::Object {
-  synthetic constructor •() → self::Base*
-    ;
-  method method() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Sub extends self::Base {
-  synthetic constructor •() → self::Sub*
-    ;
-  method method() → self::Foo*
-    ;
-}
-static method main(core::List<core::String*>* args) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.strong.expect
deleted file mode 100644
index ad702b5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.strong.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•();
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {
-  self::Base* object = args.{core::List::length}.{core::num::==}(0) ?{self::Base*} new self::Base::•() : new self::Sub::•();
-  self::Foo* a = object.{self::Base::method}();
-  core::print(a);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.strong.transformed.expect
deleted file mode 100644
index ad702b5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.strong.transformed.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•();
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {
-  self::Base* object = args.{core::List::length}.{core::num::==}(0) ?{self::Base*} new self::Base::•() : new self::Sub::•();
-  self::Foo* a = object.{self::Base::method}();
-  core::print(a);
-}
diff --git a/pkg/front_end/testcases/general/override.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/override.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/override.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.hierarchy.expect
deleted file mode 100644
index 4329ec3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,135 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-
-E:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    E.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
-
-F:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    F.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    F.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.outline.expect
deleted file mode 100644
index 88bc141..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.outline.expect
+++ /dev/null
@@ -1,89 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:28:9: Error: The return type of the method 'F.y' is 'A', which does not match the return type, 'B', of the overridden method, 'D.y'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
-// Change to a subtype of 'B'.
-//   A get y => null;
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:18:7: Context: This is the overridden method ('y').
-//   get y => null; // Inferred type: B
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:27:16: Error: The parameter 'value' of the method 'F.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.x'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void set x(B value) {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:17:12: Context: This is the overridden method ('x').
-//   void set x(value) {} // Inferred type: A
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  set x(self::A* value) → void
-    ;
-  get y() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  set x(self::A* value) → void
-    ;
-  get y() → self::B*
-    ;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    ;
-  set x(self::A* value) → void
-    ;
-  get y() → self::B*
-    ;
-}
-class F extends self::D {
-  synthetic constructor •() → self::F*
-    ;
-  set x(self::B* value) → void
-    ;
-  get y() → self::A*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.strong.expect
deleted file mode 100644
index a60dabf..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.strong.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:28:9: Error: The return type of the method 'F.y' is 'A', which does not match the return type, 'B', of the overridden method, 'D.y'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
-// Change to a subtype of 'B'.
-//   A get y => null;
-//         ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:18:7: Context: This is the overridden method ('y').
-//   get y => null; // Inferred type: B
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:27:16: Error: The parameter 'value' of the method 'F.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.x'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void set x(B value) {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:17:12: Context: This is the overridden method ('x').
-//   void set x(value) {} // Inferred type: A
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_check_accessor_after_inference.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.weak.outline.expect
new file mode 100644
index 0000000..609ae29
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart.weak.outline.expect
@@ -0,0 +1,89 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:28:9: Error: The return type of the method 'F.y' is 'A', which does not match the return type, 'B', of the overridden method, 'D.y'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
+// Change to a subtype of 'B'.
+//   A get y => null;
+//         ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:18:7: Context: This is the overridden method ('y').
+//   get y => null; // Inferred type: B
+//       ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:27:16: Error: The parameter 'value' of the method 'F.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.x'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void set x(B value) {}
+//                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_after_inference.dart:17:12: Context: This is the overridden method ('x').
+//   void set x(value) {} // Inferred type: A
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  set x(self::A* value) → void
+    ;
+  get y() → self::B*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends self::C {
+  synthetic constructor •() → self::D*
+    ;
+  set x(self::A* value) → void
+    ;
+  get y() → self::B*
+    ;
+}
+class E extends self::D {
+  synthetic constructor •() → self::E*
+    ;
+  set x(self::A* value) → void
+    ;
+  get y() → self::B*
+    ;
+}
+class F extends self::D {
+  synthetic constructor •() → self::F*
+    ;
+  set x(self::B* value) → void
+    ;
+  get y() → self::A*
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.hierarchy.expect
deleted file mode 100644
index 44256be..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.hierarchy.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-
-E:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    E.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.outline.expect
deleted file mode 100644
index 68803c3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.outline.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:23:14: Error: The return type of the method 'E.y' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.y'.
-//  - 'Object' is from 'dart:core'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
-// Change to a subtype of 'A'.
-//   Object get y => null;
-//              ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:13:9: Context: This is the overridden method ('y').
-//   A get y => null;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:22:16: Error: The parameter 'value' of the method 'E.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void set x(B value) {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:12:12: Context: This is the overridden method ('x').
-//   void set x(A value) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  set x(self::A* value) → void
-    ;
-  get y() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  set x(core::Object* value) → void
-    ;
-  get y() → self::B*
-    ;
-}
-class E extends self::C {
-  synthetic constructor •() → self::E*
-    ;
-  set x(self::B* value) → void
-    ;
-  get y() → core::Object*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.strong.expect
deleted file mode 100644
index fed52f1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.strong.expect
+++ /dev/null
@@ -1,82 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:23:14: Error: The return type of the method 'E.y' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.y'.
-//  - 'Object' is from 'dart:core'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
-// Change to a subtype of 'A'.
-//   Object get y => null;
-//              ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:13:9: Context: This is the overridden method ('y').
-//   A get y => null;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:22:16: Error: The parameter 'value' of the method 'E.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void set x(B value) {}
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:12:12: Context: This is the overridden method ('x').
-//   void set x(A value) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_check_accessor_basic.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.weak.outline.expect
new file mode 100644
index 0000000..b6b6656
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart.weak.outline.expect
@@ -0,0 +1,81 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:23:14: Error: The return type of the method 'E.y' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.y'.
+//  - 'Object' is from 'dart:core'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
+// Change to a subtype of 'A'.
+//   Object get y => null;
+//              ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:13:9: Context: This is the overridden method ('y').
+//   A get y => null;
+//         ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:22:16: Error: The parameter 'value' of the method 'E.x' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void set x(B value) {}
+//                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_basic.dart:12:12: Context: This is the overridden method ('x').
+//   void set x(A value) {}
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  set x(self::A* value) → void
+    ;
+  get y() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends self::C {
+  synthetic constructor •() → self::D*
+    ;
+  set x(core::Object* value) → void
+    ;
+  get y() → self::B*
+    ;
+}
+class E extends self::C {
+  synthetic constructor •() → self::E*
+    ;
+  set x(self::B* value) → void
+    ;
+  get y() → core::Object*
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.hierarchy.expect
deleted file mode 100644
index 354b6fb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x4
-    C.x6
-    C.x3
-    C.x2
-    C.x5
-    C.x1
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x4
-    D.x6
-    D.x3
-    D.x2
-    D.x5
-    D.x1
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.outline.expect
deleted file mode 100644
index 1f8ca47..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.outline.expect
+++ /dev/null
@@ -1,88 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:24:17: Error: The parameter 'value' of the method 'D.x4' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x4'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void set x4(B value) {} // Not covariant
-//                 ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:15:12: Context: This is the overridden method ('x4').
-//   void set x4(A value) {}
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:25:32: Error: The parameter 'value' of the method 'D.x5' has type 'String', which does not match the corresponding type, 'A', in the overridden method, 'C.x5'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void set x5(covariant String value) {}
-//                                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:16:12: Context: This is the overridden method ('x5').
-//   void set x5(covariant A value) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  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
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  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_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.strong.expect
deleted file mode 100644
index a71240c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.strong.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:24:17: Error: The parameter 'value' of the method 'D.x4' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x4'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void set x4(B value) {} // Not covariant
-//                 ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:15:12: Context: This is the overridden method ('x4').
-//   void set x4(A value) {}
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:25:32: Error: The parameter 'value' of the method 'D.x5' has type 'String', which does not match the corresponding type, 'A', in the overridden method, 'C.x5'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void set x5(covariant String value) {}
-//                                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:16:12: Context: This is the overridden method ('x5').
-//   void set x5(covariant A value) {}
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.weak.outline.expect
new file mode 100644
index 0000000..71b6124
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart.weak.outline.expect
@@ -0,0 +1,88 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:24:17: Error: The parameter 'value' of the method 'D.x4' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.x4'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void set x4(B value) {} // Not covariant
+//                 ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:15:12: Context: This is the overridden method ('x4').
+//   void set x4(A value) {}
+//            ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:25:32: Error: The parameter 'value' of the method 'D.x5' has type 'String', which does not match the corresponding type, 'A', in the overridden method, 'C.x5'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void set x5(covariant String value) {}
+//                                ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_accessor_with_covariant_modifier.dart:16:12: Context: This is the overridden method ('x5').
+//   void set x5(covariant A value) {}
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  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
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends self::C {
+  synthetic constructor •() → self::D*
+    ;
+  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_nnbd_opt_out/override_check_after_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.hierarchy.expect
deleted file mode 100644
index 41e4732..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,131 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    E.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    F.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.outline.expect
deleted file mode 100644
index caa3480..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.outline.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart:24:12: Error: The parameter 'x' of the method 'F.f' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.f'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f(B x) {}
-//            ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart:16:8: Context: This is the overridden method ('f').
-//   void f(x) {} // Inferred type: (A) -> void
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method f(self::A* x) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  method f(self::A* x) → void
-    ;
-}
-class E extends self::D {
-  synthetic constructor •() → self::E*
-    ;
-  method f(self::A* x) → void
-    ;
-}
-class F extends self::D {
-  synthetic constructor •() → self::F*
-    ;
-  method f(self::B* x) → void
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.strong.expect
deleted file mode 100644
index 0164382..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.strong.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart:24:12: Error: The parameter 'x' of the method 'F.f' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.f'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f(B x) {}
-//            ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart:16:8: Context: This is the overridden method ('f').
-//   void f(x) {} // Inferred type: (A) -> void
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_check_after_inference.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.weak.outline.expect
new file mode 100644
index 0000000..d43aca5
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart.weak.outline.expect
@@ -0,0 +1,71 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart:24:12: Error: The parameter 'x' of the method 'F.f' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'D.f'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void f(B x) {}
+//            ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_after_inference.dart:16:8: Context: This is the overridden method ('f').
+//   void f(x) {} // Inferred type: (A) -> void
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  method f(self::A* x) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends self::C {
+  synthetic constructor •() → self::D*
+    ;
+  method f(self::A* x) → void
+    ;
+}
+class E extends self::D {
+  synthetic constructor •() → self::E*
+    ;
+  method f(self::A* x) → void
+    ;
+}
+class F extends self::D {
+  synthetic constructor •() → self::F*
+    ;
+  method f(self::B* x) → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.hierarchy.expect
deleted file mode 100644
index 95f961a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.hierarchy.expect
+++ /dev/null
@@ -1,119 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f3
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    D.f3
-    D.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.f2
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    E.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    E.f3
-    E.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    E.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.outline.expect
deleted file mode 100644
index b574041..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.outline.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:26:13: Error: The parameter 'x' of the method 'E.f1' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f1'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f1(B x) {}
-//             ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:12:8: Context: This is the overridden method ('f1').
-//   void f1(A x) {}
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:27:14: Error: The parameter 'x' of the method 'E.f2' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f2'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f2([B x]) {}
-//              ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:13:8: Context: This is the overridden method ('f2').
-//   void f2([A x]) {}
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:28:14: Error: The parameter 'x' of the method 'E.f3' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f3'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f3({B x}) {}
-//              ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:14:8: Context: This is the overridden method ('f3').
-//   void f3({A x}) {}
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:29:10: Error: The return type of the method 'E.f4' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.f4'.
-//  - 'Object' is from 'dart:core'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-// Change to a subtype of 'A'.
-//   Object f4() {}
-//          ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:15:5: Context: This is the overridden method ('f4').
-//   A f4() {}
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method f1(self::A* x) → void
-    ;
-  method f2([self::A* x]) → void
-    ;
-  method f3({self::A* x}) → void
-    ;
-  method f4() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  method f1(core::Object* x) → void
-    ;
-  method f2([core::Object* x]) → void
-    ;
-  method f3({core::Object* x}) → void
-    ;
-  method f4() → self::B*
-    ;
-}
-class E extends self::C {
-  synthetic constructor •() → self::E*
-    ;
-  method f1(self::B* x) → void
-    ;
-  method f2([self::B* x]) → void
-    ;
-  method f3({self::B* x}) → void
-    ;
-  method f4() → core::Object*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.strong.expect
deleted file mode 100644
index 1ff4008..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.strong.expect
+++ /dev/null
@@ -1,109 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:26:13: Error: The parameter 'x' of the method 'E.f1' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f1'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f1(B x) {}
-//             ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:12:8: Context: This is the overridden method ('f1').
-//   void f1(A x) {}
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:27:14: Error: The parameter 'x' of the method 'E.f2' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f2'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f2([B x]) {}
-//              ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:13:8: Context: This is the overridden method ('f2').
-//   void f2([A x]) {}
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:28:14: Error: The parameter 'x' of the method 'E.f3' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f3'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f3({B x}) {}
-//              ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:14:8: Context: This is the overridden method ('f3').
-//   void f3({A x}) {}
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:29:10: Error: The return type of the method 'E.f4' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.f4'.
-//  - 'Object' is from 'dart:core'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
-// Change to a subtype of 'A'.
-//   Object f4() {}
-//          ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:15:5: Context: This is the overridden method ('f4').
-//   A f4() {}
-//     ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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* {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_check_basic.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.weak.outline.expect
new file mode 100644
index 0000000..026643a
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart.weak.outline.expect
@@ -0,0 +1,113 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:26:13: Error: The parameter 'x' of the method 'E.f1' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f1'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void f1(B x) {}
+//             ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:12:8: Context: This is the overridden method ('f1').
+//   void f1(A x) {}
+//        ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:27:14: Error: The parameter 'x' of the method 'E.f2' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f2'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void f2([B x]) {}
+//              ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:13:8: Context: This is the overridden method ('f2').
+//   void f2([A x]) {}
+//        ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:28:14: Error: The parameter 'x' of the method 'E.f3' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f3'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void f3({B x}) {}
+//              ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:14:8: Context: This is the overridden method ('f3').
+//   void f3({A x}) {}
+//        ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:29:10: Error: The return type of the method 'E.f4' is 'Object', which does not match the return type, 'A', of the overridden method, 'C.f4'.
+//  - 'Object' is from 'dart:core'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart'.
+// Change to a subtype of 'A'.
+//   Object f4() {}
+//          ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_basic.dart:15:5: Context: This is the overridden method ('f4').
+//   A f4() {}
+//     ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  method f1(self::A* x) → void
+    ;
+  method f2([self::A* x]) → void
+    ;
+  method f3({self::A* x}) → void
+    ;
+  method f4() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends self::C {
+  synthetic constructor •() → self::D*
+    ;
+  method f1(core::Object* x) → void
+    ;
+  method f2([core::Object* x]) → void
+    ;
+  method f3({core::Object* x}) → void
+    ;
+  method f4() → self::B*
+    ;
+}
+class E extends self::C {
+  synthetic constructor •() → self::E*
+    ;
+  method f1(self::B* x) → void
+    ;
+  method f2([self::B* x]) → void
+    ;
+  method f3({self::B* x}) → void
+    ;
+  method f4() → core::Object*
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.hierarchy.expect
deleted file mode 100644
index d53d249..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.hierarchy.expect
+++ /dev/null
@@ -1,86 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Bar.fisk
-  classSetters:
-
-Hest:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Hest.fisk
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Hest.fisk
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.outline.expect
deleted file mode 100644
index 1f089e9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.outline.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends self::Foo<self::Foo::T*>* = self::Foo<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    ;
-  abstract method fisk<S extends self::Foo<self::Bar::fisk::S*>* = self::Foo<dynamic>*>() → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Hest extends core::Object implements self::Bar {
-  synthetic constructor •() → self::Hest*
-    ;
-  @core::override
-  method fisk<U extends self::Foo<self::Hest::fisk::U*>* = self::Foo<dynamic>*>() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.strong.expect
deleted file mode 100644
index e856790..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.strong.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends self::Foo<self::Foo::T*>* = self::Foo<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract method fisk<S extends self::Foo<self::Bar::fisk::S*>* = self::Foo<dynamic>*>() → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>* = self::Foo<dynamic>*>() → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.strong.transformed.expect
deleted file mode 100644
index e856790..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.strong.transformed.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo<T extends self::Foo<self::Foo::T*>* = self::Foo<dynamic>*> extends core::Object {
-  synthetic constructor •() → self::Foo<self::Foo::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Bar extends core::Object {
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract method fisk<S extends self::Foo<self::Bar::fisk::S*>* = self::Foo<dynamic>*>() → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>* = self::Foo<dynamic>*>() → void {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = core::_Override {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.weak.outline.expect
new file mode 100644
index 0000000..ec5db7f
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_generic_method_f_bounded.dart.weak.outline.expect
@@ -0,0 +1,57 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Foo<T extends self::Foo<self::Foo::T*>* = self::Foo<dynamic>*> extends core::Object {
+  synthetic constructor •() → self::Foo<self::Foo::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Bar extends core::Object {
+  synthetic constructor •() → self::Bar*
+    ;
+  abstract method fisk<S extends self::Foo<self::Bar::fisk::S*>* = self::Foo<dynamic>*>() → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Hest extends core::Object implements self::Bar {
+  synthetic constructor •() → self::Hest*
+    ;
+  @core::override
+  method fisk<U extends self::Foo<self::Hest::fisk::U*>* = self::Foo<dynamic>*>() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///override_check_generic_method_f_bounded.dart:17:4 -> InstanceConstant(const _Override{})
+Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.hierarchy.expect
deleted file mode 100644
index 5f6f0b2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<String>
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.outline.expect
deleted file mode 100644
index 7889af0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.outline.expect
+++ /dev/null
@@ -1,28 +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*>*
-    ;
-  method f<U extends core::Object* = dynamic>(generic-covariant-impl core::Map<self::A::T*, self::A::f::U*>* m) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A<core::String*> {
-  synthetic constructor •() → self::B*
-    ;
-  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_nnbd_opt_out/override_check_two_substitutions.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.strong.expect
deleted file mode 100644
index 5175275..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.strong.expect
+++ /dev/null
@@ -1,27 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_check_two_substitutions.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.strong.transformed.expect
deleted file mode 100644
index 5175275..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.strong.transformed.expect
+++ /dev/null
@@ -1,27 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/override_check_two_substitutions.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/override_check_two_substitutions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.hierarchy.expect
deleted file mode 100644
index c4eb6f1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f6
-    Object.toString
-    C.f5
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f3
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.f6
-    Object.toString
-    D.f5
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    D.f3
-    D.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.outline.expect
deleted file mode 100644
index c11a6db..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.outline.expect
+++ /dev/null
@@ -1,88 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:24:13: Error: The parameter 'x' of the method 'D.f4' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f4'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f4(B x) {} // Not covariant
-//             ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:15:8: Context: This is the overridden method ('f4').
-//   void f4(A x) {}
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:25:28: Error: The parameter 'x' of the method 'D.f5' has type 'String', which does not match the corresponding type, 'A', in the overridden method, 'C.f5'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f5(covariant String x) {}
-//                            ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:16:8: Context: This is the overridden method ('f5').
-//   void f5(covariant A x) {}
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  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
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  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_nnbd_opt_out/override_check_with_covariant_modifier.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.strong.expect
deleted file mode 100644
index a699a83..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.strong.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:24:13: Error: The parameter 'x' of the method 'D.f4' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f4'.
-//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f4(B x) {} // Not covariant
-//             ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:15:8: Context: This is the overridden method ('f4').
-//   void f4(A x) {}
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:25:28: Error: The parameter 'x' of the method 'D.f5' has type 'String', which does not match the corresponding type, 'A', in the overridden method, 'C.f5'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
-// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
-//   void f5(covariant String x) {}
-//                            ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:16:8: Context: This is the overridden method ('f5').
-//   void f5(covariant A x) {}
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_check_with_covariant_modifier.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.weak.outline.expect
new file mode 100644
index 0000000..5de4285
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart.weak.outline.expect
@@ -0,0 +1,88 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:24:13: Error: The parameter 'x' of the method 'D.f4' has type 'B', which does not match the corresponding type, 'A', in the overridden method, 'C.f4'.
+//  - 'B' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void f4(B x) {} // Not covariant
+//             ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:15:8: Context: This is the overridden method ('f4').
+//   void f4(A x) {}
+//        ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:25:28: Error: The parameter 'x' of the method 'D.f5' has type 'String', which does not match the corresponding type, 'A', in the overridden method, 'C.f5'.
+//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart'.
+// Change to a supertype of 'A', or, for a covariant parameter, a subtype.
+//   void f5(covariant String x) {}
+//                            ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_check_with_covariant_modifier.dart:16:8: Context: This is the overridden method ('f5').
+//   void f5(covariant A x) {}
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+}
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  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
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends self::C {
+  synthetic constructor •() → self::D*
+    ;
+  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_nnbd_opt_out/override_inference_for_setters.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.hierarchy.expect
deleted file mode 100644
index b1e3c8a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.foo
-
-A:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.outline.expect
deleted file mode 100644
index 0e42fd6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  get foo() → core::num*
-    ;
-  set foo(dynamic newFoo) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class A extends self::B {
-  synthetic constructor •() → self::A*
-    ;
-  set foo(dynamic newFoo) → void
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.strong.expect
deleted file mode 100644
index a029b39..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.strong.expect
+++ /dev/null
@@ -1,29 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_inference_for_setters.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.strong.transformed.expect
deleted file mode 100644
index a029b39..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.strong.transformed.expect
+++ /dev/null
@@ -1,29 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/override_inference_for_setters.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/override_inference_for_setters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.hierarchy.expect
deleted file mode 100644
index 9fb9b41..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.hierarchy.expect
+++ /dev/null
@@ -1,133 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B1:
-  superclasses:
-    Object
-      -> A1
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-      -> A1
-        -> B1
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.outline.expect
deleted file mode 100644
index 6633e9b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.outline.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  method foo({core::bool* c = true, core::bool* a}) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  method foo({core::bool* c = true, core::bool* a}) → dynamic
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-  method foo({core::bool* c = true, core::bool* a}) → dynamic
-    ;
-}
-class A1 extends core::Object {
-  synthetic constructor •() → self::A1*
-    ;
-  method foo({core::bool* a = true, core::bool* c}) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B1 extends self::A1 {
-  synthetic constructor •() → self::B1*
-    ;
-  method foo({core::bool* a = true, core::bool* c}) → dynamic
-    ;
-}
-class C1 extends self::B1 {
-  synthetic constructor •() → self::C1*
-    ;
-  method foo({core::bool* a = true, core::bool* c}) → dynamic
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.strong.expect
deleted file mode 100644
index eaa0ca6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.strong.expect
+++ /dev/null
@@ -1,66 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/override_inference_named_parameters_ordering.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.strong.transformed.expect
deleted file mode 100644
index eaa0ca6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.strong.transformed.expect
+++ /dev/null
@@ -1,66 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/override_inference_named_parameters_ordering.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/override_inference_named_parameters_ordering.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.outline.expect
deleted file mode 100644
index 5381f96..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.outline.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart:12:7: Error: The field 'B.x' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'A.x'.
-//  - 'Object' is from 'dart:core'.
-//   int x;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart:8:12: Context: This is the overridden method ('x').
-//   void set x(Object y);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract set x(core::Object* y) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object implements self::A {
-  field core::int* x;
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.strong.expect
deleted file mode 100644
index e40a4db..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.strong.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart:12:7: Error: The field 'B.x' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'A.x'.
-//  - 'Object' is from 'dart:core'.
-//   int x;
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart:8:12: Context: This is the overridden method ('x').
-//   void set x(Object y);
-//            ^
-//
-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::Object* y) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object implements self::A {
-  field core::int* x = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::B::•().{self::B::x} = 5;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.weak.outline.expect
new file mode 100644
index 0000000..14323ba
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart.weak.outline.expect
@@ -0,0 +1,47 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart:12:7: Error: The field 'B.x' has type 'int', which does not match the corresponding type, 'Object', in the overridden setter, 'A.x'.
+//  - 'Object' is from 'dart:core'.
+//   int x;
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/override_setter_with_field.dart:8:12: Context: This is the overridden method ('x').
+//   void set x(Object y);
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract set x(core::Object* y) → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends core::Object implements self::A {
+  field core::int* x;
+  synthetic constructor •() → self::B*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/part_as_entry_point.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_as_entry_point.dart.strong.expect
deleted file mode 100644
index b77b0c2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_as_entry_point.dart.strong.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_nnbd_opt_out/part_as_entry_point.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_as_entry_point.dart.strong.transformed.expect
deleted file mode 100644
index b77b0c2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_as_entry_point.dart.strong.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_nnbd_opt_out/part_as_entry_point.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_as_entry_point.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/part_as_entry_point.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/part_as_entry_point.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart.strong.expect
deleted file mode 100644
index e5e9a47..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart.strong.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart:10:6: Error: Can't use 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/part_not_part_of.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart.strong.transformed.expect
deleted file mode 100644
index e5e9a47..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart.strong.transformed.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart:10:6: Error: Can't use 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/part_not_part_of.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart.strong.expect
deleted file mode 100644
index a5b4847..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart.strong.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart:10:6: Error: Using 'pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library_lib1.dart' as part of 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/part_not_part_of_same_named_library.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart.strong.transformed.expect
deleted file mode 100644
index a5b4847..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart.strong.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart:10:6: Error: Using 'pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library_lib1.dart' as part of 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/part_not_part_of_same_named_library.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/part_not_part_of_same_named_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart.strong.expect
deleted file mode 100644
index 3adf6ff..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart.strong.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart:10:6: Error: Using 'pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library_lib1.dart' as part of 'pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart' but its 'part of' declaration says 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/part_part_of_different_unnamed_library.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart.strong.transformed.expect
deleted file mode 100644
index 3adf6ff..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart.strong.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart:10:6: Error: Using 'pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library_lib1.dart' as part of 'pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart' but its 'part of' declaration says 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/part_part_of_different_unnamed_library.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_different_unnamed_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart.strong.expect
deleted file mode 100644
index 9dadde6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart.strong.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library foo;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart:12:6: Error: Using 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/part_part_of_differently_named_library.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart.strong.transformed.expect
deleted file mode 100644
index 9dadde6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart.strong.transformed.expect
+++ /dev/null
@@ -1,29 +0,0 @@
-library foo;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart:12:6: Error: Using 'pkg/front_end/testcases/general_nnbd_opt_out/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_nnbd_opt_out/part_part_of_differently_named_library.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/part_part_of_differently_named_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.strong.expect
deleted file mode 100644
index bef6d48..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.strong.expect
+++ /dev/null
@@ -1,4 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.strong.transformed.expect
deleted file mode 100644
index bef6d48..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.strong.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_nnbd_opt_out/await.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/platform.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.hierarchy.expect
deleted file mode 100644
index 446c5bd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.hierarchy.expect
+++ /dev/null
@@ -1,173 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-AB1:
-  superclasses:
-    Object
-      -> A
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-AB2:
-  superclasses:
-    Object
-      -> A
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-BA1:
-  superclasses:
-    Object
-      -> B
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-BA2:
-  superclasses:
-    Object
-      -> B
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.outline.expect
deleted file mode 100644
index ffbffbc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.outline.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class AB1 extends self::A implements self::B {
-  synthetic constructor •() → self::AB1*
-    ;
-}
-class AB2 extends self::A implements self::B {
-  synthetic constructor •() → self::AB2*
-    ;
-}
-class BA1 extends self::B implements self::A {
-  synthetic constructor •() → self::BA1*
-    ;
-}
-class BA2 extends self::B implements self::A {
-  synthetic constructor •() → self::BA2*
-    ;
-}
-static method takeSubclassOfA(dynamic obj) → dynamic
-  ;
-static method takeSubclassOfB(dynamic obj) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.strong.expect
deleted file mode 100644
index bdb5c91..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.strong.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/prefer_baseclass.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.strong.transformed.expect
deleted file mode 100644
index bdb5c91..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.strong.transformed.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/prefer_baseclass.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/prefer_baseclass.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.hierarchy.expect
deleted file mode 100644
index c696ebc..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.hierarchy.expect
+++ /dev/null
@@ -1,100 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Bar._f
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Bar._f
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Baz:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> Foo
-  interfaces: Bar
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Bar._f
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.outline.expect
deleted file mode 100644
index 5f23e62..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.outline.expect
+++ /dev/null
@@ -1,52 +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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → void
-    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_f, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-}
-class Baz extends self::Foo {
-  synthetic constructor •() → self::Baz*
-    ;
-}
-static method main() → dynamic
-  ;
-
-library;
-import self as pri;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  synthetic constructor •() → pri::Bar*
-    ;
-  method _f() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz(pri::Bar* bar) → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.strong.expect
deleted file mode 100644
index 44d44f9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.strong.expect
+++ /dev/null
@@ -1,63 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → 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 {
-  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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz(pri::Bar* bar) → void {
-  core::print("${bar.{pri::Bar::_f}.{core::Object::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_nnbd_opt_out/private_method_tearoff.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.strong.transformed.expect
deleted file mode 100644
index 44d44f9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.strong.transformed.expect
+++ /dev/null
@@ -1,63 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-  no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → 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 {
-  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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz(pri::Bar* bar) → void {
-  core::print("${bar.{pri::Bar::_f}.{core::Object::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_nnbd_opt_out/private_method_tearoff.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.weak.outline.expect
new file mode 100644
index 0000000..7580549
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/private_method_tearoff.dart.weak.outline.expect
@@ -0,0 +1,60 @@
+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*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  no-such-method-forwarder method /* from org-dartlang-testcase:///private_method_tearoff_lib.dart */ _f() → void
+    return this.{self::Foo::noSuchMethod}(new core::_InvocationMirror::_withType(#_f, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+class Baz extends self::Foo {
+  synthetic constructor •() → self::Baz*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as pri;
+import "dart:core" as core;
+
+class Bar extends core::Object {
+  synthetic constructor •() → pri::Bar*
+    ;
+  method _f() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method baz(pri::Bar* bar) → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///private_method_tearoff_lib.dart:10:8 -> SymbolConstant(#_f)
+Evaluated: ListLiteral @ org-dartlang-testcase:///private_method_tearoff_lib.dart:10:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///private_method_tearoff_lib.dart:10:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///private_method_tearoff_lib.dart:10:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 8, effectively constant: 4
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.outline.expect
deleted file mode 100644
index 6a09285..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Class<self::Class::T*>*
-    ;
-  method method(generic-covariant-impl self::Class::T* o) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method method<T extends core::Object* = dynamic>(self::method::T* o) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.strong.expect
deleted file mode 100644
index d3f9a16..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.strong.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Class<self::Class::T*>*
-    : super core::Object::•()
-    ;
-  method method(generic-covariant-impl self::Class::T* o) → dynamic {
-    if(o is self::Class<dynamic>*) {
-      o{self::Class::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null);
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method method<T extends core::Object* = dynamic>(self::method::T* o) → dynamic {
-  if(o is self::Class<dynamic>*) {
-    o{self::method::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null);
-  }
-}
-static method main() → dynamic {
-  new self::Class::•<dynamic>().{self::Class::method}(new self::Class::•<dynamic>());
-  self::method<self::Class<dynamic>*>(new self::Class::•<dynamic>());
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.strong.transformed.expect
deleted file mode 100644
index d3f9a16..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.strong.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Class<self::Class::T*>*
-    : super core::Object::•()
-    ;
-  method method(generic-covariant-impl self::Class::T* o) → dynamic {
-    if(o is self::Class<dynamic>*) {
-      o{self::Class::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null);
-    }
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method method<T extends core::Object* = dynamic>(self::method::T* o) → dynamic {
-  if(o is self::Class<dynamic>*) {
-    o{self::method::T* & self::Class<dynamic>* /* '*' & '*' = '*' */}.{self::Class::method}(null);
-  }
-}
-static method main() → dynamic {
-  new self::Class::•<dynamic>().{self::Class::method}(new self::Class::•<dynamic>());
-  self::method<self::Class<dynamic>*>(new self::Class::•<dynamic>());
-}
diff --git a/pkg/front_end/testcases/general/promoted_access.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/promoted_access.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/promoted_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.hierarchy.expect
deleted file mode 100644
index a5b947e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Bar.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-      -> Bar
-  interfaces:
-  classMembers:
-    Bar.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.outline.expect
deleted file mode 100644
index 1199c7d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.outline.expect
+++ /dev/null
@@ -1,35 +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*
-    ;
-}
-static method main() → void
-  ;
-
-library;
-import self as pub;
-import "dart:core" as core;
-
-class Bar extends core::Object {
-  synthetic constructor •() → pub::Bar*
-    ;
-  method f() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz(pub::Bar* bar) → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.strong.expect
deleted file mode 100644
index 888c514..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.strong.expect
+++ /dev/null
@@ -1,38 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz(pub::Bar* bar) → void {
-  core::print("${bar.{pub::Bar::f}.{core::Object::runtimeType}}");
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.strong.transformed.expect
deleted file mode 100644
index 888c514..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.strong.transformed.expect
+++ /dev/null
@@ -1,38 +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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method baz(pub::Bar* bar) → void {
-  core::print("${bar.{pub::Bar::f}.{core::Object::runtimeType}}");
-}
diff --git a/pkg/front_end/testcases/general/public_method_tearoff.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/public_method_tearoff.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/public_method_tearoff.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.hierarchy.expect
deleted file mode 100644
index 2d45ad2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.hierarchy.expect
+++ /dev/null
@@ -1,198 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bad:
-  superclasses:
-    qualified-name(lib, Missing)
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Bad.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-IllegalSupertype:
-  superclasses:
-    qualified-name(lib, VoidFunction)
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
-
-C:
-  superclasses:
-    Object
-      -> qualified-name(main, C)<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
-
-Supertype:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-qualified-name(lib, Supertype) with qualified-name(lib, Mixin):
-  superclasses:
-    Object
-      -> qualified-name(lib, Supertype)
-  interfaces: qualified-name(lib, Mixin)
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-WithMixin:
-  superclasses:
-    Object
-      -> qualified-name(lib, Supertype)
-        -> _WithMixin&Supertype&Mixin
-  interfaces: qualified-name(lib, Mixin)
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Supertype.supertypeMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.outline.expect
deleted file mode 100644
index 5d79dea..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.outline.expect
+++ /dev/null
@@ -1,143 +0,0 @@
-library test.qualified.main;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:15:11: Error: The name of a constructor must match the name of the enclosing class.
-//   factory WrongName() {}
-//           ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:13:7: Context: The name of the enclosing class is 'Bad'.
-// class Bad extends lib.Missing {
-//       ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:13:19: Error: Type 'lib.Missing' not found.
-// class Bad extends lib.Missing {
-//                   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:14:3: Error: Type 'lib.Missing' not found.
-//   lib.Missing method() {}
-//   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:20:7: Error: The type 'lib.VoidFunction' can't be used as supertype.
-// class IllegalSupertype extends lib.VoidFunction {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified_lib.dart:29:9: Context: The issue arises via this type alias.
-// typedef VoidFunction = void Function();
-//         ^
-//
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _WithMixin&Supertype&Mixin = lib::Supertype with lib::Mixin /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_WithMixin&Supertype&Mixin*
-    : super lib::Supertype::•()
-    ;
-}
-class WithMixin extends self::_WithMixin&Supertype&Mixin {
-  synthetic constructor •() → self::WithMixin*
-    ;
-}
-class IllegalSupertype extends core::Object {
-  synthetic constructor •() → self::IllegalSupertype*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>*
-    ;
-  constructor a() → self::C<self::C::T*>*
-    ;
-  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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
-
-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*>*
-    ;
-  constructor a() → lib::C<lib::C::T*>*
-    ;
-  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*
-    ;
-  method supertypeMethod() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Mixin extends core::Object {
-  synthetic constructor •() → lib::Mixin*
-    ;
-  method foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.strong.expect
deleted file mode 100644
index 610fabb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.strong.expect
+++ /dev/null
@@ -1,160 +0,0 @@
-library test.qualified.main;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:15:11: Error: The name of a constructor must match the name of the enclosing class.
-//   factory WrongName() {}
-//           ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:13:7: Context: The name of the enclosing class is 'Bad'.
-// class Bad extends lib.Missing {
-//       ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:13:19: Error: Type 'lib.Missing' not found.
-// class Bad extends lib.Missing {
-//                   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:14:3: Error: Type 'lib.Missing' not found.
-//   lib.Missing method() {}
-//   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:20:7: Error: The type 'lib.VoidFunction' can't be used as supertype.
-// class IllegalSupertype extends lib.VoidFunction {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified_lib.dart:29:9: Context: The issue arises via this type alias.
-// typedef VoidFunction = void Function();
-//         ^
-//
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _WithMixin&Supertype&Mixin = lib::Supertype with lib::Mixin /*isAnonymousMixin*/  {
-  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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•().{lib::Supertype::supertypeMethod}();
-  new self::WithMixin::•().{lib::Mixin::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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Mixin extends core::Object {
-  synthetic constructor •() → lib::Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    core::print("I'm Mixin.foo");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.strong.transformed.expect
deleted file mode 100644
index a6f1ca3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.strong.transformed.expect
+++ /dev/null
@@ -1,173 +0,0 @@
-library test.qualified.main;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:15:11: Error: The name of a constructor must match the name of the enclosing class.
-//   factory WrongName() {}
-//           ^^^^^^^^^
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:13:7: Context: The name of the enclosing class is 'Bad'.
-// class Bad extends lib.Missing {
-//       ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:13:19: Error: Type 'lib.Missing' not found.
-// class Bad extends lib.Missing {
-//                   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:14:3: Error: Type 'lib.Missing' not found.
-//   lib.Missing method() {}
-//   ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:20:7: Error: The type 'lib.VoidFunction' can't be used as supertype.
-// class IllegalSupertype extends lib.VoidFunction {}
-//       ^
-// pkg/front_end/testcases/general_nnbd_opt_out/qualified_lib.dart:29:9: Context: The issue arises via this type alias.
-// typedef VoidFunction = void Function();
-//         ^
-//
-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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class _WithMixin&Supertype&Mixin extends lib::Supertype implements lib::Mixin /*isAnonymousMixin,isEliminatedMixin*/  {
-  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");
-  }
-  abstract member-signature get /* from org-dartlang-testcase:///qualified_lib.dart */ _identityHashCode() → core::int*;
-  abstract member-signature method /* from org-dartlang-testcase:///qualified_lib.dart */ _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method /* from org-dartlang-testcase:///qualified_lib.dart */ _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method /* from org-dartlang-testcase:///qualified_lib.dart */ _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method /* from org-dartlang-testcase:///qualified_lib.dart */ _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator /* from org-dartlang-testcase:///qualified_lib.dart */ ==(dynamic other) → core::bool*;
-  abstract member-signature get /* from org-dartlang-testcase:///qualified_lib.dart */ hashCode() → core::int*;
-  abstract member-signature method /* from org-dartlang-testcase:///qualified_lib.dart */ toString() → core::String*;
-  abstract member-signature method /* from org-dartlang-testcase:///qualified_lib.dart */ noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get /* from org-dartlang-testcase:///qualified_lib.dart */ runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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 <T extends core::Object* = dynamic>() →* lib::C<T*>* #redirecting_factory = lib::C::b in let self::C::b::T* #typeArg0 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•().{lib::Supertype::supertypeMethod}();
-  new self::WithMixin::•().{lib::Mixin::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<BottomType> #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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Mixin extends core::Object {
-  synthetic constructor •() → lib::Mixin*
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {
-    core::print("I'm Mixin.foo");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.weak.outline.expect
new file mode 100644
index 0000000..3bf6dad
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart.weak.outline.expect
@@ -0,0 +1,145 @@
+library test.qualified.main;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:15:11: Error: The name of a constructor must match the name of the enclosing class.
+//   factory WrongName() {}
+//           ^^^^^^^^^
+// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:13:7: Context: The name of the enclosing class is 'Bad'.
+// class Bad extends lib.Missing {
+//       ^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:13:19: Error: Type 'lib.Missing' not found.
+// class Bad extends lib.Missing {
+//                   ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:14:3: Error: Type 'lib.Missing' not found.
+//   lib.Missing method() {}
+//   ^^^^^^^^^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/qualified.dart:20:7: Error: The type 'lib.VoidFunction' can't be used as supertype.
+// class IllegalSupertype extends lib.VoidFunction {}
+//       ^
+// pkg/front_end/testcases/general_nnbd_opt_out/qualified_lib.dart:29:9: Context: The issue arises via this type alias.
+// typedef VoidFunction = void Function();
+//         ^
+//
+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 member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _WithMixin&Supertype&Mixin = lib::Supertype with lib::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_WithMixin&Supertype&Mixin*
+    : super lib::Supertype::•()
+    ;
+  mixin-super-stub method foo() → dynamic
+    return super.{lib::Mixin::foo}();
+}
+class WithMixin extends self::_WithMixin&Supertype&Mixin {
+  synthetic constructor •() → self::WithMixin*
+    ;
+}
+class IllegalSupertype extends core::Object {
+  synthetic constructor •() → self::IllegalSupertype*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C<T extends core::Object* = dynamic> extends core::Object { // from org-dartlang-testcase:///qualified_part.dart
+  static final field dynamic _redirecting# = <dynamic>[self::C::b];
+  constructor •() → self::C<self::C::T*>*
+    ;
+  constructor a() → self::C<self::C::T*>*
+    ;
+  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;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+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 final field dynamic _redirecting# = <dynamic>[lib::C::b];
+  constructor •() → lib::C<lib::C::T*>*
+    ;
+  constructor a() → lib::C<lib::C::T*>*
+    ;
+  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*
+    ;
+  method supertypeMethod() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Mixin extends core::Object {
+  synthetic constructor •() → lib::Mixin*
+    ;
+  method foo() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.hierarchy.expect
deleted file mode 100644
index c79ac19..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.outline.expect
deleted file mode 100644
index 27a58f0..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.outline.expect
+++ /dev/null
@@ -1,27 +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*
-    ;
-  static factory fisk() → self::A*
-    let dynamic #redirecting_factory = self::B::• in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.strong.expect
deleted file mode 100644
index 9319f4c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.strong.expect
+++ /dev/null
@@ -1,30 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/redirecting_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.strong.transformed.expect
deleted file mode 100644
index e1616fd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.strong.transformed.expect
+++ /dev/null
@@ -1,30 +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<BottomType> #redirecting_factory = self::B::• in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_constructor.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.hierarchy.expect
deleted file mode 100644
index e601475..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.hierarchy.expect
+++ /dev/null
@@ -1,273 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-FooBase:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    FooBase.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    FooBase._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    FooBase._redirecting#
-
-Foo:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: FooBase
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo._redirecting#
-  interfaceMembers:
-    Object.toString
-    FooBase.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Foo._redirecting#
-
-Bar:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: Foo<Tb>, FooBase
-  classMembers:
-    Object.toString
-    Bar.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar.x
-  interfaceMembers:
-    Object.toString
-    Bar.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Bar.x
-
-Builder:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Builder.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-SimpleCase:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    SimpleCase._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    SimpleCase._redirecting#
-
-SimpleCaseImpl:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: SimpleCase<Ai, Bi>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    SimpleCaseImpl._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    SimpleCaseImpl._redirecting#
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    SimpleCaseImpl._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    SimpleCaseImpl._redirecting#
-
-SimpleCaseImpl2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: SimpleCaseImpl<Ai2, Bi2>, SimpleCase<Ai2, Bi2>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mix:
-  superclasses:
-    Object
-      -> Base<M>
-  interfaces: Mixin<M>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.outline.expect
deleted file mode 100644
index 79ceb14..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.outline.expect
+++ /dev/null
@@ -1,154 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart:9:28: Error: The constructor function type 'Foo<Tf> Function(int)' isn't a subtype of 'FooBase<Tf> Function(int)'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart'.
-//  - 'FooBase' is from 'pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart'.
-//   factory FooBase(int x) = Foo<Tf>;
-//                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class FooBase<Tf extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::FooBase::•];
-  abstract get x() → core::int*;
-  static factory •<Tf extends core::Object* = dynamic>(core::int* x) → self::FooBase<self::FooBase::•::Tf*>*
-    let dynamic #redirecting_factory = self::Foo::• in let self::FooBase::•::Tf* #typeArg0 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object implements self::FooBase<dynamic> {
-  static field dynamic _redirecting# = <dynamic>[self::Foo::•];
-  static factory •<T extends core::Object* = dynamic>(core::int* x) → self::Foo<self::Foo::•::T*>*
-    let dynamic #redirecting_factory = self::Bar::• in let core::String* #typeArg0 = null in let self::Foo::•::T* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar<Sb extends core::Object* = dynamic, Tb extends core::Object* = dynamic> extends core::Object implements self::Foo<self::Bar::Tb*> {
-  field core::int* x;
-  constructor •(core::int* x) → self::Bar<self::Bar::Sb*, self::Bar::Tb*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Builder<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Builder<self::Builder::X*>*
-    ;
-  method method() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCase<A extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::SimpleCase::•];
-  static factory •<A extends core::Object* = dynamic, B extends core::Object* = dynamic>() → self::SimpleCase<self::SimpleCase::•::A*, self::SimpleCase::•::B*>*
-    let dynamic #redirecting_factory = self::SimpleCaseImpl::• in let self::SimpleCase::•::A* #typeArg0 = null in let self::SimpleCase::•::B* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCaseImpl<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic> 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* = dynamic, Bi extends core::Object* = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>*
-    let dynamic #redirecting_factory = self::SimpleCaseImpl2::• in let self::SimpleCaseImpl::•::Ai* #typeArg0 = null in let self::SimpleCaseImpl::•::Bi* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCaseImpl2<Ai2 extends core::Object* = dynamic, Bi2 extends core::Object* = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*> {
-  synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Base<M extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Base<self::Base::M*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Mixin<M extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Mixin<self::Mixin::M*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Mix<M extends core::Object* = dynamic> = self::Base<self::Mix::M*> with self::Mixin<self::Mix::M*> {
-  synthetic constructor •() → self::Mix<self::Mix::M*>*
-    : super self::Base::•()
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.strong.expect
deleted file mode 100644
index bf48159..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.strong.expect
+++ /dev/null
@@ -1,164 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart:9:28: Error: The constructor function type 'Foo<Tf> Function(int)' isn't a subtype of 'FooBase<Tf> Function(int)'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart'.
-//  - 'FooBase' is from 'pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart'.
-//   factory FooBase(int x) = Foo<Tf>;
-//                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class FooBase<Tf extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::FooBase::•];
-  abstract get x() → core::int*;
-  static factory •<Tf extends core::Object* = dynamic>(core::int* x) → self::FooBase<self::FooBase::•::Tf*>*
-    let dynamic #redirecting_factory = self::Foo::• in let self::FooBase::•::Tf* #typeArg0 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object implements self::FooBase<dynamic> {
-  static field dynamic _redirecting# = <dynamic>[self::Foo::•];
-  static factory •<T extends core::Object* = dynamic>(core::int* x) → self::Foo<self::Foo::•::T*>*
-    let dynamic #redirecting_factory = self::Bar::• in let core::String* #typeArg0 = null in let self::Foo::•::T* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar<Sb extends core::Object* = dynamic, Tb extends core::Object* = dynamic> extends core::Object implements self::Foo<self::Bar::Tb*> {
-  field core::int* x;
-  constructor •(core::int* x) → self::Bar<self::Bar::Sb*, self::Bar::Tb*>*
-    : self::Bar::x = x, super core::Object::•() {
-    core::print("Bar<${self::Bar::Sb*},${self::Bar::Tb*}>");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Builder<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Builder<self::Builder::X*>*
-    : super core::Object::•()
-    ;
-  method method() → dynamic {
-    return new self::Bar::•<core::String*, self::Builder::X*>(4);
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCase<A extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::SimpleCase::•];
-  static factory •<A extends core::Object* = dynamic, B extends core::Object* = dynamic>() → self::SimpleCase<self::SimpleCase::•::A*, self::SimpleCase::•::B*>*
-    let dynamic #redirecting_factory = self::SimpleCaseImpl::• in let self::SimpleCase::•::A* #typeArg0 = null in let self::SimpleCase::•::B* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCaseImpl<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic> 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* = dynamic, Bi extends core::Object* = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>*
-    let dynamic #redirecting_factory = self::SimpleCaseImpl2::• in let self::SimpleCaseImpl::•::Ai* #typeArg0 = null in let self::SimpleCaseImpl::•::Bi* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCaseImpl2<Ai2 extends core::Object* = dynamic, Bi2 extends core::Object* = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*> {
-  synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Base<M extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Base<self::Base::M*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Mixin<M extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Mixin<self::Mixin::M*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Mix<M extends core::Object* = dynamic> = self::Base<self::Mix::M*> with self::Mixin<self::Mix::M*> {
-  synthetic constructor •() → self::Mix<self::Mix::M*>*
-    : super self::Base::•()
-    ;
-}
-static method main() → dynamic {
-  core::print(new self::Bar::•<core::String*, core::double*>(4).{self::FooBase::x});
-  new self::SimpleCaseImpl2::•<core::int*, core::double*>();
-  new self::Mix::•<core::double*>();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.strong.transformed.expect
deleted file mode 100644
index 48da0ad..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.strong.transformed.expect
+++ /dev/null
@@ -1,174 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart:9:28: Error: The constructor function type 'Foo<Tf> Function(int)' isn't a subtype of 'FooBase<Tf> Function(int)'.
-//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart'.
-//  - 'FooBase' is from 'pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart'.
-//   factory FooBase(int x) = Foo<Tf>;
-//                            ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class FooBase<Tf extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::FooBase::•];
-  abstract get x() → core::int*;
-  static factory •<Tf extends core::Object* = dynamic>(core::int* x) → self::FooBase<self::FooBase::•::Tf*>*
-    let <T extends core::Object* = dynamic>(core::int*) →* self::Foo<T*>* #redirecting_factory = self::Foo::• in let self::FooBase::•::Tf* #typeArg0 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class Foo<T extends core::Object* = dynamic> extends core::Object implements self::FooBase<dynamic> {
-  static field dynamic _redirecting# = <dynamic>[self::Foo::•];
-  static factory •<T extends core::Object* = dynamic>(core::int* x) → self::Foo<self::Foo::•::T*>*
-    let<BottomType> #redirecting_factory = self::Bar::• in let core::String* #typeArg0 = null in let self::Foo::•::T* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar<Sb extends core::Object* = dynamic, Tb extends core::Object* = dynamic> extends core::Object implements self::Foo<self::Bar::Tb*> {
-  field core::int* x;
-  constructor •(core::int* x) → self::Bar<self::Bar::Sb*, self::Bar::Tb*>*
-    : self::Bar::x = x, super core::Object::•() {
-    core::print("Bar<${self::Bar::Sb*},${self::Bar::Tb*}>");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Builder<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Builder<self::Builder::X*>*
-    : super core::Object::•()
-    ;
-  method method() → dynamic {
-    return new self::Bar::•<core::String*, self::Builder::X*>(4);
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCase<A extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::SimpleCase::•];
-  static factory •<A extends core::Object* = dynamic, B extends core::Object* = dynamic>() → self::SimpleCase<self::SimpleCase::•::A*, self::SimpleCase::•::B*>*
-    let <Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic>() →* self::SimpleCaseImpl<Ai*, Bi*>* #redirecting_factory = self::SimpleCaseImpl::• in let self::SimpleCase::•::A* #typeArg0 = null in let self::SimpleCase::•::B* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCaseImpl<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic> 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* = dynamic, Bi extends core::Object* = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>*
-    let<BottomType> #redirecting_factory = self::SimpleCaseImpl2::• in let self::SimpleCaseImpl::•::Ai* #typeArg0 = null in let self::SimpleCaseImpl::•::Bi* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class SimpleCaseImpl2<Ai2 extends core::Object* = dynamic, Bi2 extends core::Object* = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*> {
-  synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Base<M extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Base<self::Base::M*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Mixin<M extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Mixin<self::Mixin::M*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Mix<M extends core::Object* = dynamic> extends self::Base<self::Mix::M*> implements self::Mixin<self::Mix::M*> /*isEliminatedMixin*/  {
-  synthetic constructor •() → self::Mix<self::Mix::M*>*
-    : super self::Base::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  core::print(new self::Bar::•<core::String*, core::double*>(4).{self::FooBase::x});
-  new self::SimpleCaseImpl2::•<core::int*, core::double*>();
-  new self::Mix::•<core::double*>();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.weak.outline.expect
new file mode 100644
index 0000000..b991362
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart.weak.outline.expect
@@ -0,0 +1,154 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart:9:28: Error: The constructor function type 'Foo<Tf> Function(int)' isn't a subtype of 'FooBase<Tf> Function(int)'.
+//  - 'Foo' is from 'pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart'.
+//  - 'FooBase' is from 'pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory.dart'.
+//   factory FooBase(int x) = Foo<Tf>;
+//                            ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class FooBase<Tf extends core::Object* = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[self::FooBase::•];
+  abstract get x() → core::int*;
+  static factory •<Tf extends core::Object* = dynamic>(core::int* x) → self::FooBase<self::FooBase::•::Tf*>*
+    let dynamic #redirecting_factory = self::Foo::• in let self::FooBase::•::Tf* #typeArg0 = null in invalid-expression;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Foo<T extends core::Object* = dynamic> extends core::Object implements self::FooBase<dynamic> {
+  static final field dynamic _redirecting# = <dynamic>[self::Foo::•];
+  static factory •<T extends core::Object* = dynamic>(core::int* x) → self::Foo<self::Foo::•::T*>*
+    let dynamic #redirecting_factory = self::Bar::• in let core::String* #typeArg0 = null in let self::Foo::•::T* #typeArg1 = null in invalid-expression;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Bar<Sb extends core::Object* = dynamic, Tb extends core::Object* = dynamic> extends core::Object implements self::Foo<self::Bar::Tb*> {
+  field core::int* x;
+  constructor •(core::int* x) → self::Bar<self::Bar::Sb*, self::Bar::Tb*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Builder<X extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Builder<self::Builder::X*>*
+    ;
+  method method() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class SimpleCase<A extends core::Object* = dynamic, B extends core::Object* = dynamic> extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[self::SimpleCase::•];
+  static factory •<A extends core::Object* = dynamic, B extends core::Object* = dynamic>() → self::SimpleCase<self::SimpleCase::•::A*, self::SimpleCase::•::B*>*
+    let dynamic #redirecting_factory = self::SimpleCaseImpl::• in let self::SimpleCase::•::A* #typeArg0 = null in let self::SimpleCase::•::B* #typeArg1 = null in invalid-expression;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class SimpleCaseImpl<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic> extends core::Object implements self::SimpleCase<self::SimpleCaseImpl::Ai*, self::SimpleCaseImpl::Bi*> {
+  static final field dynamic _redirecting# = <dynamic>[self::SimpleCaseImpl::•];
+  static factory •<Ai extends core::Object* = dynamic, Bi extends core::Object* = dynamic>() → self::SimpleCaseImpl<self::SimpleCaseImpl::•::Ai*, self::SimpleCaseImpl::•::Bi*>*
+    let dynamic #redirecting_factory = self::SimpleCaseImpl2::• in let self::SimpleCaseImpl::•::Ai* #typeArg0 = null in let self::SimpleCaseImpl::•::Bi* #typeArg1 = null in invalid-expression;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class SimpleCaseImpl2<Ai2 extends core::Object* = dynamic, Bi2 extends core::Object* = dynamic> extends core::Object implements self::SimpleCaseImpl<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*> {
+  synthetic constructor •() → self::SimpleCaseImpl2<self::SimpleCaseImpl2::Ai2*, self::SimpleCaseImpl2::Bi2*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Base<M extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Base<self::Base::M*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Mixin<M extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Mixin<self::Mixin::M*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Mix<M extends core::Object* = dynamic> = self::Base<self::Mix::M*> with self::Mixin<self::Mix::M*> {
+  synthetic constructor •() → self::Mix<self::Mix::M*>*
+    : super self::Base::•()
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.hierarchy.expect
deleted file mode 100644
index abc4300..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.outline.expect
deleted file mode 100644
index 06c7106..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.outline.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library redirecting_factory_constructors.chain_test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::first, self::A::second];
-  constructor •() → self::A*
-    ;
-  static factory first() → self::A*
-    let dynamic #redirecting_factory = self::A::• in invalid-expression;
-  static factory second() → self::A*
-    let dynamic #redirecting_factory = self::A::first in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.strong.expect
deleted file mode 100644
index b9fa521..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.strong.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library redirecting_factory_constructors.chain_test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::first, self::A::second];
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static factory first() → self::A*
-    let dynamic #redirecting_factory = self::A::• in invalid-expression;
-  static factory second() → self::A*
-    let dynamic #redirecting_factory = self::A::first in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.strong.transformed.expect
deleted file mode 100644
index 3a03a47..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library redirecting_factory_constructors.chain_test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::first, self::A::second];
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static factory first() → self::A*
-    let<BottomType> #redirecting_factory = self::A::• in invalid-expression;
-  static factory second() → self::A*
-    let () →* self::A* #redirecting_factory = self::A::first in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_factory_chain_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_chain_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.hierarchy.expect
deleted file mode 100644
index 4985228..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,107 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    _X._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    _X._redirecting#
-
-_Y:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: _X<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.outline.expect
deleted file mode 100644
index 87048b9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.outline.expect
+++ /dev/null
@@ -1,55 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> /*hasConstConstructor*/  {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends self::A<self::B::T*> {
-  constructor •() → self::B<self::B::T*>*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.strong.expect
deleted file mode 100644
index 9a92943..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.strong.expect
+++ /dev/null
@@ -1,65 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> /*hasConstConstructor*/  {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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>().{self::A::x};
-  if(!(x is self::_Y<core::Null?>*)) {
-    throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}}, but `_Y<Null>` expected";
-  }
-}
-
-constants  {
-  #C1 = self::_Y<core::Null?> {}
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.strong.transformed.expect
deleted file mode 100644
index cff025b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.strong.transformed.expect
+++ /dev/null
@@ -1,65 +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<BottomType> #redirecting_factory = self::_Y::• in let self::_X::•::T* #typeArg0 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class _Y<T extends core::Object* = dynamic> extends core::Object implements self::_X<self::_Y::T*> /*hasConstConstructor*/  {
-  const constructor •() → self::_Y<self::_Y::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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>().{self::A::x};
-  if(!(x is self::_Y<core::Null?>*)) {
-    throw "Unexpected run-time type: `new B().x` is ${x.{core::Object::runtimeType}}, but `_Y<Null>` expected";
-  }
-}
-
-constants  {
-  #C1 = self::_Y<core::Null?> {}
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_factory_const_inference.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_const_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.hierarchy.expect
deleted file mode 100644
index 2c671bd..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo._redirecting#
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.outline.expect
deleted file mode 100644
index 9ff54fb..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.outline.expect
+++ /dev/null
@@ -1,27 +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*
-    ;
-  @self::forFactoryItself
-  static factory •(dynamic p) → self::Foo*
-    let dynamic #redirecting_factory = self::Foo::named in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* forParameter = 1;
-static const field core::int* forFactoryItself = 2;
-static const field core::int* anotherForParameter = 3;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.strong.expect
deleted file mode 100644
index 660313d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.strong.expect
+++ /dev/null
@@ -1,33 +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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* forParameter = #C2;
-static const field core::int* forFactoryItself = #C1;
-static const field core::int* anotherForParameter = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 2
-  #C2 = 1
-  #C3 = 3
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.strong.transformed.expect
deleted file mode 100644
index 7f43aad..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.strong.transformed.expect
+++ /dev/null
@@ -1,33 +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<BottomType> #redirecting_factory = self::Foo::named in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static const field core::int* forParameter = #C2;
-static const field core::int* forFactoryItself = #C1;
-static const field core::int* anotherForParameter = #C3;
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 2
-  #C2 = 1
-  #C3 = 3
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.weak.outline.expect
new file mode 100644
index 0000000..a83d25d
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_metadata.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[self::Foo::•];
+  constructor named(dynamic p) → self::Foo*
+    ;
+  @self::forFactoryItself
+  static factory •(dynamic p) → self::Foo*
+    let dynamic #redirecting_factory = self::Foo::named in invalid-expression;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field core::int* forParameter = 1;
+static const field core::int* forFactoryItself = 2;
+static const field core::int* anotherForParameter = 3;
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///redirecting_factory_metadata.dart:15:4 -> IntConstant(2)
+Extra constant evaluation: evaluated: 5, effectively constant: 1
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.hierarchy.expect
deleted file mode 100644
index abc4300..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.outline.expect
deleted file mode 100644
index 6445538..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.outline.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library redirecting_factory_constructors.simple_test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •() → self::A*
-    ;
-  static factory redir() → self::A*
-    let dynamic #redirecting_factory = self::A::• in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.strong.expect
deleted file mode 100644
index 47ea2ec..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.strong.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library redirecting_factory_constructors.simple_test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static factory redir() → self::A*
-    let dynamic #redirecting_factory = self::A::• in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.strong.transformed.expect
deleted file mode 100644
index b9b688e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library redirecting_factory_constructors.simple_test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static factory redir() → self::A*
-    let<BottomType> #redirecting_factory = self::A::• in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_factory_simple_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_simple_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.hierarchy.expect
deleted file mode 100644
index 13dab79..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,91 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y:
-  superclasses:
-    Object
-      -> X
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.outline.expect
deleted file mode 100644
index fee78a6a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.outline.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library redirecting_factory_constructors.typeargs_test;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    ;
-}
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •() → self::A*
-    ;
-  static factory redir() → self::A*
-    let dynamic #redirecting_factory = self::B::• in let self::Y* #typeArg0 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends self::X* = self::X*> extends self::A {
-  constructor •() → self::B<self::B::T*>*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.strong.expect
deleted file mode 100644
index 938fe3f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.strong.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library redirecting_factory_constructors.typeargs_test;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    : super self::X::•()
-    ;
-}
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static factory redir() → self::A*
-    let dynamic #redirecting_factory = self::B::• in let self::Y* #typeArg0 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends self::X* = self::X*> extends self::A {
-  constructor •() → self::B<self::B::T*>*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  new self::B::•<self::Y*>();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.strong.transformed.expect
deleted file mode 100644
index e95fb8e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library redirecting_factory_constructors.typeargs_test;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    : super self::X::•()
-    ;
-}
-class A extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  static factory redir() → self::A*
-    let<BottomType> #redirecting_factory = self::B::• in let self::Y* #typeArg0 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends self::X* = self::X*> extends self::A {
-  constructor •() → self::B<self::B::T*>*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {
-  new self::B::•<self::Y*>();
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_factory_typeargs_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeargs_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.hierarchy.expect
deleted file mode 100644
index abc4300..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.outline.expect
deleted file mode 100644
index fd30dea..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.outline.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library redirecting_factory_constructors.typeparam_test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
-    ;
-  static factory redir<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
-    let dynamic #redirecting_factory = self::A::• in let self::A::redir::T* #typeArg0 = null in let self::A::redir::S* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.strong.expect
deleted file mode 100644
index 14b3db5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.strong.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library redirecting_factory_constructors.typeparam_test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
-    : super core::Object::•()
-    ;
-  static factory redir<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
-    let dynamic #redirecting_factory = self::A::• in let self::A::redir::T* #typeArg0 = null in let self::A::redir::S* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•<core::int*, core::String*>(42, "foobar");
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.strong.transformed.expect
deleted file mode 100644
index 0acb2f6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library redirecting_factory_constructors.typeparam_test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::Object* = dynamic, S extends core::Object* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
-    : super core::Object::•()
-    ;
-  static factory redir<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
-    let<BottomType> #redirecting_factory = self::A::• in let self::A::redir::T* #typeArg0 = null in let self::A::redir::S* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::A::•<core::int*, core::String*>(42, "foobar");
-}
diff --git a/pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_factory_typeparam_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparam_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.hierarchy.expect
deleted file mode 100644
index 8d11fc8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y:
-  superclasses:
-    Object
-      -> X
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.outline.expect
deleted file mode 100644
index 88b225e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.outline.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library redirecting_factory_constructors.typeparambounds_test;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    ;
-}
-class A<T extends core::Object* = dynamic, S extends self::A::T* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
-    ;
-  static factory redir<T extends core::Object* = dynamic, S extends self::A::redir::T* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
-    let dynamic #redirecting_factory = self::A::• in let self::A::redir::T* #typeArg0 = null in let self::A::redir::S* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.strong.expect
deleted file mode 100644
index b8c30d1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library redirecting_factory_constructors.typeparambounds_test;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    : super self::X::•()
-    ;
-}
-class A<T extends core::Object* = dynamic, S extends self::A::T* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
-    : super core::Object::•()
-    ;
-  static factory redir<T extends core::Object* = dynamic, S extends self::A::redir::T* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
-    let dynamic #redirecting_factory = self::A::• in let self::A::redir::T* #typeArg0 = null in let self::A::redir::S* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.strong.transformed.expect
deleted file mode 100644
index 0b7c4a9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library redirecting_factory_constructors.typeparambounds_test;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Y extends self::X {
-  synthetic constructor •() → self::Y*
-    : super self::X::•()
-    ;
-}
-class A<T extends core::Object* = dynamic, S extends self::A::T* = dynamic> extends core::Object {
-  static field dynamic _redirecting# = <dynamic>[self::A::redir];
-  constructor •(self::A::T* t, self::A::S* s) → self::A<self::A::T*, self::A::S*>*
-    : super core::Object::•()
-    ;
-  static factory redir<T extends core::Object* = dynamic, S extends self::A::redir::T* = dynamic>(self::A::redir::T* t, self::A::redir::S* s) → self::A<self::A::redir::T*, self::A::redir::S*>*
-    let<BottomType> #redirecting_factory = self::A::• in let self::A::redir::T* #typeArg0 = null in let self::A::redir::S* #typeArg1 = null in invalid-expression;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_factory_typeparambounds_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_factory_typeparambounds_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_factory_typeparambounds_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.hierarchy.expect
deleted file mode 100644
index eedd000..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.outline.expect
deleted file mode 100644
index fefbdf2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.outline.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Foo<T extends self::X* = self::X*> extends core::Object {
-  generic-covariant-impl field self::Foo::T* x;
-  constructor fromX(self::X* _init) → self::Foo<self::Foo::T*>*
-    ;
-  constructor fromT(self::Foo::T* _init) → self::Foo<self::Foo::T*>*
-    ;
-  constructor _internal({self::Foo::T* x}) → self::Foo<self::Foo::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.strong.expect
deleted file mode 100644
index b172e13..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.strong.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Foo<T extends self::X* = self::X*> 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 as{TypeError} self::Foo::T*)
-    ;
-  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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.strong.transformed.expect
deleted file mode 100644
index b172e13..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class X extends core::Object {
-  synthetic constructor •() → self::X*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Foo<T extends self::X* = self::X*> 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 as{TypeError} self::Foo::T*)
-    ;
-  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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_initializer_arguments_assignable_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_assignable_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.hierarchy.expect
deleted file mode 100644
index 3de5ead..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.outline.expect
deleted file mode 100644
index ef37759..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.outline.expect
+++ /dev/null
@@ -1,23 +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*>*
-    ;
-  constructor _internal({self::Foo::T* x}) → self::Foo<self::Foo::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.strong.expect
deleted file mode 100644
index a602958..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.strong.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart:14:46: Error: The argument type 'String' can't be assigned to the parameter type 'T'.
-//   Foo.from(String _init) : this._internal(x: _init);
-//                                              ^
-//
-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: let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart:14:46: Error: The argument type 'String' can't be assigned to the parameter type 'T'.
-  Foo.from(String _init) : this._internal(x: _init);
-                                             ^" in _init as{TypeError} <BottomType>)
-    ;
-  constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.strong.transformed.expect
deleted file mode 100644
index a602958..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.strong.transformed.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart:14:46: Error: The argument type 'String' can't be assigned to the parameter type 'T'.
-//   Foo.from(String _init) : this._internal(x: _init);
-//                                              ^
-//
-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: let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart:14:46: Error: The argument type 'String' can't be assigned to the parameter type 'T'.
-  Foo.from(String _init) : this._internal(x: _init);
-                                             ^" in _init as{TypeError} <BottomType>)
-    ;
-  constructor _internal({self::Foo::T* x = #C1}) → self::Foo<self::Foo::T*>*
-    : self::Foo::x = x, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → void {}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirecting_initializer_arguments_test.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirecting_initializer_arguments_test.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.hierarchy.expect
deleted file mode 100644
index 1eaa41a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.hierarchy.expect
+++ /dev/null
@@ -1,427 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A<U>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B._redirecting#
-
-C:
-  superclasses:
-    Object
-      -> A<V>
-        -> B<V, S>
-  interfaces:
-  classMembers:
-    C.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.outline.expect
deleted file mode 100644
index 4f9c017..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.outline.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-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*>*
-    ;
-  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;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>*
-    ;
-  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*>*
-    ;
-  method toString() → core::String*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.strong.expect
deleted file mode 100644
index f6ee22f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.strong.expect
+++ /dev/null
@@ -1,43 +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;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/redirection_chain_type_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.strong.transformed.expect
deleted file mode 100644
index 16d295b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.strong.transformed.expect
+++ /dev/null
@@ -1,43 +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 <U extends core::Object* = dynamic, W extends core::Object* = dynamic>() →* self::B<U*, W*>* #redirecting_factory = self::B::• in let self::A::•::T* #typeArg0 = null in let core::num* #typeArg1 = null in invalid-expression;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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<BottomType> #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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirection_chain_type_arguments.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.hierarchy.expect
deleted file mode 100644
index 1eaa41a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.hierarchy.expect
+++ /dev/null
@@ -1,427 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A<U>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B._redirecting#
-
-C:
-  superclasses:
-    Object
-      -> A<V>
-        -> B<V, S>
-  interfaces:
-  classMembers:
-    C.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.outline.expect
deleted file mode 100644
index 2f1e5b9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.outline.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-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*>*
-    ;
-  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 member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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*>*
-    ;
-  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*>*
-    ;
-  method toString() → core::String*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.strong.expect
deleted file mode 100644
index bfeacaa..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.strong.expect
+++ /dev/null
@@ -1,43 +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 member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.strong.transformed.expect
deleted file mode 100644
index 28c420e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.strong.transformed.expect
+++ /dev/null
@@ -1,43 +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 <U extends core::Object* = dynamic, W extends core::Object* = dynamic>() →* self::B<U*, W*>* #redirecting_factory = self::B::• in let self::A::•::T* #typeArg0 = null in let core::List<self::A::•::T*>* #typeArg1 = null in invalid-expression;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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<BottomType> #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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirection_chain_type_arguments_subst.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirection_chain_type_arguments_subst.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.hierarchy.expect
deleted file mode 100644
index 8fd8c13..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.hierarchy.expect
+++ /dev/null
@@ -1,406 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    B.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.outline.expect
deleted file mode 100644
index d2404b5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.outline.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-import "package:expect/expect.dart";
-
-class A extends core::Object /*hasConstConstructor*/  {
-  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;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends self::A /*hasConstConstructor*/  {
-  const constructor •() → self::B<self::B::T*>*
-    : super self::A::empty()
-    ;
-  method toString() → core::String*
-    ;
-}
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.strong.expect
deleted file mode 100644
index f7ce759..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.strong.expect
+++ /dev/null
@@ -1,39 +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 /*hasConstConstructor*/  {
-  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;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends self::A /*hasConstConstructor*/  {
-  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_nnbd_opt_out/redirection_type_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.strong.transformed.expect
deleted file mode 100644
index 9ab42b4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.strong.transformed.expect
+++ /dev/null
@@ -1,39 +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 /*hasConstConstructor*/  {
-  static field dynamic _redirecting# = <dynamic>[self::A::•];
-  const constructor empty() → self::A*
-    : super core::Object::•()
-    ;
-  static factory •() → self::A*
-    let<BottomType> #redirecting_factory = self::B::• in let core::String* #typeArg0 = null in invalid-expression;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B<T extends core::Object* = dynamic> extends self::A /*hasConstConstructor*/  {
-  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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/redirection_type_arguments.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/redirection_type_arguments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.hierarchy.expect
deleted file mode 100644
index efc780c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.outline.expect
deleted file mode 100644
index 9484a68..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.outline.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart:10:12: Error: Type variables can't have generic function types in their bounds.
-// class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
-//            ^^^^^
-//
-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*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.strong.expect
deleted file mode 100644
index 33a5ce2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.strong.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart:10:12: Error: Type variables can't have generic function types in their bounds.
-// class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
-//            ^^^^^
-//
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.strong.transformed.expect
deleted file mode 100644
index 33a5ce2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.strong.transformed.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart:10:12: Error: Type variables can't have generic function types in their bounds.
-// class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
-//            ^^^^^
-//
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.weak.outline.expect
new file mode 100644
index 0000000..31da5e4
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart.weak.outline.expect
@@ -0,0 +1,27 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/reject_generic_function_types_in_bounds.dart:10:12: Error: Type variables can't have generic function types in their bounds.
+// class Hest<TypeX extends TypeY Function<TypeY>(TypeY)> {}
+//            ^^^^^
+//
+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*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.strong.expect
deleted file mode 100644
index 4bfac34..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.strong.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.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic>* {
-    return y.split(",") as{TypeError,ForDynamic} core::Iterable<dynamic>*;
-  }).{core::Iterable::any}((dynamic y) → core::bool* => y.{core::Object::==}("z"));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.strong.transformed.expect
deleted file mode 100644
index 4bfac34..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.strong.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.{core::Iterable::expand}<dynamic>((dynamic y) → core::Iterable<dynamic>* {
-    return y.split(",") as{TypeError,ForDynamic} core::Iterable<dynamic>*;
-  }).{core::Iterable::any}((dynamic y) → core::bool* => y.{core::Object::==}("z"));
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/return_with_unknown_type_in_context.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.hierarchy.expect
deleted file mode 100644
index e93765a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.hierarchy.expect
+++ /dev/null
@@ -1,115 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Iterable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Iterable.iterator
-    Iterable.map
-    Iterable.cast
-    Iterable.skip
-    Iterable.join
-    Iterable.toSet
-    Iterable.toString
-    Iterable.forEach
-    Iterable.length
-    Iterable.firstWhere
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Iterable.isEmpty
-    Iterable.take
-    Iterable.any
-    Iterable.isNotEmpty
-    Iterable.whereType
-    Iterable.where
-    Object._instanceOf
-    Iterable.skipWhile
-    Iterable.castFrom
-    Iterable.toList
-    Object.noSuchMethod
-    Iterable.fold
-    Iterable.elementAt
-    Iterable.expand
-    Iterable.takeWhile
-    Iterable.first
-    Object._identityHashCode
-    Object.hashCode
-    Iterable.reduce
-    Iterable.lastWhere
-    Iterable.last
-    Object._simpleInstanceOfFalse
-    Iterable.single
-    Iterable.every
-    Iterable.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Iterable.followedBy
-    Iterable.singleWhere
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> Iterable<Object>
-  interfaces:
-  classMembers:
-    Iterable.iterator
-    Iterable.map
-    Iterable.cast
-    Iterable.skip
-    Iterable.join
-    Iterable.toSet
-    Iterable.toString
-    Iterable.forEach
-    Iterable.length
-    Iterable.firstWhere
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Iterable.isEmpty
-    Iterable.take
-    Iterable.any
-    Iterable.isNotEmpty
-    Iterable.whereType
-    Iterable.where
-    Object._instanceOf
-    Iterable.skipWhile
-    Iterable.toList
-    Object.noSuchMethod
-    Iterable.fold
-    Iterable.elementAt
-    Iterable.expand
-    Iterable.takeWhile
-    Iterable.first
-    Object._identityHashCode
-    Object.hashCode
-    Iterable.reduce
-    Iterable.lastWhere
-    Iterable.last
-    Object._simpleInstanceOfFalse
-    Iterable.single
-    Iterable.every
-    Iterable.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Iterable.followedBy
-    Iterable.singleWhere
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.outline.expect
deleted file mode 100644
index bca3a48..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.outline.expect
+++ /dev/null
@@ -1,66 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart:7: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> {
-//       ^
-// org-dartlang-sdk:///sdk/lib/core/iterable.dart:158:19: Context: 'Iterable.iterator' is defined here.
-//   Iterator<E> get iterator;
-//                   ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Iterable<core::Object*> {
-  synthetic constructor •() → self::C*
-    ;
-  abstract member-signature get iterator() → core::Iterator<core::Object*>*;
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::C::cast::R*>*;
-  abstract member-signature method followedBy(generic-covariant-impl core::Iterable<core::Object*>* other) → core::Iterable<core::Object*>*;
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::Object*) →* self::C::map::T* f) → core::Iterable<self::C::map::T*>*;
-  abstract member-signature method where((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::C::whereType::T*>*;
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::Object*) →* core::Iterable<self::C::expand::T*>* f) → core::Iterable<self::C::expand::T*>*;
-  abstract member-signature method contains(core::Object* element) → core::bool*;
-  abstract member-signature method forEach((core::Object*) →* void f) → void;
-  abstract member-signature method reduce(generic-covariant-impl (core::Object*, core::Object*) →* core::Object* combine) → core::Object*;
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::C::fold::T* initialValue, (self::C::fold::T*, core::Object*) →* self::C::fold::T* combine) → self::C::fold::T*;
-  abstract member-signature method every((core::Object*) →* core::bool* test) → core::bool*;
-  abstract member-signature method join([core::String* separator]) → core::String*;
-  abstract member-signature method any((core::Object*) →* core::bool* test) → core::bool*;
-  abstract member-signature method toList({core::bool* growable}) → core::List<core::Object*>*;
-  abstract member-signature method toSet() → core::Set<core::Object*>*;
-  abstract member-signature get length() → core::int*;
-  abstract member-signature get isEmpty() → core::bool*;
-  abstract member-signature get isNotEmpty() → core::bool*;
-  abstract member-signature method take(core::int* count) → core::Iterable<core::Object*>*;
-  abstract member-signature method takeWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::Object*>*;
-  abstract member-signature method skipWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method firstWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse}) → core::Object*;
-  abstract member-signature method lastWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse}) → core::Object*;
-  abstract member-signature method singleWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse}) → core::Object*;
-  abstract member-signature method elementAt(core::int* index) → core::Object*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.strong.expect
deleted file mode 100644
index 2bde57c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.strong.expect
+++ /dev/null
@@ -1,82 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart:7: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> {
-//       ^
-// org-dartlang-sdk:///sdk/lib/core/iterable.dart:158:19: Context: 'Iterable.iterator' is defined here.
-//   Iterator<E> get iterator;
-//                   ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart:14:8: Error: Too few positional arguments: 1 required, 0 given.
-//   print(incorrectArgument: "fisk");
-//        ^
-// org-dartlang-sdk:///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::•()
-    ;
-  abstract member-signature get iterator() → core::Iterator<core::Object*>*;
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::C::cast::R*>*;
-  abstract member-signature method followedBy(generic-covariant-impl core::Iterable<core::Object*>* other) → core::Iterable<core::Object*>*;
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::Object*) →* self::C::map::T* f) → core::Iterable<self::C::map::T*>*;
-  abstract member-signature method where((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::C::whereType::T*>*;
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::Object*) →* core::Iterable<self::C::expand::T*>* f) → core::Iterable<self::C::expand::T*>*;
-  abstract member-signature method contains(core::Object* element) → core::bool*;
-  abstract member-signature method forEach((core::Object*) →* void f) → void;
-  abstract member-signature method reduce(generic-covariant-impl (core::Object*, core::Object*) →* core::Object* combine) → core::Object*;
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::C::fold::T* initialValue, (self::C::fold::T*, core::Object*) →* self::C::fold::T* combine) → self::C::fold::T*;
-  abstract member-signature method every((core::Object*) →* core::bool* test) → core::bool*;
-  abstract member-signature method join([core::String* separator = #C1]) → core::String*;
-  abstract member-signature method any((core::Object*) →* core::bool* test) → core::bool*;
-  abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::Object*>*;
-  abstract member-signature method toSet() → core::Set<core::Object*>*;
-  abstract member-signature get length() → core::int*;
-  abstract member-signature get isEmpty() → core::bool*;
-  abstract member-signature get isNotEmpty() → core::bool*;
-  abstract member-signature method take(core::int* count) → core::Iterable<core::Object*>*;
-  abstract member-signature method takeWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::Object*>*;
-  abstract member-signature method skipWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method firstWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse = #C3}) → core::Object*;
-  abstract member-signature method lastWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse = #C3}) → core::Object*;
-  abstract member-signature method singleWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse = #C3}) → core::Object*;
-  abstract member-signature method elementAt(core::int* index) → core::Object*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart:14:8: Error: Too few positional arguments: 1 required, 0 given.
-  print(incorrectArgument: \"fisk\");
-       ^";
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = ""
-  #C2 = true
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.strong.transformed.expect
deleted file mode 100644
index 2bde57c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.strong.transformed.expect
+++ /dev/null
@@ -1,82 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart:7: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> {
-//       ^
-// org-dartlang-sdk:///sdk/lib/core/iterable.dart:158:19: Context: 'Iterable.iterator' is defined here.
-//   Iterator<E> get iterator;
-//                   ^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart:14:8: Error: Too few positional arguments: 1 required, 0 given.
-//   print(incorrectArgument: "fisk");
-//        ^
-// org-dartlang-sdk:///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::•()
-    ;
-  abstract member-signature get iterator() → core::Iterator<core::Object*>*;
-  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::C::cast::R*>*;
-  abstract member-signature method followedBy(generic-covariant-impl core::Iterable<core::Object*>* other) → core::Iterable<core::Object*>*;
-  abstract member-signature method map<T extends core::Object* = dynamic>((core::Object*) →* self::C::map::T* f) → core::Iterable<self::C::map::T*>*;
-  abstract member-signature method where((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::C::whereType::T*>*;
-  abstract member-signature method expand<T extends core::Object* = dynamic>((core::Object*) →* core::Iterable<self::C::expand::T*>* f) → core::Iterable<self::C::expand::T*>*;
-  abstract member-signature method contains(core::Object* element) → core::bool*;
-  abstract member-signature method forEach((core::Object*) →* void f) → void;
-  abstract member-signature method reduce(generic-covariant-impl (core::Object*, core::Object*) →* core::Object* combine) → core::Object*;
-  abstract member-signature method fold<T extends core::Object* = dynamic>(self::C::fold::T* initialValue, (self::C::fold::T*, core::Object*) →* self::C::fold::T* combine) → self::C::fold::T*;
-  abstract member-signature method every((core::Object*) →* core::bool* test) → core::bool*;
-  abstract member-signature method join([core::String* separator = #C1]) → core::String*;
-  abstract member-signature method any((core::Object*) →* core::bool* test) → core::bool*;
-  abstract member-signature method toList({core::bool* growable = #C2}) → core::List<core::Object*>*;
-  abstract member-signature method toSet() → core::Set<core::Object*>*;
-  abstract member-signature get length() → core::int*;
-  abstract member-signature get isEmpty() → core::bool*;
-  abstract member-signature get isNotEmpty() → core::bool*;
-  abstract member-signature method take(core::int* count) → core::Iterable<core::Object*>*;
-  abstract member-signature method takeWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method skip(core::int* count) → core::Iterable<core::Object*>*;
-  abstract member-signature method skipWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*;
-  abstract member-signature method firstWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse = #C3}) → core::Object*;
-  abstract member-signature method lastWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse = #C3}) → core::Object*;
-  abstract member-signature method singleWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse = #C3}) → core::Object*;
-  abstract member-signature method elementAt(core::int* index) → core::Object*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic {
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart:14:8: Error: Too few positional arguments: 1 required, 0 given.
-  print(incorrectArgument: \"fisk\");
-       ^";
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = ""
-  #C2 = true
-  #C3 = null
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.weak.outline.expect
new file mode 100644
index 0000000..54d1df8
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart.weak.outline.expect
@@ -0,0 +1,66 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/sdk_diagnostic.dart:7: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:148:19: Context: 'Iterable.iterator' is defined here.
+//   Iterator<E> get iterator;
+//                   ^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Iterable<core::Object*> {
+  synthetic constructor •() → self::C*
+    ;
+  abstract member-signature method cast<R extends core::Object* = dynamic>() → core::Iterable<self::C::cast::R*>*; -> core::Iterable::cast
+  abstract member-signature method followedBy(generic-covariant-impl core::Iterable<core::Object*>* other) → core::Iterable<core::Object*>*; -> core::Iterable::followedBy
+  abstract member-signature method map<T extends core::Object* = dynamic>((core::Object*) →* self::C::map::T* f) → core::Iterable<self::C::map::T*>*; -> core::Iterable::map
+  abstract member-signature method where((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::where
+  abstract member-signature method whereType<T extends core::Object* = dynamic>() → core::Iterable<self::C::whereType::T*>*; -> core::Iterable::whereType
+  abstract member-signature method expand<T extends core::Object* = dynamic>((core::Object*) →* core::Iterable<self::C::expand::T*>* f) → core::Iterable<self::C::expand::T*>*; -> core::Iterable::expand
+  abstract member-signature method contains(core::Object* element) → core::bool*; -> core::Iterable::contains
+  abstract member-signature method forEach((core::Object*) →* void f) → void; -> core::Iterable::forEach
+  abstract member-signature method reduce(generic-covariant-impl (core::Object*, core::Object*) →* core::Object* combine) → core::Object*; -> core::Iterable::reduce
+  abstract member-signature method fold<T extends core::Object* = dynamic>(self::C::fold::T* initialValue, (self::C::fold::T*, core::Object*) →* self::C::fold::T* combine) → self::C::fold::T*; -> core::Iterable::fold
+  abstract member-signature method every((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::every
+  abstract member-signature method join([core::String* separator]) → core::String*; -> core::Iterable::join
+  abstract member-signature method any((core::Object*) →* core::bool* test) → core::bool*; -> core::Iterable::any
+  abstract member-signature method toList({core::bool* growable}) → core::List<core::Object*>*; -> core::Iterable::toList
+  abstract member-signature method toSet() → core::Set<core::Object*>*; -> core::Iterable::toSet
+  abstract member-signature get length() → core::int*; -> core::Iterable::length
+  abstract member-signature get isEmpty() → core::bool*; -> core::Iterable::isEmpty
+  abstract member-signature get isNotEmpty() → core::bool*; -> core::Iterable::isNotEmpty
+  abstract member-signature method take(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::take
+  abstract member-signature method takeWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::takeWhile
+  abstract member-signature method skip(core::int* count) → core::Iterable<core::Object*>*; -> core::Iterable::skip
+  abstract member-signature method skipWhile((core::Object*) →* core::bool* test) → core::Iterable<core::Object*>*; -> core::Iterable::skipWhile
+  abstract member-signature method firstWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse}) → core::Object*; -> core::Iterable::firstWhere
+  abstract member-signature method lastWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse}) → core::Object*; -> core::Iterable::lastWhere
+  abstract member-signature method singleWhere((core::Object*) →* core::bool* test, {generic-covariant-impl () →* core::Object* orElse}) → core::Object*; -> core::Iterable::singleWhere
+  abstract member-signature method elementAt(core::int* index) → core::Object*; -> core::Iterable::elementAt
+  abstract member-signature method toString() → core::String*; -> core::Iterable::toString
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature get iterator() → core::Iterator<core::Object*>*; -> core::Iterable::iterator
+}
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.outline.expect
deleted file mode 100644
index 4c2eb20..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
-static method foo() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.strong.expect
deleted file mode 100644
index b24bbda..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.strong.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart:23:21: Error: Not enough type information to disambiguate between literal set and literal map.
-// Try providing type arguments for the literal explicitly to disambiguate it.
-//   final aSetOrMap = {...foo()};
-//                     ^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-static method main() → dynamic {
-  final core::List<core::int*>* aList = block {
-    final core::List<core::int*>* #t1 = <core::int*>[];
-    #t1.{core::List::add}(1);
-    for (final core::int* #t2 in <core::int*>[2])
-      #t1.{core::List::add}(#t2);
-    final core::Iterable<core::int*>* #t3 = <core::int*>[3];
-    if(!#t3.{core::Object::==}(null))
-      for (final core::int* #t4 in #t3)
-        #t1.{core::List::add}(#t4);
-  } =>#t1;
-  final core::Map<core::int*, core::int*>* aMap = block {
-    final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{};
-    #t5.{core::Map::[]=}(1, 1);
-    for (final core::MapEntry<core::int*, core::int*>* #t6 in <core::int*, core::int*>{2: 2}.{core::Map::entries})
-      #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
-    final core::Map<core::int*, core::int*>* #t7 = <core::int*, core::int*>{3: 3};
-    if(!#t7.{core::Object::==}(null))
-      for (final core::MapEntry<core::int*, core::int*>* #t8 in #t7.{core::Map::entries})
-        #t5.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
-  } =>#t5;
-  final core::Set<core::int*>* aSet = block {
-    final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
-    #t9.{core::Set::add}(1);
-    for (final core::int* #t10 in <core::int*>[2])
-      #t9.{core::Set::add}(#t10);
-    final core::Iterable<core::int*>* #t11 = <core::int*>[3];
-    if(!#t11.{core::Object::==}(null))
-      for (final core::int* #t12 in #t11)
-        #t9.{core::Set::add}(#t12);
-  } =>#t9;
-  final dynamic aSetOrMap = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart:23:21: Error: Not enough type information to disambiguate between literal set and literal map.
-Try providing type arguments for the literal explicitly to disambiguate it.
-  final aSetOrMap = {...foo()};
-                    ^";
-  core::print(aList);
-  core::print(aSet);
-  core::print(aMap);
-}
-static method foo() → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.strong.transformed.expect
deleted file mode 100644
index d860998..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.strong.transformed.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart:23:21: Error: Not enough type information to disambiguate between literal set and literal map.
-// Try providing type arguments for the literal explicitly to disambiguate it.
-//   final aSetOrMap = {...foo()};
-//                     ^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-static method main() → dynamic {
-  final core::List<core::int*>* aList = block {
-    final core::List<core::int*>* #t1 = <core::int*>[];
-    #t1.{core::List::add}(1);
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[2].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t2 = :sync-for-iterator.{core::Iterator::current};
-        #t1.{core::List::add}(#t2);
-      }
-    }
-    final core::Iterable<core::int*>* #t3 = <core::int*>[3];
-    if(!#t3.{core::Object::==}(null)) {
-      core::Iterator<core::int*>* :sync-for-iterator = #t3.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t4 = :sync-for-iterator.{core::Iterator::current};
-        #t1.{core::List::add}(#t4);
-      }
-    }
-  } =>#t1;
-  final core::Map<core::int*, core::int*>* aMap = block {
-    final core::Map<core::int*, core::int*>* #t5 = <core::int*, core::int*>{};
-    #t5.{core::Map::[]=}(1, 1);
-    {
-      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{2: 2}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::int*, core::int*>* #t6 = :sync-for-iterator.{core::Iterator::current};
-        #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
-      }
-    }
-    final core::Map<core::int*, core::int*>* #t7 = <core::int*, core::int*>{3: 3};
-    if(!#t7.{core::Object::==}(null)) {
-      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t7.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::int*, core::int*>* #t8 = :sync-for-iterator.{core::Iterator::current};
-        #t5.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
-      }
-    }
-  } =>#t5;
-  final core::Set<core::int*>* aSet = block {
-    final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
-    #t9.{core::Set::add}(1);
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[2].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t10 = :sync-for-iterator.{core::Iterator::current};
-        #t9.{core::Set::add}(#t10);
-      }
-    }
-    final core::Iterable<core::int*>* #t11 = <core::int*>[3];
-    if(!#t11.{core::Object::==}(null)) {
-      core::Iterator<core::int*>* :sync-for-iterator = #t11.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t12 = :sync-for-iterator.{core::Iterator::current};
-        #t9.{core::Set::add}(#t12);
-      }
-    }
-  } =>#t9;
-  final dynamic aSetOrMap = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart:23:21: Error: Not enough type information to disambiguate between literal set and literal map.
-Try providing type arguments for the literal explicitly to disambiguate it.
-  final aSetOrMap = {...foo()};
-                    ^";
-  core::print(aList);
-  core::print(aSet);
-  core::print(aMap);
-}
-static method foo() → dynamic
-  return null;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general_nnbd_opt_out/await_in_non_async.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/spread_collection.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.strong.expect
deleted file mode 100644
index 5ff3546..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.strong.expect
+++ /dev/null
@@ -1,394 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
-// Try providing type arguments for the literal explicitly to disambiguate it.
-//   dynamic map21ambiguous = {...(mapSpread as dynamic)};
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-//   dynamic map24ambiguous = {...spread, ...mapSpread};
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:100:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
-//  - 'List' is from 'dart:core'.
-//   int lhs30 = /*@ typeArgs=int* */ [...spread];
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:102:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
-//  - 'Set' is from 'dart:core'.
-//   int set30 = /*@ typeArgs=int* */ {...spread, 42};
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
-//  - 'Set' is from 'dart:core'.
-//       {...spread};
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
-//  - 'Map' is from 'dart:core'.
-//       {...mapSpread, "baz": 42};
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
-//  - 'Map' is from 'dart:core'.
-//       {...mapSpread};
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
-//   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
-//   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
-//                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
-//   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
-//                                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
-//   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
-//   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
-//                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry.  Expected 'dynamic' or a Map.
-//   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
-//                                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
-//   List<String> lhs60 = <String>[...spread];
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
-//   Set<String> set60 = <String>{...spread};
-//                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
-//   Map<int, int> map60 = <int, int>{...mapSpread};
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
-//   Map<String, String> map61 = <String, String>{...mapSpread};
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type Null.
-//   List<int> lhs70 = <int>[...null];
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type Null.
-//   Set<int> set70 = <int>{...null};
-//                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type Null.
-//     ...null,
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Expected ',' before this.
-//     ...null,
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type Null.
-//   Map<String, int> map70 = <String, int>{...null};
-//                                             ^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-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];
-  core::List<dynamic>* lhs10 = block {
-    final core::List<dynamic>* #t1 = <dynamic>[];
-    for (final dynamic #t2 in <dynamic>[])
-      #t1.{core::List::add}(#t2);
-  } =>#t1;
-  core::Set<dynamic>* set10 = block {
-    final core::Set<dynamic>* #t3 = col::LinkedHashSet::•<dynamic>();
-    for (final dynamic #t4 in <dynamic>[])
-      #t3.{core::Set::add}(#t4);
-  } =>#t3;
-  core::Map<dynamic, dynamic>* map10 = block {
-    final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
-    for (final core::MapEntry<dynamic, dynamic>* #t6 in <dynamic, dynamic>{}.{core::Map::entries})
-      #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
-  } =>#t5;
-  core::Map<dynamic, dynamic>* map10ambiguous = block {
-    final core::Map<dynamic, dynamic>* #t7 = <dynamic, dynamic>{};
-    for (final core::MapEntry<dynamic, dynamic>* #t8 in <dynamic, dynamic>{}.{core::Map::entries})
-      #t7.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
-  } =>#t7;
-  core::List<core::int*>* lhs20 = block {
-    final core::List<core::int*>* #t9 = <core::int*>[];
-    for (final core::int* #t10 in spread)
-      #t9.{core::List::add}(#t10);
-  } =>#t9;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t11 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t12 in spread)
-      #t11.{core::Set::add}(#t12);
-    #t11.{core::Set::add}(42);
-  } =>#t11;
-  core::Set<core::int*>* set20ambiguous = block {
-    final core::Set<core::int*>* #t13 = col::LinkedHashSet::•<core::int*>();
-    for (final dynamic #t14 in spread) {
-      final core::int* #t15 = #t14 as{TypeError} core::int*;
-      #t13.{core::Set::add}(#t15);
-    }
-  } =>#t13;
-  core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t16 = <core::String*, core::int*>{};
-    for (final core::MapEntry<core::String*, core::int*>* #t17 in mapSpread.{core::Map::entries})
-      #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
-    #t16.{core::Map::[]=}("baz", 42);
-  } =>#t16;
-  core::Map<core::String*, core::int*>* map20ambiguous = block {
-    final core::Map<core::String*, core::int*>* #t18 = <core::String*, core::int*>{};
-    for (final core::MapEntry<core::String*, core::int*>* #t19 in mapSpread.{core::Map::entries})
-      #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
-  } =>#t18;
-  core::List<dynamic>* lhs21 = block {
-    final core::List<dynamic>* #t20 = <dynamic>[];
-    for (final dynamic #t21 in (spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t20.{core::List::add}(#t21);
-  } =>#t20;
-  core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t22 = col::LinkedHashSet::•<dynamic>();
-    for (final dynamic #t23 in (spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t22.{core::Set::add}(#t23);
-    #t22.{core::Set::add}(42);
-  } =>#t22;
-  core::Map<dynamic, dynamic>* map21 = block {
-    final core::Map<dynamic, dynamic>* #t24 = <dynamic, dynamic>{};
-    for (final core::MapEntry<dynamic, dynamic>* #t25 in ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries})
-      #t24.{core::Map::[]=}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
-    #t24.{core::Map::[]=}("baz", 42);
-  } =>#t24;
-  dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
-Try providing type arguments for the literal explicitly to disambiguate it.
-  dynamic map21ambiguous = {...(mapSpread as dynamic)};
-                           ^";
-  core::List<core::int*>* lhs22 = block {
-    final core::List<core::int*>* #t26 = <core::int*>[];
-    for (final core::int* #t27 in <core::int*>[])
-      #t26.{core::List::add}(#t27);
-  } =>#t26;
-  core::Set<core::int*>* set22 = block {
-    final core::Set<core::int*>* #t28 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t29 in <core::int*>[])
-      #t28.{core::Set::add}(#t29);
-    #t28.{core::Set::add}(42);
-  } =>#t28;
-  core::Set<core::int*>* set22ambiguous = block {
-    final core::Set<core::int*>* #t30 = col::LinkedHashSet::•<core::int*>();
-    for (final dynamic #t31 in <core::int*>[]) {
-      final core::int* #t32 = #t31 as{TypeError} core::int*;
-      #t30.{core::Set::add}(#t32);
-    }
-  } =>#t30;
-  core::Map<core::String*, core::int*>* map22 = block {
-    final core::Map<core::String*, core::int*>* #t33 = <core::String*, core::int*>{};
-    for (final core::MapEntry<core::String*, core::int*>* #t34 in <core::String*, core::int*>{}.{core::Map::entries})
-      #t33.{core::Map::[]=}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
-  } =>#t33;
-  core::List<core::List<core::int*>*>* lhs23 = block {
-    final core::List<core::List<core::int*>*>* #t35 = <core::List<core::int*>*>[];
-    for (final core::List<core::int*>* #t36 in <core::List<core::int*>*>[<core::int*>[]])
-      #t35.{core::List::add}(#t36);
-  } =>#t35;
-  core::Set<core::List<core::int*>*>* set23 = block {
-    final core::Set<core::List<core::int*>*>* #t37 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (final core::List<core::int*>* #t38 in <core::List<core::int*>*>[<core::int*>[]])
-      #t37.{core::Set::add}(#t38);
-    #t37.{core::Set::add}(<core::int*>[42]);
-  } =>#t37;
-  core::Set<core::List<core::int*>*>* set23ambiguous = block {
-    final core::Set<core::List<core::int*>*>* #t39 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (final dynamic #t40 in <core::List<core::int*>*>[<core::int*>[]]) {
-      final core::List<core::int*>* #t41 = #t40 as{TypeError} core::List<core::int*>*;
-      #t39.{core::Set::add}(#t41);
-    }
-  } =>#t39;
-  core::Map<core::String*, core::List<core::int*>*>* map23 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
-    for (final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 in <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries})
-      #t42.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
-  } =>#t42;
-  dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-  dynamic map24ambiguous = {...spread, ...mapSpread};
-                           ^";
-  core::int* lhs30 = let final<BottomType> #t44 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:100:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
- - 'List' is from 'dart:core'.
-  int lhs30 = /*@ typeArgs=int* */ [...spread];
-                                   ^" in ( block {
-    final core::List<core::int*>* #t45 = <core::int*>[];
-    for (final core::int* #t46 in spread)
-      #t45.{core::List::add}(#t46);
-  } =>#t45) as{TypeError} core::int*;
-  core::int* set30 = let final<BottomType> #t47 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:102:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- - 'Set' is from 'dart:core'.
-  int set30 = /*@ typeArgs=int* */ {...spread, 42};
-                                   ^" in ( block {
-    final core::Set<core::int*>* #t48 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t49 in spread)
-      #t48.{core::Set::add}(#t49);
-    #t48.{core::Set::add}(42);
-  } =>#t48) as{TypeError} core::int*;
-  core::int* set30ambiguous = let final<BottomType> #t50 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- - 'Set' is from 'dart:core'.
-      {...spread};
-      ^" in ( block {
-    final core::Set<core::int*>* #t51 = col::LinkedHashSet::•<core::int*>();
-    for (final dynamic #t52 in spread) {
-      final core::int* #t53 = #t52 as{TypeError} core::int*;
-      #t51.{core::Set::add}(#t53);
-    }
-  } =>#t51) as{TypeError} core::int*;
-  core::int* map30 = let final<BottomType> #t54 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- - 'Map' is from 'dart:core'.
-      {...mapSpread, \"baz\": 42};
-      ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t55 = <core::String*, core::int*>{};
-    for (final core::MapEntry<core::String*, core::int*>* #t56 in mapSpread.{core::Map::entries})
-      #t55.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
-    #t55.{core::Map::[]=}("baz", 42);
-  } =>#t55) as{TypeError} core::int*;
-  core::int* map30ambiguous = let final<BottomType> #t57 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- - 'Map' is from 'dart:core'.
-      {...mapSpread};
-      ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t58 = <core::String*, core::int*>{};
-    for (final core::MapEntry<core::String*, core::int*>* #t59 in mapSpread.{core::Map::entries})
-      #t58.{core::Map::[]=}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
-  } =>#t58) as{TypeError} core::int*;
-  core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
-  List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
-                                     ^"];
-  core::Set<dynamic>* set40 = let final core::Set<dynamic>* #t60 = col::LinkedHashSet::•<dynamic>() in let final dynamic #t61 = #t60.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
-  Set<dynamic> set40 = <dynamic>{...notSpreadInt};
-                                    ^") in #t60;
-  core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
-  Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
-                                                      ^": null};
-  core::List<dynamic>* lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
-  List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
-                                     ^"];
-  core::Set<dynamic>* set50 = let final core::Set<dynamic>* #t62 = col::LinkedHashSet::•<dynamic>() in let final dynamic #t63 = #t62.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
-  Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
-                                    ^") in #t62;
-  core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry.  Expected 'dynamic' or a Map.
-  Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
-                                                      ^": null};
-  core::List<core::String*>* lhs60 = <core::String*>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
-  List<String> lhs60 = <String>[...spread];
-                                   ^"];
-  core::Set<core::String*>* set60 = let final core::Set<core::String*>* #t64 = col::LinkedHashSet::•<core::String*>() in let final dynamic #t65 = #t64.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
-  Set<String> set60 = <String>{...spread};
-                                  ^") in #t64;
-  core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
-  Map<int, int> map60 = <int, int>{...mapSpread};
-                                      ^": null};
-  core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{null: invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
-  Map<String, String> map61 = <String, String>{...mapSpread};
-                                                  ^"};
-  core::List<core::int*>* lhs70 = <core::int*>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type Null.
-  List<int> lhs70 = <int>[...null];
-                             ^"];
-  core::Set<core::int*>* set70 = let final core::Set<core::int*>* #t66 = col::LinkedHashSet::•<core::int*>() in let final dynamic #t67 = #t66.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type Null.
-  Set<int> set70 = <int>{...null};
-                            ^") in #t66;
-  core::Set<dynamic>* set71ambiguous = block {
-    final core::Set<dynamic>* #t68 = col::LinkedHashSet::•<dynamic>();
-    #t68.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Expected ',' before this.
-    ...null,
-       ^");
-    for (final dynamic #t69 in <dynamic>[]) {
-      final dynamic #t70 = #t69 as{TypeError} dynamic;
-      #t68.{core::Set::add}(#t70);
-    }
-  } =>#t68;
-  core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type Null.
-  Map<String, int> map70 = <String, int>{...null};
-                                            ^": null};
-  core::List<core::int*>* lhs80 = block {
-    final core::List<core::int*>* #t71 = <core::int*>[];
-    final core::Iterable<core::int*>* #t72 = null;
-    if(!#t72.{core::Object::==}(null))
-      for (final core::int* #t73 in #t72)
-        #t71.{core::List::add}(#t73);
-  } =>#t71;
-  core::Set<core::int*>* set80 = block {
-    final core::Set<core::int*>* #t74 = col::LinkedHashSet::•<core::int*>();
-    final core::Iterable<core::int*>* #t75 = null;
-    if(!#t75.{core::Object::==}(null))
-      for (final core::int* #t76 in #t75)
-        #t74.{core::Set::add}(#t76);
-  } =>#t74;
-  core::Set<dynamic>* set81ambiguous = block {
-    final core::Set<dynamic>* #t77 = col::LinkedHashSet::•<dynamic>();
-    final core::Iterable<dynamic>* #t78 = null;
-    if(!#t78.{core::Object::==}(null))
-      for (final dynamic #t79 in #t78) {
-        final dynamic #t80 = #t79 as{TypeError} dynamic;
-        #t77.{core::Set::add}(#t80);
-      }
-    for (final dynamic #t81 in <dynamic>[]) {
-      final dynamic #t82 = #t81 as{TypeError} dynamic;
-      #t77.{core::Set::add}(#t82);
-    }
-  } =>#t77;
-  core::Map<core::String*, core::int*>* map80 = block {
-    final core::Map<core::String*, core::int*>* #t83 = <core::String*, core::int*>{};
-    final core::Map<core::String*, core::int*>* #t84 = null;
-    if(!#t84.{core::Object::==}(null))
-      for (final core::MapEntry<core::String*, core::int*>* #t85 in #t84.{core::Map::entries})
-        #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
-  } =>#t83;
-  core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t86 = <core::String*, core::int*>{};
-    for (final core::MapEntry<core::String*, core::int*>* #t87 in self::bar<core::String*, core::int*>().{core::Map::entries})
-      #t86.{core::Map::[]=}(#t87.{core::MapEntry::key}, #t87.{core::MapEntry::value});
-  } =>#t86;
-  core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t88 = <core::int*>[];
-    for (final dynamic #t89 in listNum) {
-      final core::int* #t90 = #t89 as{TypeError} core::int*;
-      #t88.{core::List::add}(#t90);
-    }
-  } =>#t88;
-  core::Map<core::num*, core::int*>* map100 = block {
-    final core::Map<core::num*, core::int*>* #t91 = <core::num*, core::int*>{};
-    for (final core::MapEntry<dynamic, dynamic>* #t92 in mapIntNum.{core::Map::entries}) {
-      final core::num* #t93 = #t92.{core::MapEntry::key} as{TypeError} core::num*;
-      final core::int* #t94 = #t92.{core::MapEntry::value} as{TypeError} core::int*;
-      #t91.{core::Map::[]=}(#t93, #t94);
-    }
-  } =>#t91;
-  core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t95 = <core::int*>[];
-    for (final dynamic #t96 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-      final core::int* #t97 = #t96 as{TypeError} core::int*;
-      #t95.{core::List::add}(#t97);
-    }
-  } =>#t95;
-  core::Map<core::num*, core::int*>* map110 = block {
-    final core::Map<core::num*, core::int*>* #t98 = <core::num*, core::int*>{};
-    for (final core::MapEntry<dynamic, dynamic>* #t99 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}) {
-      final core::num* #t100 = #t99.{core::MapEntry::key} as{TypeError} core::num*;
-      final core::int* #t101 = #t99.{core::MapEntry::value} as{TypeError} core::int*;
-      #t98.{core::Map::[]=}(#t100, #t101);
-    }
-  } =>#t98;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.strong.transformed.expect
deleted file mode 100644
index 69e0bad..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.strong.transformed.expect
+++ /dev/null
@@ -1,581 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
-// Try providing type arguments for the literal explicitly to disambiguate it.
-//   dynamic map21ambiguous = {...(mapSpread as dynamic)};
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-//   dynamic map24ambiguous = {...spread, ...mapSpread};
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:100:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
-//  - 'List' is from 'dart:core'.
-//   int lhs30 = /*@ typeArgs=int* */ [...spread];
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:102:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
-//  - 'Set' is from 'dart:core'.
-//   int set30 = /*@ typeArgs=int* */ {...spread, 42};
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
-//  - 'Set' is from 'dart:core'.
-//       {...spread};
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
-//  - 'Map' is from 'dart:core'.
-//       {...mapSpread, "baz": 42};
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
-//  - 'Map' is from 'dart:core'.
-//       {...mapSpread};
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
-//   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
-//   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
-//                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
-//   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
-//                                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
-//   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
-//                                      ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
-//   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
-//                                     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry.  Expected 'dynamic' or a Map.
-//   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
-//                                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
-//   List<String> lhs60 = <String>[...spread];
-//                                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
-//   Set<String> set60 = <String>{...spread};
-//                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
-//   Map<int, int> map60 = <int, int>{...mapSpread};
-//                                       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
-//   Map<String, String> map61 = <String, String>{...mapSpread};
-//                                                   ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type Null.
-//   List<int> lhs70 = <int>[...null];
-//                              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type Null.
-//   Set<int> set70 = <int>{...null};
-//                             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type Null.
-//     ...null,
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Expected ',' before this.
-//     ...null,
-//        ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type Null.
-//   Map<String, int> map70 = <String, int>{...null};
-//                                             ^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:collection" as col;
-
-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];
-  core::List<dynamic>* lhs10 = block {
-    final core::List<dynamic>* #t1 = <dynamic>[];
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t2 = :sync-for-iterator.{core::Iterator::current};
-        #t1.{core::List::add}(#t2);
-      }
-    }
-  } =>#t1;
-  core::Set<dynamic>* set10 = block {
-    final core::Set<dynamic>* #t3 = col::LinkedHashSet::•<dynamic>();
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t4 = :sync-for-iterator.{core::Iterator::current};
-        #t3.{core::Set::add}(#t4);
-      }
-    }
-  } =>#t3;
-  core::Map<dynamic, dynamic>* map10 = block {
-    final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current};
-        #t5.{core::Map::[]=}(#t6.{core::MapEntry::key}, #t6.{core::MapEntry::value});
-      }
-    }
-  } =>#t5;
-  core::Map<dynamic, dynamic>* map10ambiguous = block {
-    final core::Map<dynamic, dynamic>* #t7 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<dynamic, dynamic>* #t8 = :sync-for-iterator.{core::Iterator::current};
-        #t7.{core::Map::[]=}(#t8.{core::MapEntry::key}, #t8.{core::MapEntry::value});
-      }
-    }
-  } =>#t7;
-  core::List<core::int*>* lhs20 = block {
-    final core::List<core::int*>* #t9 = <core::int*>[];
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t10 = :sync-for-iterator.{core::Iterator::current};
-        #t9.{core::List::add}(#t10);
-      }
-    }
-  } =>#t9;
-  core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t11 = col::LinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t12 = :sync-for-iterator.{core::Iterator::current};
-        #t11.{core::Set::add}(#t12);
-      }
-    }
-    #t11.{core::Set::add}(42);
-  } =>#t11;
-  core::Set<core::int*>* set20ambiguous = block {
-    final core::Set<core::int*>* #t13 = col::LinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t14 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t15 = #t14 as{TypeError} core::int*;
-          #t13.{core::Set::add}(#t15);
-        }
-      }
-    }
-  } =>#t13;
-  core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t16 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t17 = :sync-for-iterator.{core::Iterator::current};
-        #t16.{core::Map::[]=}(#t17.{core::MapEntry::key}, #t17.{core::MapEntry::value});
-      }
-    }
-    #t16.{core::Map::[]=}("baz", 42);
-  } =>#t16;
-  core::Map<core::String*, core::int*>* map20ambiguous = block {
-    final core::Map<core::String*, core::int*>* #t18 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t19 = :sync-for-iterator.{core::Iterator::current};
-        #t18.{core::Map::[]=}(#t19.{core::MapEntry::key}, #t19.{core::MapEntry::value});
-      }
-    }
-  } =>#t18;
-  core::List<dynamic>* lhs21 = block {
-    final core::List<dynamic>* #t20 = <dynamic>[];
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = ((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t21 = :sync-for-iterator.{core::Iterator::current};
-        #t20.{core::List::add}(#t21);
-      }
-    }
-  } =>#t20;
-  core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t22 = col::LinkedHashSet::•<dynamic>();
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = ((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t23 = :sync-for-iterator.{core::Iterator::current};
-        #t22.{core::Set::add}(#t23);
-      }
-    }
-    #t22.{core::Set::add}(42);
-  } =>#t22;
-  core::Map<dynamic, dynamic>* map21 = block {
-    final core::Map<dynamic, dynamic>* #t24 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<dynamic, dynamic>* #t25 = :sync-for-iterator.{core::Iterator::current};
-        #t24.{core::Map::[]=}(#t25.{core::MapEntry::key}, #t25.{core::MapEntry::value});
-      }
-    }
-    #t24.{core::Map::[]=}("baz", 42);
-  } =>#t24;
-  dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
-Try providing type arguments for the literal explicitly to disambiguate it.
-  dynamic map21ambiguous = {...(mapSpread as dynamic)};
-                           ^";
-  core::List<core::int*>* lhs22 = block {
-    final core::List<core::int*>* #t26 = <core::int*>[];
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t27 = :sync-for-iterator.{core::Iterator::current};
-        #t26.{core::List::add}(#t27);
-      }
-    }
-  } =>#t26;
-  core::Set<core::int*>* set22 = block {
-    final core::Set<core::int*>* #t28 = col::LinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t29 = :sync-for-iterator.{core::Iterator::current};
-        #t28.{core::Set::add}(#t29);
-      }
-    }
-    #t28.{core::Set::add}(42);
-  } =>#t28;
-  core::Set<core::int*>* set22ambiguous = block {
-    final core::Set<core::int*>* #t30 = col::LinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = <core::int*>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t31 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t32 = #t31 as{TypeError} core::int*;
-          #t30.{core::Set::add}(#t32);
-        }
-      }
-    }
-  } =>#t30;
-  core::Map<core::String*, core::int*>* map22 = block {
-    final core::Map<core::String*, core::int*>* #t33 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t34 = :sync-for-iterator.{core::Iterator::current};
-        #t33.{core::Map::[]=}(#t34.{core::MapEntry::key}, #t34.{core::MapEntry::value});
-      }
-    }
-  } =>#t33;
-  core::List<core::List<core::int*>*>* lhs23 = block {
-    final core::List<core::List<core::int*>*>* #t35 = <core::List<core::int*>*>[];
-    {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t36 = :sync-for-iterator.{core::Iterator::current};
-        #t35.{core::List::add}(#t36);
-      }
-    }
-  } =>#t35;
-  core::Set<core::List<core::int*>*>* set23 = block {
-    final core::Set<core::List<core::int*>*>* #t37 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::List<core::int*>* #t38 = :sync-for-iterator.{core::Iterator::current};
-        #t37.{core::Set::add}(#t38);
-      }
-    }
-    #t37.{core::Set::add}(<core::int*>[42]);
-  } =>#t37;
-  core::Set<core::List<core::int*>*>* set23ambiguous = block {
-    final core::Set<core::List<core::int*>*>* #t39 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = <core::List<core::int*>*>[<core::int*>[]].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t40 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::List<core::int*>* #t41 = #t40 as{TypeError} core::List<core::int*>*;
-          #t39.{core::Set::add}(#t41);
-        }
-      }
-    }
-  } =>#t39;
-  core::Map<core::String*, core::List<core::int*>*>* map23 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 = :sync-for-iterator.{core::Iterator::current};
-        #t42.{core::Map::[]=}(#t43.{core::MapEntry::key}, #t43.{core::MapEntry::value});
-      }
-    }
-  } =>#t42;
-  dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
-  dynamic map24ambiguous = {...spread, ...mapSpread};
-                           ^";
-  core::int* lhs30 = let final<BottomType> #t44 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:100:36: Error: A value of type 'List<int>' can't be assigned to a variable of type 'int'.
- - 'List' is from 'dart:core'.
-  int lhs30 = /*@ typeArgs=int* */ [...spread];
-                                   ^" in ( block {
-    final core::List<core::int*>* #t45 = <core::int*>[];
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t46 = :sync-for-iterator.{core::Iterator::current};
-        #t45.{core::List::add}(#t46);
-      }
-    }
-  } =>#t45) as{TypeError} core::int*;
-  core::int* set30 = let final<BottomType> #t47 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:102:36: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- - 'Set' is from 'dart:core'.
-  int set30 = /*@ typeArgs=int* */ {...spread, 42};
-                                   ^" in ( block {
-    final core::Set<core::int*>* #t48 = col::LinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t49 = :sync-for-iterator.{core::Iterator::current};
-        #t48.{core::Set::add}(#t49);
-      }
-    }
-    #t48.{core::Set::add}(42);
-  } =>#t48) as{TypeError} core::int*;
-  core::int* set30ambiguous = let final<BottomType> #t50 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
- - 'Set' is from 'dart:core'.
-      {...spread};
-      ^" in ( block {
-    final core::Set<core::int*>* #t51 = col::LinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t52 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t53 = #t52 as{TypeError} core::int*;
-          #t51.{core::Set::add}(#t53);
-        }
-      }
-    }
-  } =>#t51) as{TypeError} core::int*;
-  core::int* map30 = let final<BottomType> #t54 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- - 'Map' is from 'dart:core'.
-      {...mapSpread, \"baz\": 42};
-      ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t55 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t56 = :sync-for-iterator.{core::Iterator::current};
-        #t55.{core::Map::[]=}(#t56.{core::MapEntry::key}, #t56.{core::MapEntry::value});
-      }
-    }
-    #t55.{core::Map::[]=}("baz", 42);
-  } =>#t55) as{TypeError} core::int*;
-  core::int* map30ambiguous = let final<BottomType> #t57 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
- - 'Map' is from 'dart:core'.
-      {...mapSpread};
-      ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t58 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t59 = :sync-for-iterator.{core::Iterator::current};
-        #t58.{core::Map::[]=}(#t59.{core::MapEntry::key}, #t59.{core::MapEntry::value});
-      }
-    }
-  } =>#t58) as{TypeError} core::int*;
-  core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
-  List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
-                                     ^"];
-  core::Set<dynamic>* set40 = let final core::Set<dynamic>* #t60 = col::LinkedHashSet::•<dynamic>() in let final core::bool #t61 = #t60.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
-  Set<dynamic> set40 = <dynamic>{...notSpreadInt};
-                                    ^") in #t60;
-  core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
-  Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
-                                                      ^": null};
-  core::List<dynamic>* lhs50 = <dynamic>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:119:38: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
-  List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
-                                     ^"];
-  core::Set<dynamic>* set50 = let final core::Set<dynamic>* #t62 = col::LinkedHashSet::•<dynamic>() in let final core::bool #t63 = #t62.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
-  Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
-                                    ^") in #t62;
-  core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry.  Expected 'dynamic' or a Map.
-  Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
-                                                      ^": null};
-  core::List<core::String*>* lhs60 = <core::String*>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:125:36: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
-  List<String> lhs60 = <String>[...spread];
-                                   ^"];
-  core::Set<core::String*>* set60 = let final core::Set<core::String*>* #t64 = col::LinkedHashSet::•<core::String*>() in let final core::bool #t65 = #t64.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
-  Set<String> set60 = <String>{...spread};
-                                  ^") in #t64;
-  core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
-  Map<int, int> map60 = <int, int>{...mapSpread};
-                                      ^": null};
-  core::Map<core::String*, core::String*>* map61 = <core::String*, core::String*>{null: invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:131:51: Error: Can't assign spread entry values of type 'int' to map entry values of type 'String'.
-  Map<String, String> map61 = <String, String>{...mapSpread};
-                                                  ^"};
-  core::List<core::int*>* lhs70 = <core::int*>[invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:133:30: Error: Can't spread a value with static type Null.
-  List<int> lhs70 = <int>[...null];
-                             ^"];
-  core::Set<core::int*>* set70 = let final core::Set<core::int*>* #t66 = col::LinkedHashSet::•<core::int*>() in let final core::bool #t67 = #t66.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type Null.
-  Set<int> set70 = <int>{...null};
-                            ^") in #t66;
-  core::Set<dynamic>* set71ambiguous = block {
-    final core::Set<dynamic>* #t68 = col::LinkedHashSet::•<dynamic>();
-    #t68.{core::Set::add}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:139:8: Error: Expected ',' before this.
-    ...null,
-       ^");
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t69 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final dynamic #t70 = #t69 as{TypeError} dynamic;
-          #t68.{core::Set::add}(#t70);
-        }
-      }
-    }
-  } =>#t68;
-  core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type Null.
-  Map<String, int> map70 = <String, int>{...null};
-                                            ^": null};
-  core::List<core::int*>* lhs80 = block {
-    final core::List<core::int*>* #t71 = <core::int*>[];
-    final core::Iterable<core::int*>* #t72 = null;
-    if(!#t72.{core::Object::==}(null)) {
-      core::Iterator<core::int*>* :sync-for-iterator = #t72.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t73 = :sync-for-iterator.{core::Iterator::current};
-        #t71.{core::List::add}(#t73);
-      }
-    }
-  } =>#t71;
-  core::Set<core::int*>* set80 = block {
-    final core::Set<core::int*>* #t74 = col::LinkedHashSet::•<core::int*>();
-    final core::Iterable<core::int*>* #t75 = null;
-    if(!#t75.{core::Object::==}(null)) {
-      core::Iterator<core::int*>* :sync-for-iterator = #t75.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::int* #t76 = :sync-for-iterator.{core::Iterator::current};
-        #t74.{core::Set::add}(#t76);
-      }
-    }
-  } =>#t74;
-  core::Set<dynamic>* set81ambiguous = block {
-    final core::Set<dynamic>* #t77 = col::LinkedHashSet::•<dynamic>();
-    final core::Iterable<dynamic>* #t78 = null;
-    if(!#t78.{core::Object::==}(null)) {
-      core::Iterator<dynamic>* :sync-for-iterator = #t78.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t79 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final dynamic #t80 = #t79 as{TypeError} dynamic;
-          #t77.{core::Set::add}(#t80);
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = <dynamic>[].{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t81 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final dynamic #t82 = #t81 as{TypeError} dynamic;
-          #t77.{core::Set::add}(#t82);
-        }
-      }
-    }
-  } =>#t77;
-  core::Map<core::String*, core::int*>* map80 = block {
-    final core::Map<core::String*, core::int*>* #t83 = <core::String*, core::int*>{};
-    final core::Map<core::String*, core::int*>* #t84 = null;
-    if(!#t84.{core::Object::==}(null)) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = #t84.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t85 = :sync-for-iterator.{core::Iterator::current};
-        #t83.{core::Map::[]=}(#t85.{core::MapEntry::key}, #t85.{core::MapEntry::value});
-      }
-    }
-  } =>#t83;
-  core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t86 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = self::bar<core::String*, core::int*>().{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<core::String*, core::int*>* #t87 = :sync-for-iterator.{core::Iterator::current};
-        #t86.{core::Map::[]=}(#t87.{core::MapEntry::key}, #t87.{core::MapEntry::value});
-      }
-    }
-  } =>#t86;
-  core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t88 = <core::int*>[];
-    {
-      core::Iterator<core::num*>* :sync-for-iterator = listNum.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t89 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t90 = #t89 as{TypeError} core::int*;
-          #t88.{core::List::add}(#t90);
-        }
-      }
-    }
-  } =>#t88;
-  core::Map<core::num*, core::int*>* map100 = block {
-    final core::Map<core::num*, core::int*>* #t91 = <core::num*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::int*, core::num*>>* :sync-for-iterator = mapIntNum.{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<dynamic, dynamic>* #t92 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::num* #t93 = #t92.{core::MapEntry::key} as{TypeError} core::num*;
-          final core::int* #t94 = #t92.{core::MapEntry::value} as{TypeError} core::int*;
-          #t91.{core::Map::[]=}(#t93, #t94);
-        }
-      }
-    }
-  } =>#t91;
-  core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t95 = <core::int*>[];
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final dynamic #t96 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::int* #t97 = #t96 as{TypeError} core::int*;
-          #t95.{core::List::add}(#t97);
-        }
-      }
-    }
-  } =>#t95;
-  core::Map<core::num*, core::int*>* map110 = block {
-    final core::Map<core::num*, core::int*>* #t98 = <core::num*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}.{core::Iterable::iterator};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(); ) {
-        final core::MapEntry<dynamic, dynamic>* #t99 = :sync-for-iterator.{core::Iterator::current};
-        {
-          final core::num* #t100 = #t99.{core::MapEntry::key} as{TypeError} core::num*;
-          final core::int* #t101 = #t99.{core::MapEntry::value} as{TypeError} core::int*;
-          #t98.{core::Map::[]=}(#t100, #t101);
-        }
-      }
-    }
-  } =>#t98;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/spread_collection_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/statements.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/statements.dart.outline.expect
deleted file mode 100644
index 122c9cb1..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/statements.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library;
-import self as self;
-
-static method foo() → dynamic
-  ;
-static method bar() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/statements.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/statements.dart.strong.expect
deleted file mode 100644
index 4059d89..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/statements.dart.strong.expect
+++ /dev/null
@@ -1,180 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/statements.dart:17:5: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-//     yield x;
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/statements.dart:18:5: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
-//     yield* x;
-//     ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/statements.dart:16:23: Error: The type 'List<dynamic>' used in the 'for' loop must implement 'Stream<dynamic>'.
-//  - 'List' is from 'dart:core'.
-//  - 'Stream' is from 'dart:async'.
-//   await for (var x in []) {
-//                       ^
-//
-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 async {
-  await for (dynamic x in let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/statements.dart:16:23: Error: The type 'List<dynamic>' used in the 'for' loop must implement 'Stream<dynamic>'.
- - 'List' is from 'dart:core'.
- - 'Stream' is from 'dart:async'.
-  await for (var x in []) {
-                      ^" in <dynamic>[] as{TypeError} asy::Stream<dynamic>*) {
-    yield x;
-    yield* x;
-  }
-}
-static method main() → dynamic {
-  do {
-    core::print("Hello from do-while!");
-  }
-  while (false)
-  do {
-    void x = core::print("Hello from do-while!");
-  }
-  while (false)
-  for (core::String* s in <core::String*>["Hello from for-in!"]) {
-    core::print(s);
-  }
-  for (core::String* s in <core::String*>["Hello from for-in without block!"])
-    core::print(s);
-  dynamic s;
-  for (final dynamic #t2 in <dynamic>["Hello from for-in without decl!"]) {
-    s = #t2;
-    core::print(s);
-  }
-  for (final dynamic #t3 in <dynamic>["Hello from for-in without decl and block!"]) {
-    s = #t3;
-    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.{core::num::+}(1)).{core::num::<}(3))
-        break #L14;
-      break #L13;
-    }
-  while (true)
-  i = 0;
-  #L15:
-  while (true)
-    #L16:
-    {
-      core::print("Hello from while!");
-      if((i = i.{core::num::+}(1)).{core::num::<}(3))
-        break #L16;
-      break #L15;
-    }
-}
-
-constants  {
-  #C1 = 1
-  #C2 = 2
-  #C3 = 0
-  #C4 = 4
-}
diff --git a/pkg/front_end/testcases/general/statements.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/statements.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/statements.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/statements.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.outline.expect
deleted file mode 100644
index 3eb0df6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.outline.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static set foo(dynamic x) → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.strong.expect
deleted file mode 100644
index bff2255..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.strong.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static set foo(dynamic x) → void {}
-static method main() → dynamic {
-  self::foo = new self::Foo::•();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.strong.transformed.expect
deleted file mode 100644
index bff2255..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.strong.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/static_setter.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/static_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.hierarchy.expect
deleted file mode 100644
index 6d5caac..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.hierarchy.expect
+++ /dev/null
@@ -1,91 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo._field
-
-FooValue:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Bar._field
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar._field
-
-BarValue:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.outline.expect
deleted file mode 100644
index 93c15a8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.outline.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field dynamic _field;
-  synthetic constructor •() → self::Foo*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class FooValue extends core::Object {
-  synthetic constructor •() → self::FooValue*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  field dynamic _field;
-  synthetic constructor •() → self::Bar*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class BarValue extends core::Object {
-  synthetic constructor •() → self::BarValue*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.strong.expect
deleted file mode 100644
index f4803c6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.strong.expect
+++ /dev/null
@@ -1,76 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class FooValue extends core::Object {
-  synthetic constructor •() → self::FooValue*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  field dynamic _field = null;
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class BarValue extends core::Object {
-  synthetic constructor •() → self::BarValue*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  foo.{self::Foo::_field} = new self::FooValue::•();
-  dynamic fooValue = foo.{self::Foo::_field};
-  core::print(fooValue);
-  self::Bar* bar = new self::Bar::•();
-  bar.{self::Bar::_field} = new self::BarValue::•();
-  dynamic barValue = bar.{self::Bar::_field};
-  core::print(barValue);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.strong.transformed.expect
deleted file mode 100644
index f4803c6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.strong.transformed.expect
+++ /dev/null
@@ -1,76 +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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class FooValue extends core::Object {
-  synthetic constructor •() → self::FooValue*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object {
-  field dynamic _field = null;
-  synthetic constructor •() → self::Bar*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class BarValue extends core::Object {
-  synthetic constructor •() → self::BarValue*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::Foo* foo = new self::Foo::•();
-  foo.{self::Foo::_field} = new self::FooValue::•();
-  dynamic fooValue = foo.{self::Foo::_field};
-  core::print(fooValue);
-  self::Bar* bar = new self::Bar::•();
-  bar.{self::Bar::_field} = new self::BarValue::•();
-  dynamic barValue = bar.{self::Bar::_field};
-  core::print(barValue);
-}
diff --git a/pkg/front_end/testcases/general/store_load.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/store_load.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/store_load.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.strong.expect
deleted file mode 100644
index 6af4e00..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.strong.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::String* color = "brown";
-static field core::String* thing = "lazy dog";
-static field core::String* phrase = "The quick ${self::color} fox
-jumped over the ${self::thing}.
-";
-static field core::String* adjacent = "${self::color}${self::color}${self::color}";
-static field core::String* linebreaks = "${self::color}
-${self::color}
-${self::color}";
-static field core::String* other = "${self::color}
- is 
-${self::color}";
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.strong.transformed.expect
deleted file mode 100644
index 6af4e00..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.strong.transformed.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::String* color = "brown";
-static field core::String* thing = "lazy dog";
-static field core::String* phrase = "The quick ${self::color} fox
-jumped over the ${self::thing}.
-";
-static field core::String* adjacent = "${self::color}${self::color}${self::color}";
-static field core::String* linebreaks = "${self::color}
-${self::color}
-${self::color}";
-static field core::String* other = "${self::color}
- is 
-${self::color}";
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/stringliteral.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.hierarchy.expect
deleted file mode 100644
index 2bda25e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.call_super
-    B.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.outline.expect
deleted file mode 100644
index 29fbb1a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  method call(core::int* x) → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  method call(core::int* x) → core::int*
-    ;
-  method call_super() → core::int*
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.strong.expect
deleted file mode 100644
index f0e8e8a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart:17: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.{core::num::*}(2);
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method call(core::int* x) → core::int*
-    return x.{core::num::*}(3);
-  method call_super() → core::int* {
-    return invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart:17: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);
-           ^" as{TypeError,ForDynamic} core::int*;
-  }
-}
-static method main() → dynamic {
-  assert(new self::B::•().{self::B::call_super}().{core::num::==}(10));
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.strong.transformed.expect
deleted file mode 100644
index 65de3a8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart:17: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.{core::num::*}(2);
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  method call(core::int* x) → core::int*
-    return x.{core::num::*}(3);
-  method call_super() → core::int* {
-    return invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart:17: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::•().{self::B::call_super}().{core::num::==}(10));
-}
diff --git a/pkg/front_end/testcases/general/super_call.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/super_call.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/super_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.hierarchy.expect
deleted file mode 100644
index 368b420..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.hierarchy.expect
+++ /dev/null
@@ -1,102 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    I.interfaceMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.noSuchMethod
-    Object._identityHashCode
-    I.interfaceMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> C
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.dMethod
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.noSuchMethod
-    Object._identityHashCode
-    I.interfaceMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.dMethod
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.outline.expect
deleted file mode 100644
index c2110a8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.outline.expect
+++ /dev/null
@@ -1,46 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-abstract class I extends core::Object {
-  synthetic constructor •() → self::I*
-    ;
-  abstract method interfaceMethod() → dynamic;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-  no-such-method-forwarder method interfaceMethod() → dynamic
-    return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} dynamic;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    ;
-  method dMethod() → dynamic
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.strong.expect
deleted file mode 100644
index bae178b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.strong.expect
+++ /dev/null
@@ -1,59 +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;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return "C";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-  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,ForDynamic} 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::•().{self::D::dMethod}();
-  if(!result.{core::Object::==}("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_nnbd_opt_out/super_nsm.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.strong.transformed.expect
deleted file mode 100644
index bae178b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.strong.transformed.expect
+++ /dev/null
@@ -1,59 +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;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends core::Object implements self::I {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  method noSuchMethod(core::Invocation* _) → dynamic
-    return "C";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature get runtimeType() → core::Type*;
-  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,ForDynamic} 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::•().{self::D::dMethod}();
-  if(!result.{core::Object::==}("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_nnbd_opt_out/super_nsm.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.weak.outline.expect
new file mode 100644
index 0000000..1b6a098
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/super_nsm.dart.weak.outline.expect
@@ -0,0 +1,54 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+abstract class I extends core::Object {
+  synthetic constructor •() → self::I*
+    ;
+  abstract method interfaceMethod() → dynamic;
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends core::Object implements self::I {
+  synthetic constructor •() → self::C*
+    ;
+  method noSuchMethod(core::Invocation* _) → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  no-such-method-forwarder method interfaceMethod() → dynamic
+    return this.{self::C::noSuchMethod}(new core::_InvocationMirror::_withType(#interfaceMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} dynamic;
+}
+class D extends self::C {
+  synthetic constructor •() → self::D*
+    ;
+  method noSuchMethod(core::Invocation* _) → dynamic
+    ;
+  method dMethod() → dynamic
+    ;
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///super_nsm.dart:8:3 -> SymbolConstant(#interfaceMethod)
+Evaluated: ListLiteral @ org-dartlang-testcase:///super_nsm.dart:8:3 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///super_nsm.dart:8:3 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///super_nsm.dart:8:3 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 9, effectively constant: 4
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.outline.expect
deleted file mode 100644
index a29647d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.strong.expect
deleted file mode 100644
index 51168d7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:11:9: Error: Getter not found: 'one'.
-//   print(one);
-//         ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:12:9: Error: Getter not found: 'two'.
-//   print(two);
-//         ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:13:9: Error: Getter not found: 'three'.
-//   print(three);
-//         ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:14:9: Error: Getter not found: 'four'.
-//   print(four);
-//         ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:15:9: Error: Getter not found: 'five'.
-//   print(five);
-//         ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:11:9: Error: Getter not found: 'one'.
-  print(one);
-        ^^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:12:9: Error: Getter not found: 'two'.
-  print(two);
-        ^^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:13:9: Error: Getter not found: 'three'.
-  print(three);
-        ^^^^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:14:9: Error: Getter not found: 'four'.
-  print(four);
-        ^^^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:15:9: Error: Getter not found: 'five'.
-  print(five);
-        ^^^^");
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.strong.transformed.expect
deleted file mode 100644
index 51168d7..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:11:9: Error: Getter not found: 'one'.
-//   print(one);
-//         ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:12:9: Error: Getter not found: 'two'.
-//   print(two);
-//         ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:13:9: Error: Getter not found: 'three'.
-//   print(three);
-//         ^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:14:9: Error: Getter not found: 'four'.
-//   print(four);
-//         ^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:15:9: Error: Getter not found: 'five'.
-//   print(five);
-//         ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-static method test() → dynamic {
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:11:9: Error: Getter not found: 'one'.
-  print(one);
-        ^^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:12:9: Error: Getter not found: 'two'.
-  print(two);
-        ^^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:13:9: Error: Getter not found: 'three'.
-  print(three);
-        ^^^^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:14:9: Error: Getter not found: 'four'.
-  print(four);
-        ^^^^");
-  core::print(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart:15:9: Error: Getter not found: 'five'.
-  print(five);
-        ^^^^");
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/bug21938.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/tabs.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.outline.expect
deleted file mode 100644
index a6fa4c3..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.outline.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart:10:9: Error: The typedef 'Bar' has a reference to itself.
-// typedef Bar<T> = void Function(Baz<T>);
-//         ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart:9:9: Error: The typedef 'Foo' has a reference to itself.
-// typedef Foo<T> = void Function(Bar<T>);
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Foo<unrelated T extends core::Object* = dynamic> = (((invalid-type) →* void) →* void) →* void;
-typedef Bar<unrelated T extends core::Object* = dynamic> = ((invalid-type) →* void) →* void;
-typedef Baz<unrelated T extends core::Object* = dynamic> = (invalid-type) →* void;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.strong.expect
deleted file mode 100644
index de06f6f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.strong.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart:10:9: Error: The typedef 'Bar' has a reference to itself.
-// typedef Bar<T> = void Function(Baz<T>);
-//         ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart:9:9: Error: The typedef 'Foo' has a reference to itself.
-// typedef Foo<T> = void Function(Bar<T>);
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Foo<unrelated T extends core::Object* = dynamic> = (((invalid-type) →* void) →* void) →* void;
-typedef Bar<unrelated T extends core::Object* = dynamic> = ((invalid-type) →* void) →* void;
-typedef Baz<unrelated T extends core::Object* = dynamic> = (invalid-type) →* void;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.strong.transformed.expect
deleted file mode 100644
index de06f6f..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.strong.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart:10:9: Error: The typedef 'Bar' has a reference to itself.
-// typedef Bar<T> = void Function(Baz<T>);
-//         ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart:9:9: Error: The typedef 'Foo' has a reference to itself.
-// typedef Foo<T> = void Function(Bar<T>);
-//         ^
-//
-import self as self;
-import "dart:core" as core;
-
-typedef Foo<unrelated T extends core::Object* = dynamic> = (((invalid-type) →* void) →* void) →* void;
-typedef Bar<unrelated T extends core::Object* = dynamic> = ((invalid-type) →* void) →* void;
-typedef Baz<unrelated T extends core::Object* = dynamic> = (invalid-type) →* void;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.weak.outline.expect
new file mode 100644
index 0000000..d86340f
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart.weak.outline.expect
@@ -0,0 +1,20 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart:10:9: Error: The typedef 'Bar' has a reference to itself.
+// typedef Bar<T> = void Function(Baz<T>);
+//         ^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/three_typedefs_loop.dart:9:9: Error: The typedef 'Foo' has a reference to itself.
+// typedef Foo<T> = void Function(Bar<T>);
+//         ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef Foo<unrelated T extends core::Object* = dynamic> = invalid-type;
+typedef Bar<unrelated T extends core::Object* = dynamic> = ((invalid-type) →* void) →* void;
+typedef Baz<unrelated T extends core::Object* = dynamic> = (invalid-type) →* void;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/top_level_accessors.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/top_level_accessors.dart.strong.expect
deleted file mode 100644
index 9898bf6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/top_level_accessors.dart.strong.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_nnbd_opt_out/top_level_accessors.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/top_level_accessors.dart.strong.transformed.expect
deleted file mode 100644
index 9898bf6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/top_level_accessors.dart.strong.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_nnbd_opt_out/top_level_accessors.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/top_level_accessors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/top_level_accessors.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/top_level_accessors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/top_level_library_method.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/top_level_library_method.dart.strong.expect
deleted file mode 100644
index f23119a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/top_level_library_method.dart.strong.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_nnbd_opt_out/top_level_library_method.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/top_level_library_method.dart.strong.transformed.expect
deleted file mode 100644
index f23119a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/top_level_library_method.dart.strong.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_nnbd_opt_out/top_level_library_method.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/top_level_library_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/top_level_library_method.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/top_level_library_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.outline.expect
deleted file mode 100644
index fad25ab..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.outline.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart:11:2: Error: This can't be used as metadata; metadata should be a reference to a compile-time constant variable, or a call to a constant constructor.
-// @A
-//  ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-@let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart:11:2: Error: This can't be used as metadata; metadata should be a reference to a compile-time constant variable, or a call to a constant constructor.
-@A
- ^" in self::A*
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.strong.expect
deleted file mode 100644
index 1f1942a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.strong.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart:11:2: Error: This can't be used as metadata; metadata should be a reference to a compile-time constant variable, or a call to a constant constructor.
-// @A
-//  ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-@invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart:11:2: Error: This can't be used as metadata; metadata should be a reference to a compile-time constant variable, or a call to a constant constructor.
-@A
- ^"
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.strong.transformed.expect
deleted file mode 100644
index 1f1942a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.strong.transformed.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart:11:2: Error: This can't be used as metadata; metadata should be a reference to a compile-time constant variable, or a call to a constant constructor.
-// @A
-//  ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-@invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart:11:2: Error: This can't be used as metadata; metadata should be a reference to a compile-time constant variable, or a call to a constant constructor.
-@A
- ^"
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.weak.outline.expect
new file mode 100644
index 0000000..d5acf35
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart.weak.outline.expect
@@ -0,0 +1,50 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart:11:2: Error: This can't be used as an annotation; an annotation should be a reference to a compile-time constant variable, or a call to a constant constructor.
+// @A
+//  ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::A*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+@let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/type_literal_as_metadata.dart:11:2: Error: This can't be used as an annotation; an annotation should be a reference to a compile-time constant variable, or a call to a constant constructor.
+@A
+ ^" in self::A*
+class B extends core::Object {
+  synthetic constructor •() → self::B*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: TypeLiteral @ org-dartlang-testcase:///type_literal_as_metadata.dart:11:2 -> TypeLiteralConstant(A*)
+Extra constant evaluation: evaluated: 2, effectively constant: 1
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.outline.expect
deleted file mode 100644
index 3485e02..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.outline.expect
+++ /dev/null
@@ -1,12 +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
-  ;
-static method foo() → core::Null?
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.strong.expect
deleted file mode 100644
index c0c8997..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.strong.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<core::Null?>(() → core::Null? {}, () → <BottomType>=> throw "hello");
-  self::map<core::Null?>(() → <BottomType>=> throw "hello", () → core::Null? {});
-  () →* core::Null? f = () → core::Null? {};
-  self::map<core::Null?>(#C1, () → <BottomType>=> throw "hello");
-  self::map<core::Null?>(() → <BottomType>=> throw "hello", #C1);
-  self::map<core::Null?>(() → core::Null? {
-    return null;
-  }, () → <BottomType>=> throw "hello");
-  self::map<core::Null?>(() → <BottomType>=> throw "hello", () → core::Null? {
-    return null;
-  });
-  self::id<() →* core::Null?>(() → core::Null? {});
-}
-
-constants  {
-  #C1 = tearoff self::foo
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.strong.transformed.expect
deleted file mode 100644
index c0c8997..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.strong.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<core::Null?>(() → core::Null? {}, () → <BottomType>=> throw "hello");
-  self::map<core::Null?>(() → <BottomType>=> throw "hello", () → core::Null? {});
-  () →* core::Null? f = () → core::Null? {};
-  self::map<core::Null?>(#C1, () → <BottomType>=> throw "hello");
-  self::map<core::Null?>(() → <BottomType>=> throw "hello", #C1);
-  self::map<core::Null?>(() → core::Null? {
-    return null;
-  }, () → <BottomType>=> throw "hello");
-  self::map<core::Null?>(() → <BottomType>=> throw "hello", () → core::Null? {
-    return null;
-  });
-  self::id<() →* core::Null?>(() → core::Null? {});
-}
-
-constants  {
-  #C1 = tearoff self::foo
-}
diff --git a/pkg/front_end/testcases/general/type_of_null.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/type_of_null.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/type_of_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.hierarchy.expect
deleted file mode 100644
index e128e2e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.hierarchy.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.list
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.setList
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Foo<int>
-  classMembers:
-    Bar.list
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Bar.setList
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar.list
-  interfaceMembers:
-    Bar.list
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Bar.setList
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Bar.list
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.outline.expect
deleted file mode 100644
index cde62f9..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.outline.expect
+++ /dev/null
@@ -1,37 +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*>*
-    ;
-  abstract get list() → core::List<self::Foo::T*>*;
-  abstract method setList<T extends core::Object* = dynamic>(core::List<self::Foo::setList::T*>* value) → void;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Bar extends core::Object implements self::Foo<core::int*> {
-  field core::List<core::int*>* list;
-  synthetic constructor •() → self::Bar*
-    ;
-  method setList<int extends core::Object* = dynamic>(core::List<self::Bar::setList::int*>* value) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.strong.expect
deleted file mode 100644
index 8c65bf8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.strong.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart:15:12: Error: A value of type 'List<int/*1*/>' can't be assigned to a variable of type 'List<int/*2*/>'.
-//  - 'List' is from 'dart:core'.
-//  - 'int/*1*/' is from 'pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart'.
-//  - 'int/*2*/' is from 'dart:core'.
-//     list = value;
-//            ^
-//
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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} = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart:15:12: Error: A value of type 'List<int/*1*/>' can't be assigned to a variable of type 'List<int/*2*/>'.
- - 'List' is from 'dart:core'.
- - 'int/*1*/' is from 'pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart'.
- - 'int/*2*/' is from 'dart:core'.
-    list = value;
-           ^" in value as{TypeError} core::List<core::int*>*;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.strong.transformed.expect
deleted file mode 100644
index 8c65bf8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.strong.transformed.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart:15:12: Error: A value of type 'List<int/*1*/>' can't be assigned to a variable of type 'List<int/*2*/>'.
-//  - 'List' is from 'dart:core'.
-//  - 'int/*1*/' is from 'pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart'.
-//  - 'int/*2*/' is from 'dart:core'.
-//     list = value;
-//            ^
-//
-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;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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} = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart:15:12: Error: A value of type 'List<int/*1*/>' can't be assigned to a variable of type 'List<int/*2*/>'.
- - 'List' is from 'dart:core'.
- - 'int/*1*/' is from 'pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart'.
- - 'int/*2*/' is from 'dart:core'.
-    list = value;
-           ^" in value as{TypeError} core::List<core::int*>*;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
diff --git a/pkg/front_end/testcases/general/type_parameter_type_named_int.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/type_parameter_type_named_int.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/type_parameter_type_named_int.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.hierarchy.expect
deleted file mode 100644
index a0f0def..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    T
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    T
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    T
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.outline.expect
deleted file mode 100644
index 2733810..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.outline.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:7:16: Error: The type variable 'T' can't be used as supertype.
-// abstract class A<T> extends T {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:9:16: Error: The type variable 'T' can't be used as supertype.
-// abstract class B<T> extends T {
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:13:7: Error: The type variable 'T' can't be used as supertype.
-// class C<T> extends T {}
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  constructor •() → self::B<self::B::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.strong.expect
deleted file mode 100644
index 1e175f4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.strong.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:7:16: Error: The type variable 'T' can't be used as supertype.
-// abstract class A<T> extends T {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:9:16: Error: The type variable 'T' can't be used as supertype.
-// abstract class B<T> extends T {
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:13:7: Error: The type variable 'T' can't be used as supertype.
-// class C<T> extends T {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:16:7: Error: The class 'A' is abstract and can't be instantiated.
-//   new A();
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:17:7: Error: The class 'B' is abstract and can't be instantiated.
-//   new B();
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/type_variable_as_super.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.strong.transformed.expect
deleted file mode 100644
index 1e175f4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.strong.transformed.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:7:16: Error: The type variable 'T' can't be used as supertype.
-// abstract class A<T> extends T {}
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:9:16: Error: The type variable 'T' can't be used as supertype.
-// abstract class B<T> extends T {
-//                ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:13:7: Error: The type variable 'T' can't be used as supertype.
-// class C<T> extends T {}
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:16:7: Error: The class 'A' is abstract and can't be instantiated.
-//   new A();
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:17:7: Error: The class 'B' is abstract and can't be instantiated.
-//   new B();
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class B<T extends core::Object* = dynamic> extends core::Object {
-  constructor •() → self::B<self::B::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/type_variable_as_super.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.weak.outline.expect
new file mode 100644
index 0000000..92a6a18
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart.weak.outline.expect
@@ -0,0 +1,63 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:7:16: Error: The type variable 'T' can't be used as supertype.
+// abstract class A<T> extends T {}
+//                ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:9:16: Error: The type variable 'T' can't be used as supertype.
+// abstract class B<T> extends T {
+//                ^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_as_super.dart:13:7: Error: The type variable 'T' can't be used as supertype.
+// class C<T> extends T {}
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::A<self::A::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class B<T extends core::Object* = dynamic> extends core::Object {
+  constructor •() → self::B<self::B::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.outline.expect
deleted file mode 100644
index 806e6c4..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.outline.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class DynamicClass<T extends dynamic = dynamic, S extends self::DynamicClass::T* = dynamic> extends core::Object {
-  generic-covariant-impl field self::DynamicClass::T* field1;
-  generic-covariant-impl field self::DynamicClass::T* field2;
-  constructor •(self::DynamicClass::T* field1, self::DynamicClass::T* field2) → self::DynamicClass<self::DynamicClass::T%, self::DynamicClass::S*>*
-    ;
-  method method() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class NumClass<T extends core::num* = core::num*, S extends self::NumClass::T* = core::num*> extends core::Object {
-  generic-covariant-impl field self::NumClass::T* field1;
-  generic-covariant-impl field self::NumClass::S* field2;
-  constructor •(self::NumClass::T* field1, self::NumClass::S* field2) → self::NumClass<self::NumClass::T*, self::NumClass::S*>*
-    ;
-  method method1() → core::num*
-    ;
-  method method2() → core::num*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.strong.expect
deleted file mode 100644
index 3bf3de8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.strong.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart:24:36: Error: The getter 'length' isn't defined for the class 'num'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'length'.
-//   num method2() => field1 + field2.length;
-//                                    ^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class DynamicClass<T extends dynamic = dynamic, S extends self::DynamicClass::T* = dynamic> extends core::Object {
-  generic-covariant-impl field self::DynamicClass::T* field1;
-  generic-covariant-impl field self::DynamicClass::T* field2;
-  constructor •(self::DynamicClass::T* field1, self::DynamicClass::T* field2) → self::DynamicClass<self::DynamicClass::T%, self::DynamicClass::S*>*
-    : self::DynamicClass::field1 = field1, self::DynamicClass::field2 = field2, super core::Object::•()
-    ;
-  method method() → dynamic
-    return this.{self::DynamicClass::field1}.*(this.{self::DynamicClass::field2});
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class NumClass<T extends core::num* = core::num*, S extends self::NumClass::T* = core::num*> extends core::Object {
-  generic-covariant-impl field self::NumClass::T* field1;
-  generic-covariant-impl field self::NumClass::S* field2;
-  constructor •(self::NumClass::T* field1, self::NumClass::S* field2) → self::NumClass<self::NumClass::T*, self::NumClass::S*>*
-    : self::NumClass::field1 = field1, self::NumClass::field2 = field2, super core::Object::•()
-    ;
-  method method1() → core::num*
-    return this.{self::NumClass::field1}.{core::num::*}(this.{self::NumClass::field2});
-  method method2() → core::num*
-    return this.{self::NumClass::field1}.{core::num::+}(invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart:24:36: Error: The getter 'length' isn't defined for the class 'num'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'length'.
-  num method2() => field1 + field2.length;
-                                   ^^^^^^" as{TypeError,ForDynamic} core::num);
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::DynamicClass::•<core::num*, core::int*>(0.5, 2).{self::DynamicClass::method}();
-  new self::NumClass::•<core::num*, core::double*>(2, 0.5).{self::NumClass::method1}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.weak.outline.expect
new file mode 100644
index 0000000..699a660
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_bound_access.dart.weak.outline.expect
@@ -0,0 +1,44 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class DynamicClass<T extends dynamic = dynamic, S extends self::DynamicClass::T* = dynamic> extends core::Object {
+  generic-covariant-impl field self::DynamicClass::T* field1;
+  generic-covariant-impl field self::DynamicClass::T* field2;
+  constructor •(self::DynamicClass::T* field1, self::DynamicClass::T* field2) → self::DynamicClass<self::DynamicClass::T*, self::DynamicClass::S*>*
+    ;
+  method method() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class NumClass<T extends core::num* = core::num*, S extends self::NumClass::T* = core::num*> extends core::Object {
+  generic-covariant-impl field self::NumClass::T* field1;
+  generic-covariant-impl field self::NumClass::S* field2;
+  constructor •(self::NumClass::T* field1, self::NumClass::S* field2) → self::NumClass<self::NumClass::T*, self::NumClass::S*>*
+    ;
+  method method1() → core::num*
+    ;
+  method method2() → core::num*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.hierarchy.expect
deleted file mode 100644
index 0cfa5ec..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.outline.expect
deleted file mode 100644
index 90e9112..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.outline.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart:10:3: Error: '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*>*
-    ;
-  method method() → invalid-type
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.strong.expect
deleted file mode 100644
index d051f8c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.strong.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart:10:3: Error: '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!";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  core::String* s = new self::C::•<dynamic>().{self::C::method}();
-  core::print(s);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.strong.transformed.expect
deleted file mode 100644
index d051f8c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.strong.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart:10:3: Error: '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!";
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  core::String* s = new self::C::•<dynamic>().{self::C::method}();
-  core::print(s);
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.weak.outline.expect
new file mode 100644
index 0000000..aa9c40d
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_prefix.dart:10:3: Error: '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*>*
+    ;
+  method method() → invalid-type
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.hierarchy.expect
deleted file mode 100644
index 5250d3d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.staticMethod
-    Object._instanceOf
-    Object.noSuchMethod
-    C.instanceMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.outline.expect
deleted file mode 100644
index 92ae782..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.outline.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:9:15: Error: Can only use type variables in instance methods.
-//   static C<T> staticMethod() {
-//               ^
-//
-import self as self;
-import "dart:core" as core;
-
-class C<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::C<self::C::T*>*
-    : super core::Object::•()
-    ;
-  static method staticMethod() → self::C<dynamic>*
-    ;
-  method instanceMethod() → self::C<self::C::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.strong.expect
deleted file mode 100644
index e611028..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.strong.expect
+++ /dev/null
@@ -1,114 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:9:15: Error: Can only use type variables in instance methods.
-//   static C<T> staticMethod() {
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:10:11: Error: Type variables can't be used in static members.
-//     print(T);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:11:5: Error: Type variables can't be used in static members.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:12:7: Error: Type variables can't be used in static members.
-//     C<T> l;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:13:9: Error: Type variables can't be used in static members.
-//     C<C<T>> ll;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:14:13: Error: Type variables can't be used in static members.
-//     const C<T>();
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:15:12: Error: Type variables can't be used in static members.
-//     const <T>[];
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:16:14: Error: Type variables can't be used in static members.
-//     const <C<T>>[];
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:17:20: Error: Type variables can't be used in static members.
-//     const <Object>[T];
-//                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:18:28: Error: Type variables can't be used in static members.
-//     const <Object>[const C<T>()];
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:26:13: Error: Type variables can't be used as constants.
-//     const C<T>();
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:27:12: Error: Type variables can't be used as constants.
-//     const <T>[];
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:28:14: Error: Type variables can't be used as constants.
-//     const <C<T>>[];
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:29:20: Error: Type variables can't be used as constants.
-//     const <Object>[T];
-//                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:30: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 /*hasConstConstructor*/  {
-  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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/type_variable_uses.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.strong.transformed.expect
deleted file mode 100644
index e611028..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.strong.transformed.expect
+++ /dev/null
@@ -1,114 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:9:15: Error: Can only use type variables in instance methods.
-//   static C<T> staticMethod() {
-//               ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:10:11: Error: Type variables can't be used in static members.
-//     print(T);
-//           ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:11:5: Error: Type variables can't be used in static members.
-//     T t;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:12:7: Error: Type variables can't be used in static members.
-//     C<T> l;
-//       ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:13:9: Error: Type variables can't be used in static members.
-//     C<C<T>> ll;
-//         ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:14:13: Error: Type variables can't be used in static members.
-//     const C<T>();
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:15:12: Error: Type variables can't be used in static members.
-//     const <T>[];
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:16:14: Error: Type variables can't be used in static members.
-//     const <C<T>>[];
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:17:20: Error: Type variables can't be used in static members.
-//     const <Object>[T];
-//                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:18:28: Error: Type variables can't be used in static members.
-//     const <Object>[const C<T>()];
-//                            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:26:13: Error: Type variables can't be used as constants.
-//     const C<T>();
-//             ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:27:12: Error: Type variables can't be used as constants.
-//     const <T>[];
-//            ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:28:14: Error: Type variables can't be used as constants.
-//     const <C<T>>[];
-//              ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:29:20: Error: Type variables can't be used as constants.
-//     const <Object>[T];
-//                    ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:30: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 /*hasConstConstructor*/  {
-  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;
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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_nnbd_opt_out/type_variable_uses.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.weak.outline.expect
new file mode 100644
index 0000000..634d0c0
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/type_variable_uses.dart:9:15: Error: Can only use type variables in instance methods.
+//   static C<T> staticMethod() {
+//               ^
+//
+import self as self;
+import "dart:core" as core;
+
+class C<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::C<self::C::T*>*
+    : super core::Object::•()
+    ;
+  static method staticMethod() → self::C<dynamic>*
+    ;
+  method instanceMethod() → self::C<self::C::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/typedef.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/typedef.dart.strong.expect
deleted file mode 100644
index 979f6c8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/typedef.dart.strong.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_nnbd_opt_out/typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/typedef.dart.strong.transformed.expect
deleted file mode 100644
index 979f6c8..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/typedef.dart.strong.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_nnbd_opt_out/typedef.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/general_nnbd_opt_out/typedef.dart.outline.expect
rename to pkg/front_end/testcases/general_nnbd_opt_out/typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.hierarchy.expect
deleted file mode 100644
index 24335b5..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.outline.expect
deleted file mode 100644
index aa9583d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.outline.expect
+++ /dev/null
@@ -1,25 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic x;
-  synthetic constructor •() → self::C*
-    ;
-  method f() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(self::C* c) → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.strong.expect
deleted file mode 100644
index ca6ae99..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.strong.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:14:5: Error: The getter 'y' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'y'.
-//   c.y;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:16:5: Error: The method 'g' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-// Try correcting the name to the name of an existing method, or defining a method named 'g'.
-//   c.g();
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:18:5: Error: The setter 'y' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'y'.
-//   c.y = null;
-//     ^
-//
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(self::C* c) → void {
-  c.{self::C::x};
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:14:5: Error: The getter 'y' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'y'.
-  c.y;
-    ^";
-  c.{self::C::f}();
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:16:5: Error: The method 'g' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-Try correcting the name to the name of an existing method, or defining a method named 'g'.
-  c.g();
-    ^";
-  c.{self::C::x} = null;
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:18:5: Error: The setter 'y' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'y'.
-  c.y = null;
-    ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.strong.transformed.expect
deleted file mode 100644
index ca6ae99..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.strong.transformed.expect
+++ /dev/null
@@ -1,63 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:14:5: Error: The getter 'y' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'y'.
-//   c.y;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:16:5: Error: The method 'g' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-// Try correcting the name to the name of an existing method, or defining a method named 'g'.
-//   c.g();
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:18:5: Error: The setter 'y' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'y'.
-//   c.y = null;
-//     ^
-//
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(self::C* c) → void {
-  c.{self::C::x};
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:14:5: Error: The getter 'y' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'y'.
-  c.y;
-    ^";
-  c.{self::C::f}();
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:16:5: Error: The method 'g' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-Try correcting the name to the name of an existing method, or defining a method named 'g'.
-  c.g();
-    ^";
-  c.{self::C::x} = null;
-  invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart:18:5: Error: The setter 'y' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'y'.
-  c.y = null;
-    ^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/undefined.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/undefined.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/undefined.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.hierarchy.expect
deleted file mode 100644
index a7d997a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.outline.expect
deleted file mode 100644
index 33db27d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  set x(dynamic value) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(self::C* c) → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.strong.expect
deleted file mode 100644
index 6d3899b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.strong.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart:13:5: Error: The getter 'x' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
-//   c.x += 1;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart:14:5: Error: The getter 'x' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
-//   c.x ??= 1;
-//     ^
-//
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(self::C* c) → void {
-  c.{self::C::x} = 1;
-  let final self::C* #t1 = c in #t1.{self::C::x} = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart:13:5: Error: The getter 'x' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
-  c.x += 1;
-    ^".+(1);
-  let final self::C* #t2 = c in invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart:14:5: Error: The getter 'x' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
-  c.x ??= 1;
-    ^".{core::Object::==}(null) ?{dynamic} #t2.{self::C::x} = 1 : null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.strong.transformed.expect
deleted file mode 100644
index 6d3899b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.strong.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart:13:5: Error: The getter 'x' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
-//   c.x += 1;
-//     ^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart:14:5: Error: The getter 'x' isn't defined for the class 'C'.
-//  - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
-//   c.x ??= 1;
-//     ^
-//
-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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test(self::C* c) → void {
-  c.{self::C::x} = 1;
-  let final self::C* #t1 = c in #t1.{self::C::x} = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart:13:5: Error: The getter 'x' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
-  c.x += 1;
-    ^".+(1);
-  let final self::C* #t2 = c in invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart:14:5: Error: The getter 'x' isn't defined for the class 'C'.
- - 'C' is from 'pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
-  c.x ??= 1;
-    ^".{core::Object::==}(null) ?{dynamic} #t2.{self::C::x} = 1 : null;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/undefined_getter_in_compound_assignment.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/undefined_getter_in_compound_assignment.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.hierarchy.expect
deleted file mode 100644
index 92ba89a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.hierarchy.expect
+++ /dev/null
@@ -1,95 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Uninitialized:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Uninitialized.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Uninitialized.x
-
-PartiallyInitialized:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    PartiallyInitialized.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    PartiallyInitialized.x
-
-Initialized:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Initialized.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Initialized.x
-
-Forwarding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Forwarding.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Forwarding.x
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.outline.expect
deleted file mode 100644
index c8c5042..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.outline.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Uninitialized extends core::Object {
-  field core::int* x;
-  synthetic constructor •() → self::Uninitialized*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class PartiallyInitialized extends core::Object {
-  field core::int* x;
-  constructor •(core::int* x) → self::PartiallyInitialized*
-    ;
-  constructor noInitializer() → self::PartiallyInitialized*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Initialized extends core::Object {
-  field core::int* x;
-  constructor •(core::int* x) → self::Initialized*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Forwarding extends core::Object {
-  field core::int* x;
-  constructor initialize(core::int* x) → self::Forwarding*
-    ;
-  constructor •(core::int* arg) → self::Forwarding*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* uninitializedTopLevel;
-static field core::int* initializedTopLevel;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.strong.expect
deleted file mode 100644
index a5af346..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.strong.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Uninitialized extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::Uninitialized*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class PartiallyInitialized extends core::Object {
-  field core::int* x;
-  constructor •(core::int* x) → self::PartiallyInitialized*
-    : self::PartiallyInitialized::x = x, super core::Object::•()
-    ;
-  constructor noInitializer() → self::PartiallyInitialized*
-    : self::PartiallyInitialized::x = null, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Initialized extends core::Object {
-  field core::int* x;
-  constructor •(core::int* x) → self::Initialized*
-    : self::Initialized::x = x, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Forwarding extends core::Object {
-  field core::int* x;
-  constructor initialize(core::int* x) → self::Forwarding*
-    : self::Forwarding::x = x, super core::Object::•()
-    ;
-  constructor •(core::int* arg) → self::Forwarding*
-    : this self::Forwarding::initialize(arg)
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* uninitializedTopLevel;
-static field core::int* initializedTopLevel = 4;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.strong.transformed.expect
deleted file mode 100644
index a5af346..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.strong.transformed.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Uninitialized extends core::Object {
-  field core::int* x = null;
-  synthetic constructor •() → self::Uninitialized*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class PartiallyInitialized extends core::Object {
-  field core::int* x;
-  constructor •(core::int* x) → self::PartiallyInitialized*
-    : self::PartiallyInitialized::x = x, super core::Object::•()
-    ;
-  constructor noInitializer() → self::PartiallyInitialized*
-    : self::PartiallyInitialized::x = null, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Initialized extends core::Object {
-  field core::int* x;
-  constructor •(core::int* x) → self::Initialized*
-    : self::Initialized::x = x, super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class Forwarding extends core::Object {
-  field core::int* x;
-  constructor initialize(core::int* x) → self::Forwarding*
-    : self::Forwarding::x = x, super core::Object::•()
-    ;
-  constructor •(core::int* arg) → self::Forwarding*
-    : this self::Forwarding::initialize(arg)
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static field core::int* uninitializedTopLevel;
-static field core::int* initializedTopLevel = 4;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/uninitialized_fields.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/uninitialized_fields.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/uninitialized_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.hierarchy.expect
deleted file mode 100644
index c1e95c6..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.outline.expect
deleted file mode 100644
index f7ad850..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.outline.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class C extends self::B implements self::A {
-  synthetic constructor •() → self::C*
-    ;
-}
-static field core::List<self::A*>* list;
-static method g<T extends self::A* = self::A*>(self::g::T* t) → core::List<self::g::T*>*
-  ;
-static method f<S extends core::Object* = dynamic>(self::f::S* s) → core::List<self::f::S*>*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.strong.expect
deleted file mode 100644
index 591732a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.strong.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart:23:16: Error: Inferred type argument 'S' doesn't conform to the bound 'A' of the type variable 'T' on 'g'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart'.
-// Try specifying type arguments explicitly so that they conform to the bounds.
-//     var list = g(s);
-//                ^
-// pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart:15:11: Context: This is the type variable whose bound isn't conformed to.
-// List<T> g<T extends A>(T t) {
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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* = self::A*>(self::g::T* t) → core::List<self::g::T*>* {
-  self::list = <self::g::T*>[];
-  core::print(self::list.{core::Object::runtimeType});
-  return self::list as{TypeError} core::List<self::g::T*>*;
-}
-static method f<S extends core::Object* = dynamic>(self::f::S* s) → core::List<self::f::S*>* {
-  if(s is self::A*) {
-    core::List<self::f::S*>* list = self::g<self::f::S*>(s{self::f::S* & self::A* /* '*' & '*' = '*' */});
-    return list;
-  }
-  return null;
-}
-static method main() → dynamic {
-  self::f<self::B*>(new self::C::•());
-  core::print(self::list.{core::Object::runtimeType});
-  core::List<self::A*>* aList;
-  aList = self::list;
-  core::Object* o = aList;
-  aList = o as{TypeError} core::List<self::A*>*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.strong.transformed.expect
deleted file mode 100644
index ad115ef..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.strong.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart:21:16: Error: Can't infer a type for 'T', it can be either 'S' or 'A'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart'.
-// Try adding a type argument selecting one of the options.
-//     var list = g(s);
-//                ^
-//
-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* = self::A*>(self::g::T* t) → core::List<self::g::T*>* {
-  self::list = <self::g::T*>[];
-  core::print(self::list.{core::Object::runtimeType});
-  return self::list as{TypeError} core::List<self::g::T*>*;
-}
-static method f<S extends core::Object* = dynamic>(self::f::S* s) → core::List<self::f::S*>* {
-  if(s is self::A*) {
-    core::List<self::f::S* & self::A* /* '*' & '*' = '*' */>* list = self::g<self::f::S* & self::A* /* '*' & '*' = '*' */>(s{self::f::S* & self::A* /* '*' & '*' = '*' */});
-    return list;
-  }
-  return null;
-}
-static method main() → dynamic {
-  self::f<self::B*>(new self::C::•());
-  core::print(self::list.{core::Object::runtimeType});
-  core::List<self::A*>* aList;
-  aList = self::list;
-  core::Object* o = aList;
-  aList = o as{TypeError} core::List<self::A*>*;
-}
diff --git a/pkg/front_end/testcases/general/unsound_promotion.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/unsound_promotion.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.weak.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.weak.transformed.expect
deleted file mode 100644
index ad115ef..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart.weak.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart:21:16: Error: Can't infer a type for 'T', it can be either 'S' or 'A'.
-//  - 'A' is from 'pkg/front_end/testcases/general_nnbd_opt_out/unsound_promotion.dart'.
-// Try adding a type argument selecting one of the options.
-//     var list = g(s);
-//                ^
-//
-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* = self::A*>(self::g::T* t) → core::List<self::g::T*>* {
-  self::list = <self::g::T*>[];
-  core::print(self::list.{core::Object::runtimeType});
-  return self::list as{TypeError} core::List<self::g::T*>*;
-}
-static method f<S extends core::Object* = dynamic>(self::f::S* s) → core::List<self::f::S*>* {
-  if(s is self::A*) {
-    core::List<self::f::S* & self::A* /* '*' & '*' = '*' */>* list = self::g<self::f::S* & self::A* /* '*' & '*' = '*' */>(s{self::f::S* & self::A* /* '*' & '*' = '*' */});
-    return list;
-  }
-  return null;
-}
-static method main() → dynamic {
-  self::f<self::B*>(new self::C::•());
-  core::print(self::list.{core::Object::runtimeType});
-  core::List<self::A*>* aList;
-  aList = self::list;
-  core::Object* o = aList;
-  aList = o as{TypeError} core::List<self::A*>*;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.hierarchy.expect
deleted file mode 100644
index bd3ac0d..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.hierarchy.expect
+++ /dev/null
@@ -1,164 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-UnusedClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-UsedAsBaseClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    UsedAsBaseClass.calledFromSubclass
-    Object.toString
-    UsedAsBaseClass.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-UsedAsInterface:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    UsedAsInterface.usedInSubclass
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-InstantiatedButMethodsUnused:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    InstantiatedButMethodsUnused.usedInSubclass
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ClassA:
-  superclasses:
-    Object
-      -> UsedAsBaseClass
-  interfaces: UsedAsInterface, InstantiatedButMethodsUnused
-  classMembers:
-    UsedAsBaseClass.calledFromSubclass
-    Object.toString
-    ClassA.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    UsedAsBaseClass.calledFromSubclass
-    Object.toString
-    ClassA.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-ClassB:
-  superclasses:
-    Object
-      -> UsedAsBaseClass
-  interfaces: UsedAsInterface, InstantiatedButMethodsUnused
-  classMembers:
-    ClassB.calledFromSubclass
-    Object.toString
-    ClassB.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    ClassB.calledFromSubclass
-    Object.toString
-    ClassB.usedInSubclass
-    UsedAsBaseClass.calledFromB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.outline.expect
deleted file mode 100644
index 8bbd487..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.outline.expect
+++ /dev/null
@@ -1,98 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class UnusedClass extends core::Object {
-  constructor •() → self::UnusedClass*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-abstract class UsedAsBaseClass extends core::Object {
-  synthetic constructor •() → self::UsedAsBaseClass*
-    ;
-  method usedInSubclass() → void
-    ;
-  method calledFromB() → void
-    ;
-  method calledFromSubclass() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class UsedAsInterface extends core::Object {
-  synthetic constructor •() → self::UsedAsInterface*
-    ;
-  method usedInSubclass() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class InstantiatedButMethodsUnused extends core::Object {
-  synthetic constructor •() → self::InstantiatedButMethodsUnused*
-    ;
-  method usedInSubclass() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class ClassA extends self::UsedAsBaseClass implements self::UsedAsInterface, self::InstantiatedButMethodsUnused {
-  synthetic constructor •() → self::ClassA*
-    ;
-  method usedInSubclass() → void
-    ;
-}
-class ClassB extends self::UsedAsBaseClass implements self::UsedAsInterface, self::InstantiatedButMethodsUnused {
-  synthetic constructor •() → self::ClassB*
-    ;
-  method usedInSubclass() → void
-    ;
-  method calledFromSubclass() → void
-    ;
-}
-static method baseClassCall(self::UsedAsBaseClass* object) → void
-  ;
-static method interfaceCall(self::UsedAsInterface* object) → void
-  ;
-static method exactCallA(self::ClassA* object) → void
-  ;
-static method exactCallB(self::ClassB* object) → void
-  ;
-static method unusedTopLevel() → dynamic
-  ;
-static method usedTopLevel() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.strong.expect
deleted file mode 100644
index 609b92c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.strong.expect
+++ /dev/null
@@ -1,126 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class UsedAsInterface extends core::Object {
-  synthetic constructor •() → self::UsedAsInterface*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class InstantiatedButMethodsUnused extends core::Object {
-  synthetic constructor •() → self::InstantiatedButMethodsUnused*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.{self::UsedAsBaseClass::usedInSubclass}();
-}
-static method interfaceCall(self::UsedAsInterface* object) → void {
-  object.{self::UsedAsInterface::usedInSubclass}();
-}
-static method exactCallA(self::ClassA* object) → void {
-  object.{self::ClassA::usedInSubclass}();
-}
-static method exactCallB(self::ClassB* object) → void {
-  object.{self::ClassB::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_nnbd_opt_out/unused_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.strong.transformed.expect
deleted file mode 100644
index 609b92c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.strong.transformed.expect
+++ /dev/null
@@ -1,126 +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 member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class UsedAsInterface extends core::Object {
-  synthetic constructor •() → self::UsedAsInterface*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class InstantiatedButMethodsUnused extends core::Object {
-  synthetic constructor •() → self::InstantiatedButMethodsUnused*
-    : super core::Object::•()
-    ;
-  method usedInSubclass() → void {
-    core::print("Unused");
-  }
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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.{self::UsedAsBaseClass::usedInSubclass}();
-}
-static method interfaceCall(self::UsedAsInterface* object) → void {
-  object.{self::UsedAsInterface::usedInSubclass}();
-}
-static method exactCallA(self::ClassA* object) → void {
-  object.{self::ClassA::usedInSubclass}();
-}
-static method exactCallB(self::ClassB* object) → void {
-  object.{self::ClassB::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.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/unused_methods.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/unused_methods.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.hierarchy.expect
deleted file mode 100644
index 86fe8bf..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.m
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.outline.expect
deleted file mode 100644
index 8f76fa2..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.outline.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: The keyword 'var' can't be used as a type name.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: Type 'var' not found.
-//   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;
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.strong.expect
deleted file mode 100644
index 4afb322..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.strong.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: The keyword 'var' can't be used as a type name.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: Type 'var' not found.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: '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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::A* a = new self::A::•();
-  a.{self::A::m} = null;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.strong.transformed.expect
deleted file mode 100644
index 4afb322..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.strong.transformed.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: The keyword 'var' can't be used as a type name.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: Type 'var' not found.
-//   Map<String, var> m;
-//               ^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: '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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  self::A* a = new self::A::•();
-  a.{self::A::m} = null;
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.weak.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.weak.outline.expect
new file mode 100644
index 0000000..0208ae1
--- /dev/null
+++ b/pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: The keyword 'var' can't be used as a type name.
+//   Map<String, var> m;
+//               ^^^
+//
+// pkg/front_end/testcases/general_nnbd_opt_out/var_as_type_name.dart:8:15: Error: Type 'var' not found.
+//   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;
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.hierarchy.expect
deleted file mode 100644
index 77a190c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.hierarchy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.list
-    Foo.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.clear
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.list
-    Foo.first
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.outline.expect
deleted file mode 100644
index 910ea9e..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.outline.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  field core::List<dynamic>* list;
-  synthetic constructor •() → self::Foo*
-    ;
-  set first(dynamic x) → void
-    ;
-  operator []=(dynamic x, dynamic y) → void
-    ;
-  method clear() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.strong.expect
deleted file mode 100644
index b57b62c..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.strong.expect
+++ /dev/null
@@ -1,31 +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 •() → self::Foo*
-    : super core::Object::•()
-    ;
-  set first(dynamic x) → void
-    return let final core::List<dynamic>* #t1 = this.{self::Foo::list} in let final core::int* #t2 = 0 in let final dynamic #t3 = x in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3;
-  operator []=(dynamic x, dynamic y) → void
-    return let final core::List<dynamic>* #t5 = this.{self::Foo::list} in let final dynamic #t6 = x as{TypeError,ForDynamic} core::int in let final dynamic #t7 = y in let final void #t8 = #t5.{core::List::[]=}(#t6, #t7) in #t7;
-  method clear() → void
-    return this.{self::Foo::list}.{core::List::clear}();
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::Foo::•().{self::Foo::first} = 4;
-  new self::Foo::•().{self::Foo::[]=}(3, 4);
-  new self::Foo::•().{self::Foo::clear}();
-}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.strong.transformed.expect
deleted file mode 100644
index 88ae60a..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.strong.transformed.expect
+++ /dev/null
@@ -1,31 +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 •() → self::Foo*
-    : super core::Object::•()
-    ;
-  set first(dynamic x) → void
-    return let final core::List<dynamic>* #t1 = this.{self::Foo::list} in let final core::int* #t2 = 0 in let final dynamic #t3 = x in let final void #t4 = #t1.{core::List::[]=}(#t2, #t3) in #t3;
-  operator []=(dynamic x, dynamic y) → void
-    return let final core::List<dynamic>* #t5 = this.{self::Foo::list} in let final core::int #t6 = x as{TypeError,ForDynamic} core::int in let final dynamic #t7 = y in let final void #t8 = #t5.{core::List::[]=}(#t6, #t7) in #t7;
-  method clear() → void
-    return this.{self::Foo::list}.{core::List::clear}();
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method main() → dynamic {
-  new self::Foo::•().{self::Foo::first} = 4;
-  new self::Foo::•().{self::Foo::[]=}(3, 4);
-  new self::Foo::•().{self::Foo::clear}();
-}
diff --git a/pkg/front_end/testcases/general/void_methods.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/void_methods.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/void_methods.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.hierarchy.expect b/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.hierarchy.expect
deleted file mode 100644
index eb50940..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.hierarchy.expect
+++ /dev/null
@@ -1,105 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.getterOnly
-    Object.toString
-    C.superField
-    C.setterOnly
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.superMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.getterOnly
-    C.superField
-    C.setterOnly
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.getterOnly
-    Object.toString
-    C.superField
-    C.setterOnly
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.field
-    D.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.superMethod
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.test
-  classSetters:
-    C.getterOnly
-    C.superField
-    D.setterOnly
-    D.field
-
-E:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    D.getterOnly
-    Object.toString
-    C.superField
-    C.setterOnly
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.field
-    D.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    E.missingField
-    C.superMethod
-    Object.hashCode
-    E.missingMethod
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.test
-  classSetters:
-    C.getterOnly
-    C.superField
-    D.setterOnly
-    D.field
-    E.missingField
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.outline.expect
deleted file mode 100644
index 43ced28..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.outline.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field dynamic superField;
-  synthetic constructor •() → self::C*
-    ;
-  method superMethod() → dynamic
-    ;
-  get setterOnly() → dynamic
-    ;
-  set setterOnly(dynamic _) → void
-    ;
-  get getterOnly() → dynamic
-    ;
-  set getterOnly(dynamic _) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-class D extends self::C {
-  field dynamic field;
-  synthetic constructor •() → self::D*
-    ;
-  set setterOnly(dynamic _) → void
-    ;
-  get getterOnly() → dynamic
-    ;
-  method method() → dynamic
-    ;
-  method test() → void
-    ;
-}
-class E extends self::D {
-  field dynamic missingField;
-  synthetic constructor •() → self::E*
-    ;
-  method missingMethod() → void
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.strong.expect b/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.strong.expect
deleted file mode 100644
index 73f742b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.strong.expect
+++ /dev/null
@@ -1,136 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:50:10: Error: The getter 'missingField' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'missingField'.
-//     this.missingField;
-//          ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:51:10: Error: The setter 'missingField' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'missingField'.
-//     this.missingField = 0;
-//          ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:52:10: Error: The method 'missingMethod' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing method, or defining a method named 'missingMethod'.
-//     this.missingMethod();
-//          ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:54:5: Error: The getter 'missingField' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'missingField'.
-//     missingField;
-//     ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:55:5: Error: The setter 'missingField' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'missingField'.
-//     missingField = 0;
-//     ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:56:5: Error: The method 'missingMethod' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing method, or defining a method named 'missingMethod'.
-//     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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:50:10: Error: The getter 'missingField' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'missingField'.
-    this.missingField;
-         ^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:51:10: Error: The setter 'missingField' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'missingField'.
-    this.missingField = 0;
-         ^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:52:10: Error: The method 'missingMethod' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing method, or defining a method named 'missingMethod'.
-    this.missingMethod();
-         ^^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:54:5: Error: The getter 'missingField' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'missingField'.
-    missingField;
-    ^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:55:5: Error: The setter 'missingField' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'missingField'.
-    missingField = 0;
-    ^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:56:5: Error: The method 'missingMethod' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing method, or defining a method named 'missingMethod'.
-    missingMethod();
-    ^^^^^^^^^^^^^";
-  }
-}
-class E extends self::D {
-  field dynamic missingField = null;
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  method missingMethod() → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.strong.transformed.expect b/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.strong.transformed.expect
deleted file mode 100644
index 73f742b..0000000
--- a/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.strong.transformed.expect
+++ /dev/null
@@ -1,136 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:50:10: Error: The getter 'missingField' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'missingField'.
-//     this.missingField;
-//          ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:51:10: Error: The setter 'missingField' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'missingField'.
-//     this.missingField = 0;
-//          ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:52:10: Error: The method 'missingMethod' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing method, or defining a method named 'missingMethod'.
-//     this.missingMethod();
-//          ^^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:54:5: Error: The getter 'missingField' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing getter, or defining a getter or field named 'missingField'.
-//     missingField;
-//     ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:55:5: Error: The setter 'missingField' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing setter, or defining a setter or field named 'missingField'.
-//     missingField = 0;
-//     ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:56:5: Error: The method 'missingMethod' isn't defined for the class 'D'.
-//  - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-// Try correcting the name to the name of an existing method, or defining a method named 'missingMethod'.
-//     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 {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-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;
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:50:10: Error: The getter 'missingField' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'missingField'.
-    this.missingField;
-         ^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:51:10: Error: The setter 'missingField' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'missingField'.
-    this.missingField = 0;
-         ^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:52:10: Error: The method 'missingMethod' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing method, or defining a method named 'missingMethod'.
-    this.missingMethod();
-         ^^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:54:5: Error: The getter 'missingField' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing getter, or defining a getter or field named 'missingField'.
-    missingField;
-    ^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:55:5: Error: The setter 'missingField' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing setter, or defining a setter or field named 'missingField'.
-    missingField = 0;
-    ^^^^^^^^^^^^";
-    invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart:56:5: Error: The method 'missingMethod' isn't defined for the class 'D'.
- - 'D' is from 'pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart'.
-Try correcting the name to the name of an existing method, or defining a method named 'missingMethod'.
-    missingMethod();
-    ^^^^^^^^^^^^^";
-  }
-}
-class E extends self::D {
-  field dynamic missingField = null;
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-  method missingMethod() → void {}
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/warn_unresolved_sends.dart.outline.expect b/pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/warn_unresolved_sends.dart.outline.expect
copy to pkg/front_end/testcases/general_nnbd_opt_out/warn_unresolved_sends.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/implicit_getter_calls/folder.options b/pkg/front_end/testcases/implicit_getter_calls/folder.options
index 3244fd8..fe39d71 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/folder.options
+++ b/pkg/front_end/testcases/implicit_getter_calls/folder.options
@@ -1,3 +1,2 @@
 --force-no-explicit-getter-calls
---enable-experiment=no-non-nullable
 --target=none
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart
index e7aa041..f9ddb1b 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart
+++ b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 bool enableRead = true;
 
 int read(int value) => enableRead ? value : -1;
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.textual_outline.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.textual_outline.expect
index d9d43c9..52eeaa7 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bool enableRead = true;
 int read(int value) => enableRead ? value : -1;
 int method1() => 0;
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.textual_outline_modelled.expect
index fafec6e..7b9b8af 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 bool enableRead = true;
 callField(Class c) {}
 callGetter(Class c) {}
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.strong.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.strong.expect
rename to pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.outline.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.outline.expect
rename to pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.strong.transformed.expect b/pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/implicit_getter_calls/getter_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart
index 8b26b24..b7b47d6 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart
+++ b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A<T> {
   void Function(T) f;
   A(this.f);
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.textual_outline.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.textual_outline.expect
index eb3e361..116a8da 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   void Function(T) f;
   A(this.f);
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.textual_outline_modelled.expect
index b5116cc..4b5395b 100644
--- a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   A(this.f);
   foo(T x) => this.f(x);
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.strong.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.strong.expect
rename to pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.outline.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.outline.expect
rename to pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.strong.transformed.expect b/pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/implicit_getter_calls/this_field_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_01.yaml.world.1.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_01.yaml.world.1.expect
index 08f11e7..b112423 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_01.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_01.yaml.world.1.expect
@@ -3,12 +3,10 @@
 
   import "dart:ffi";
 
-  @#C3
-  @#C9
+  @#C6
   class Coordinate extends dart.ffi::Struct {
-    @#C3
-    static final field dart.core::int* #sizeOf = (#C12).{dart.core::List::[]}(dart.ffi::_abi());
-    @#C3
+    static final field dart.core::int* #sizeOf = (#C9).{dart.core::List::[]}(dart.ffi::_abi());
+    @#C12
     constructor #fromTypedDataBase(dynamic #pointer) → dynamic
       : super dart.ffi::Struct::_fromPointer(#pointer)
       ;
@@ -52,18 +50,18 @@
   }
 }
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = dart.core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(dart.ffi::Double)
-  #C6 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
-  #C7 = <dart.core::Type>[#C5, #C5, #C6]
-  #C8 = dart.ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = dart.core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <dart.core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(dart.ffi::Double)
+  #C3 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
+  #C4 = <dart.core::Type>[#C2, #C2, #C3]
+  #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = dart.core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <dart.core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = dart.core::pragma {name:#C10, options:#C11}
   #C13 = 0
   #C14 = <dart.core::int*>[#C13, #C13, #C13]
   #C15 = 8
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_01.yaml.world.2.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_01.yaml.world.2.expect
index 77ff6cd..406e797 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_01.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_01.yaml.world.2.expect
@@ -3,12 +3,10 @@
 
   import "dart:ffi";
 
-  @#C3
-  @#C9
+  @#C6
   class Coordinate extends dart.ffi::Struct {
-    @#C3
-    static final field dart.core::int* #sizeOf = (#C12).{dart.core::List::[]}(dart.ffi::_abi());
-    @#C3
+    static final field dart.core::int* #sizeOf = (#C9).{dart.core::List::[]}(dart.ffi::_abi());
+    @#C12
     constructor #fromTypedDataBase(dynamic #pointer) → dynamic
       : super dart.ffi::Struct::_fromPointer(#pointer)
       ;
@@ -56,18 +54,18 @@
   }
 }
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = dart.core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(dart.ffi::Double)
-  #C6 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
-  #C7 = <dart.core::Type>[#C5, #C5, #C6]
-  #C8 = dart.ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = dart.core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <dart.core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(dart.ffi::Double)
+  #C3 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
+  #C4 = <dart.core::Type>[#C2, #C2, #C3]
+  #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = dart.core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <dart.core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = dart.core::pragma {name:#C10, options:#C11}
   #C13 = 0
   #C14 = <dart.core::int*>[#C13, #C13, #C13]
   #C15 = 8
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_02.yaml.world.1.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_02.yaml.world.1.expect
index a42b6b2..29633d6 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_02.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/ffi_02.yaml.world.1.expect
@@ -3,12 +3,10 @@
 
   import "dart:ffi";
 
-  @#C3
-  @#C9
+  @#C6
   class Coordinate extends dart.ffi::Struct {
-    @#C3
-    static final field dart.core::int* #sizeOf = (#C12).{dart.core::List::[]}(dart.ffi::_abi());
-    @#C3
+    static final field dart.core::int* #sizeOf = (#C9).{dart.core::List::[]}(dart.ffi::_abi());
+    @#C12
     constructor #fromTypedDataBase(dynamic #pointer) → dynamic
       : super dart.ffi::Struct::_fromPointer(#pointer)
       ;
@@ -53,18 +51,18 @@
   }
 }
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = dart.core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(dart.ffi::Double)
-  #C6 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
-  #C7 = <dart.core::Type>[#C5, #C5, #C6]
-  #C8 = dart.ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = dart.core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <dart.core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(dart.ffi::Double)
+  #C3 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
+  #C4 = <dart.core::Type>[#C2, #C2, #C3]
+  #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = dart.core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <dart.core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = dart.core::pragma {name:#C10, options:#C11}
   #C13 = 0
   #C14 = <dart.core::int*>[#C13, #C13, #C13]
   #C15 = 8
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.1.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.1.expect
index 08f11e7..b112423 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.1.expect
@@ -3,12 +3,10 @@
 
   import "dart:ffi";
 
-  @#C3
-  @#C9
+  @#C6
   class Coordinate extends dart.ffi::Struct {
-    @#C3
-    static final field dart.core::int* #sizeOf = (#C12).{dart.core::List::[]}(dart.ffi::_abi());
-    @#C3
+    static final field dart.core::int* #sizeOf = (#C9).{dart.core::List::[]}(dart.ffi::_abi());
+    @#C12
     constructor #fromTypedDataBase(dynamic #pointer) → dynamic
       : super dart.ffi::Struct::_fromPointer(#pointer)
       ;
@@ -52,18 +50,18 @@
   }
 }
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = dart.core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(dart.ffi::Double)
-  #C6 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
-  #C7 = <dart.core::Type>[#C5, #C5, #C6]
-  #C8 = dart.ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = dart.core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <dart.core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(dart.ffi::Double)
+  #C3 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
+  #C4 = <dart.core::Type>[#C2, #C2, #C3]
+  #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = dart.core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <dart.core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = dart.core::pragma {name:#C10, options:#C11}
   #C13 = 0
   #C14 = <dart.core::int*>[#C13, #C13, #C13]
   #C15 = 8
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.2.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.2.expect
index 4d29471..5a4e426 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.2.expect
@@ -3,12 +3,10 @@
 
   import "dart:ffi";
 
-  @#C3
-  @#C9
+  @#C6
   class Coordinate extends dart.ffi::Struct {
-    @#C3
-    static final field dart.core::int* #sizeOf = (#C12).{dart.core::List::[]}(dart.ffi::_abi());
-    @#C3
+    static final field dart.core::int* #sizeOf = (#C9).{dart.core::List::[]}(dart.ffi::_abi());
+    @#C12
     constructor #fromTypedDataBase(dynamic #pointer) → dynamic
       : super dart.ffi::Struct::_fromPointer(#pointer)
       ;
@@ -53,18 +51,18 @@
   }
 }
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = dart.core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(dart.ffi::Double)
-  #C6 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
-  #C7 = <dart.core::Type>[#C5, #C5, #C6]
-  #C8 = dart.ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = dart.core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <dart.core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(dart.ffi::Double)
+  #C3 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
+  #C4 = <dart.core::Type>[#C2, #C2, #C3]
+  #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = dart.core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <dart.core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = dart.core::pragma {name:#C10, options:#C11}
   #C13 = 0
   #C14 = <dart.core::int*>[#C13, #C13, #C13]
   #C15 = 8
diff --git a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.3.expect b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.3.expect
index 6f18d43..3d3c99a 100644
--- a/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental_initialize_from_dill/no_outline_change_35.yaml.world.3.expect
@@ -3,12 +3,10 @@
 
   import "dart:ffi";
 
-  @#C3
-  @#C9
+  @#C6
   class Coordinate extends dart.ffi::Struct {
-    @#C3
-    static final field dart.core::int* #sizeOf = (#C12).{dart.core::List::[]}(dart.ffi::_abi());
-    @#C3
+    static final field dart.core::int* #sizeOf = (#C9).{dart.core::List::[]}(dart.ffi::_abi());
+    @#C12
     constructor #fromTypedDataBase(dynamic #pointer) → dynamic
       : super dart.ffi::Struct::_fromPointer(#pointer)
       ;
@@ -54,18 +52,18 @@
   }
 }
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = dart.core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(dart.ffi::Double)
-  #C6 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
-  #C7 = <dart.core::Type>[#C5, #C5, #C6]
-  #C8 = dart.ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = dart.core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <dart.core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(dart.ffi::Double)
+  #C3 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>)
+  #C4 = <dart.core::Type>[#C2, #C2, #C3]
+  #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = dart.core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <dart.core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = dart.core::pragma {name:#C10, options:#C11}
   #C13 = 0
   #C14 = <dart.core::int*>[#C13, #C13, #C13]
   #C15 = 8
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart
index 45b534d..5733365 100644
--- a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart
+++ b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.hierarchy.expect b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.hierarchy.expect
deleted file mode 100644
index db47d25b..0000000
--- a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.textual_outline.expect b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.textual_outline.expect
index 18f0b60..aa6d1a6 100644
--- a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C {}
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.textual_outline_modelled.expect
index 1aba12d..d981ccc 100644
--- a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C {}
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.strong.expect b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/abstract_class_instantiation.dart.strong.expect
rename to pkg/front_end/testcases/inference/abstract_class_instantiation.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.outline.expect b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/abstract_class_instantiation.dart.outline.expect
rename to pkg/front_end/testcases/inference/abstract_class_instantiation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/abstract_class_instantiation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/abstract_class_instantiation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/abstract_class_instantiation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/assert.dart b/pkg/front_end/testcases/inference/assert.dart
index 73df3a8..af39c92 100644
--- a/pkg/front_end/testcases/inference/assert.dart
+++ b/pkg/front_end/testcases/inference/assert.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/assert.dart.textual_outline.expect b/pkg/front_end/testcases/inference/assert.dart.textual_outline.expect
index cdb201d..c1725cf 100644
--- a/pkg/front_end/testcases/inference/assert.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/assert.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/assert.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/assert.dart.textual_outline_modelled.expect
index b66d908..f75a9d3 100644
--- a/pkg/front_end/testcases/inference/assert.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/assert.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/assert.dart.strong.expect b/pkg/front_end/testcases/inference/assert.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assert.dart.strong.expect
rename to pkg/front_end/testcases/inference/assert.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/assert.dart.outline.expect b/pkg/front_end/testcases/inference/assert.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assert.dart.outline.expect
rename to pkg/front_end/testcases/inference/assert.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/assert.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/assert.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assert.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/assert.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart b/pkg/front_end/testcases/inference/assert_initializer.dart
index aadfd0b..800fcfa 100644
--- a/pkg/front_end/testcases/inference/assert_initializer.dart
+++ b/pkg/front_end/testcases/inference/assert_initializer.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart.hierarchy.expect b/pkg/front_end/testcases/inference/assert_initializer.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/assert_initializer.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/inference/assert_initializer.dart.textual_outline.expect
index bfa7fcc..60baab5 100644
--- a/pkg/front_end/testcases/inference/assert_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/assert_initializer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/assert_initializer.dart.textual_outline_modelled.expect
index 9871f1a..8b4a391 100644
--- a/pkg/front_end/testcases/inference/assert_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/assert_initializer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart.strong.expect b/pkg/front_end/testcases/inference/assert_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assert_initializer.dart.strong.expect
rename to pkg/front_end/testcases/inference/assert_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart.outline.expect b/pkg/front_end/testcases/inference/assert_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assert_initializer.dart.outline.expect
rename to pkg/front_end/testcases/inference/assert_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/assert_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/assert_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assert_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/assert_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/assign_local.dart b/pkg/front_end/testcases/inference/assign_local.dart
index 2b2b9cb..bd63a65 100644
--- a/pkg/front_end/testcases/inference/assign_local.dart
+++ b/pkg/front_end/testcases/inference/assign_local.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/assign_local.dart.hierarchy.expect b/pkg/front_end/testcases/inference/assign_local.dart.hierarchy.expect
deleted file mode 100644
index 38e2563..0000000
--- a/pkg/front_end/testcases/inference/assign_local.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/assign_local.dart.textual_outline.expect b/pkg/front_end/testcases/inference/assign_local.dart.textual_outline.expect
index dab01df..4c1b53e 100644
--- a/pkg/front_end/testcases/inference/assign_local.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/assign_local.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/inference/assign_local.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/assign_local.dart.textual_outline_modelled.expect
index dab01df..4c1b53e 100644
--- a/pkg/front_end/testcases/inference/assign_local.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/assign_local.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/inference/assign_local.dart.strong.expect b/pkg/front_end/testcases/inference/assign_local.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assign_local.dart.strong.expect
rename to pkg/front_end/testcases/inference/assign_local.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/assign_local.dart.outline.expect b/pkg/front_end/testcases/inference/assign_local.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assign_local.dart.outline.expect
rename to pkg/front_end/testcases/inference/assign_local.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/assign_local.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/assign_local.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/assign_local.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/assign_local.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/async_await.dart b/pkg/front_end/testcases/inference/async_await.dart
index 3b582a4..ad86050 100644
--- a/pkg/front_end/testcases/inference/async_await.dart
+++ b/pkg/front_end/testcases/inference/async_await.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/async_await.dart.hierarchy.expect b/pkg/front_end/testcases/inference/async_await.dart.hierarchy.expect
deleted file mode 100644
index 8a18ee5..0000000
--- a/pkg/front_end/testcases/inference/async_await.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/async_await.dart.textual_outline.expect b/pkg/front_end/testcases/inference/async_await.dart.textual_outline.expect
index 0ff2309..ed8e45d 100644
--- a/pkg/front_end/testcases/inference/async_await.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/async_await.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/async_await.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/async_await.dart.textual_outline_modelled.expect
index 28c7ff1..070de90 100644
--- a/pkg/front_end/testcases/inference/async_await.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/async_await.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/async_await.dart.strong.expect b/pkg/front_end/testcases/inference/async_await.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_await.dart.strong.expect
rename to pkg/front_end/testcases/inference/async_await.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/async_await.dart.outline.expect b/pkg/front_end/testcases/inference/async_await.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_await.dart.outline.expect
rename to pkg/front_end/testcases/inference/async_await.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/async_await.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_await.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/async_await.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart
index fd4b944..d61ec5d 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.textual_outline.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.textual_outline.expect
index 2394f32..224b906 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.textual_outline_modelled.expect
index 92b84b4..86c1b92 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.strong.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.strong.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.outline.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.outline.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_flatten.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart
index e496461..31f7a19 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.textual_outline.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.textual_outline.expect
index d5d8f30..7eb8184 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var f = () async => 0;
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.textual_outline_modelled.expect
index 95b148d..c970c4d 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.strong.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_future.dart.strong.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.outline.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_future.dart.outline.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_future.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_future.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart
index b88b060..dc80145 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.textual_outline.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.textual_outline.expect
index acecf1d..bf9ae10 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.textual_outline_modelled.expect
index c8ad68a..390945c 100644
--- a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.strong.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.strong.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.outline.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.outline.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/async_closure_return_type_future_or.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart
index a8a66ce..e5f490e 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.textual_outline.expect
index 2d20965..e22a469 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.textual_outline_modelled.expect
index 0962407..118d0c6 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart
index ed0f1a5..7c1fe26 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.outline.expect
deleted file mode 100644
index 8394d5c..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.outline.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-
-import "dart:async";
-import "dart:math" show Random;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.textual_outline.expect
index 2d20965..e22a469 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.textual_outline_modelled.expect
index 0962407..118d0c6 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.outline.expect
copy to pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_values.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart
index 833afb7..10de769 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.outline.expect
deleted file mode 100644
index 8394d5c..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.outline.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-
-import "dart:async";
-import "dart:math" show Random;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.textual_outline.expect
index 2d20965..e22a469 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.textual_outline_modelled.expect
index 0962407..118d0c6 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_async_all_returns_are_futures.dart.outline.expect
copy to pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_mix_of_values_and_futures.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart
index 88d4ac6..9ff3d91 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.textual_outline.expect
index 242deb6..a760906 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.textual_outline_modelled.expect
index 8318b63..d817d9d 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart
index 820a997..8bb60dd 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.textual_outline.expect
index a73b3f8..f75f219 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test1() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.textual_outline_modelled.expect
index 128ffb9..b1f0123 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart
index 044b2f3..f785f62 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.textual_outline.expect
index f59c3c4..54d3052 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 f() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.textual_outline_modelled.expect
index f59c3c4..54d3052 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 f() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.outline.expect
copy to pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart
index 72a72cd..fe29a68 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart
index 9e190d1..aa4161f 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.textual_outline.expect
index 0a7258b..88e5ddb 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String f() => null;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.textual_outline_modelled.expect
index 0b7a3a9..68acc43 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String f() => null;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_downwards_incompatible_with_upwards_inference_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart
index b40afa5..75e2f5f 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.textual_outline.expect
index 8519dee..c7e4fb3 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.textual_outline_modelled.expect
index 8519dee..c7e4fb3 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart
index 440f561..a76ff1c 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.outline.expect
deleted file mode 100644
index 2fff360..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-import "dart:async";
-
-static method main() → dynamic async 
-  ;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.textual_outline.expect
index 8519dee..c7e4fb3 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.textual_outline_modelled.expect
index 8519dee..c7e4fb3 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async.dart.outline.expect
copy to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_async_star.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart
index 4c33394..be08618 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.textual_outline.expect
index 4a1f36a..068d32d 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var h = null;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.textual_outline_modelled.expect
index 1183aa1..ed21f2a 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart
index c774479..8ad09eb 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart
index 2df406d..d4ca6f2 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.textual_outline.expect
index 2d51ce5..0644126 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math' show Random;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.textual_outline_modelled.expect
index 02a9440..a858794 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math' show Random;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_lub.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart
index 4c3f9f8..89ff032 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.outline.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_nested_lambdas.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart
index 531bf49..a0ab88f 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.outline.expect
deleted file mode 100644
index 3619892..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.textual_outline.expect
index a73b3f8..f75f219 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test1() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.textual_outline_modelled.expect
index 128ffb9..b1f0123 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect
copy to pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_no_return.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart
index 86e4e26..38b0aca 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect
copy to pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart
index daf16ab..c13b308 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.textual_outline.expect
index c70c84a..84bb5b3 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.textual_outline_modelled.expect
index 10819ea..630ead4 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart
index 6df81fa..169776d 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.outline.expect
deleted file mode 100644
index b08cbd0..0000000
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method f() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.textual_outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.textual_outline.expect
index f59c3c4..54d3052 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 f() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.textual_outline_modelled.expect
index f59c3c4..54d3052 100644
--- a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 f() {}
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.strong.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.strong.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.outline.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.outline.expect
copy to pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/block_bodied_lambdas_void_context.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bottom.dart b/pkg/front_end/testcases/inference/bottom.dart
index 99a196f..cc5c8fe 100644
--- a/pkg/front_end/testcases/inference/bottom.dart
+++ b/pkg/front_end/testcases/inference/bottom.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bottom.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bottom.dart.textual_outline.expect
index 3a3a838..881b557 100644
--- a/pkg/front_end/testcases/inference/bottom.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bottom.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var v = null;
diff --git a/pkg/front_end/testcases/inference/bottom.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bottom.dart.textual_outline_modelled.expect
index 513df85..955a778 100644
--- a/pkg/front_end/testcases/inference/bottom.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bottom.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/bottom.dart.strong.expect b/pkg/front_end/testcases/inference/bottom.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bottom.dart.strong.expect
rename to pkg/front_end/testcases/inference/bottom.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bottom.dart.outline.expect b/pkg/front_end/testcases/inference/bottom.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bottom.dart.outline.expect
rename to pkg/front_end/testcases/inference/bottom.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bottom.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bottom.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bottom.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bottom.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bottom_in_closure.dart b/pkg/front_end/testcases/inference/bottom_in_closure.dart
index 9084f25..f777cf1 100644
--- a/pkg/front_end/testcases/inference/bottom_in_closure.dart
+++ b/pkg/front_end/testcases/inference/bottom_in_closure.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bottom_in_closure.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bottom_in_closure.dart.textual_outline.expect
index 5c8173a..d37e763 100644
--- a/pkg/front_end/testcases/inference/bottom_in_closure.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bottom_in_closure.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var v = () => null;
diff --git a/pkg/front_end/testcases/inference/bottom_in_closure.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bottom_in_closure.dart.textual_outline_modelled.expect
index 09b085b..e9d7670 100644
--- a/pkg/front_end/testcases/inference/bottom_in_closure.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bottom_in_closure.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/bottom_in_closure.dart.strong.expect b/pkg/front_end/testcases/inference/bottom_in_closure.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bottom_in_closure.dart.strong.expect
rename to pkg/front_end/testcases/inference/bottom_in_closure.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bottom_in_closure.dart.outline.expect b/pkg/front_end/testcases/inference/bottom_in_closure.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bottom_in_closure.dart.outline.expect
rename to pkg/front_end/testcases/inference/bottom_in_closure.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bottom_in_closure.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bottom_in_closure.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bottom_in_closure.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bottom_in_closure.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug30251.dart b/pkg/front_end/testcases/inference/bug30251.dart
index 7c8da73..bcd00d4 100644
--- a/pkg/front_end/testcases/inference/bug30251.dart
+++ b/pkg/front_end/testcases/inference/bug30251.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.hierarchy.expect b/pkg/front_end/testcases/inference/bug30251.dart.hierarchy.expect
deleted file mode 100644
index 79662a4..0000000
--- a/pkg/front_end/testcases/inference/bug30251.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug30251.dart.textual_outline.expect
index 8c82e9b..40a0766 100644
--- a/pkg/front_end/testcases/inference/bug30251.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug30251.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>(T t) => t;
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug30251.dart.textual_outline_modelled.expect
index a9f43dc..feeb7ca 100644
--- a/pkg/front_end/testcases/inference/bug30251.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug30251.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>(T t) => t;
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.strong.expect b/pkg/front_end/testcases/inference/bug30251.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30251.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug30251.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.outline.expect b/pkg/front_end/testcases/inference/bug30251.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30251.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug30251.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug30251.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30251.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug30251.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug30620.dart b/pkg/front_end/testcases/inference/bug30620.dart
index 80b762b..41598a3 100644
--- a/pkg/front_end/testcases/inference/bug30620.dart
+++ b/pkg/front_end/testcases/inference/bug30620.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.hierarchy.expect b/pkg/front_end/testcases/inference/bug30620.dart.hierarchy.expect
deleted file mode 100644
index 7fb975d..0000000
--- a/pkg/front_end/testcases/inference/bug30620.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    A.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug30620.dart.textual_outline.expect
index fec1eb3..4a04b1c 100644
--- a/pkg/front_end/testcases/inference/bug30620.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug30620.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug30620.dart.textual_outline_modelled.expect
index 0fcdf5f..6de7655 100644
--- a/pkg/front_end/testcases/inference/bug30620.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug30620.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.strong.expect b/pkg/front_end/testcases/inference/bug30620.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug30620.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.outline.expect b/pkg/front_end/testcases/inference/bug30620.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug30620.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug30620.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug30620.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart b/pkg/front_end/testcases/inference/bug30620_b.dart
index 40cb662..9ba5f81 100644
--- a/pkg/front_end/testcases/inference/bug30620_b.dart
+++ b/pkg/front_end/testcases/inference/bug30620_b.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.hierarchy.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.hierarchy.expect
deleted file mode 100644
index 7fb975d..0000000
--- a/pkg/front_end/testcases/inference/bug30620_b.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    A.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.outline.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.outline.expect
deleted file mode 100644
index 9c21f1c..0000000
--- a/pkg/front_end/testcases/inference/bug30620_b.dart.outline.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::String* foo;
-  constructor •(core::String* foo) → self::A*
-    ;
-  operator ==(core::Object* other) → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.textual_outline.expect
index 503a2af..d6b5ee4 100644
--- a/pkg/front_end/testcases/inference/bug30620_b.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug30620_b.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.textual_outline_modelled.expect
index 329f32b..edb63a4 100644
--- a/pkg/front_end/testcases/inference/bug30620_b.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug30620_b.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.strong.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620_b.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug30620_b.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.outline.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug30620.dart.outline.expect
copy to pkg/front_end/testcases/inference/bug30620_b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug30620_b.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug30620_b.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620_b.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug30620_b.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart b/pkg/front_end/testcases/inference/bug30620_c.dart
index 4986277..9683e49 100644
--- a/pkg/front_end/testcases/inference/bug30620_c.dart
+++ b/pkg/front_end/testcases/inference/bug30620_c.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.hierarchy.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.hierarchy.expect
deleted file mode 100644
index 7fb975d..0000000
--- a/pkg/front_end/testcases/inference/bug30620_c.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    A.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.outline.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.outline.expect
deleted file mode 100644
index 9c21f1c..0000000
--- a/pkg/front_end/testcases/inference/bug30620_c.dart.outline.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::String* foo;
-  constructor •(core::String* foo) → self::A*
-    ;
-  operator ==(core::Object* other) → core::bool*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.textual_outline.expect
index 42c642b..5291dd8 100644
--- a/pkg/front_end/testcases/inference/bug30620_c.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug30620_c.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.textual_outline_modelled.expect
index 6ecf601..88c8761 100644
--- a/pkg/front_end/testcases/inference/bug30620_c.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug30620_c.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.strong.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620_c.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug30620_c.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug30620.dart.outline.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug30620.dart.outline.expect
copy to pkg/front_end/testcases/inference/bug30620_c.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug30620_c.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug30620_c.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620_c.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug30620_c.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart b/pkg/front_end/testcases/inference/bug30620_d.dart
index 9688fb0..59aadba 100644
--- a/pkg/front_end/testcases/inference/bug30620_d.dart
+++ b/pkg/front_end/testcases/inference/bug30620_d.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.textual_outline.expect
index ce7f4b7..a8892bf 100644
--- a/pkg/front_end/testcases/inference/bug30620_d.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug30620_d.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String foo(obj) => obj is String ? obj.toUpperCase() : null;
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.textual_outline_modelled.expect
index ce7f4b7..a8892bf 100644
--- a/pkg/front_end/testcases/inference/bug30620_d.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug30620_d.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String foo(obj) => obj is String ? obj.toUpperCase() : null;
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.strong.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620_d.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug30620_d.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.outline.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620_d.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug30620_d.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug30620_d.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug30620_d.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30620_d.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug30620_d.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug30624.dart b/pkg/front_end/testcases/inference/bug30624.dart
index 6167b32d..123da0a 100644
--- a/pkg/front_end/testcases/inference/bug30624.dart
+++ b/pkg/front_end/testcases/inference/bug30624.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.hierarchy.expect b/pkg/front_end/testcases/inference/bug30624.dart.hierarchy.expect
deleted file mode 100644
index adbe429..0000000
--- a/pkg/front_end/testcases/inference/bug30624.dart.hierarchy.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.barD
-    C.barE
-    C._default
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.barA
-    C.barF
-    Object._instanceOf
-    Object.noSuchMethod
-    C.barB
-    Object._identityHashCode
-    C.barC
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug30624.dart.textual_outline.expect
index 2224470..ae6c4c3 100644
--- a/pkg/front_end/testcases/inference/bug30624.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug30624.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void foo<E>(C<E> c, int cmp(E a, E b)) {}
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug30624.dart.textual_outline_modelled.expect
index bb56b97..89c6dff 100644
--- a/pkg/front_end/testcases/inference/bug30624.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug30624.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<E> {
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.strong.expect b/pkg/front_end/testcases/inference/bug30624.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30624.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug30624.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.outline.expect b/pkg/front_end/testcases/inference/bug30624.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30624.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug30624.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug30624.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug30624.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug30624.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug30624.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug31132.dart b/pkg/front_end/testcases/inference/bug31132.dart
index 656f40a..6a6960d 100644
--- a/pkg/front_end/testcases/inference/bug31132.dart
+++ b/pkg/front_end/testcases/inference/bug31132.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.hierarchy.expect b/pkg/front_end/testcases/inference/bug31132.dart.hierarchy.expect
deleted file mode 100644
index de1cf73..0000000
--- a/pkg/front_end/testcases/inference/bug31132.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.z
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.z
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug31132.dart.textual_outline.expect
index 977a33d..d87d6dc 100644
--- a/pkg/front_end/testcases/inference/bug31132.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug31132.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {}
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug31132.dart.textual_outline_modelled.expect
index b742b0c..c995223 100644
--- a/pkg/front_end/testcases/inference/bug31132.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug31132.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {}
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.strong.expect b/pkg/front_end/testcases/inference/bug31132.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31132.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug31132.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.outline.expect b/pkg/front_end/testcases/inference/bug31132.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31132.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug31132.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug31132.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug31132.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31132.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug31132.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart b/pkg/front_end/testcases/inference/bug31133.dart
index 9f72fb9..4835a9f 100644
--- a/pkg/front_end/testcases/inference/bug31133.dart
+++ b/pkg/front_end/testcases/inference/bug31133.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug31133.dart.textual_outline.expect
index a6bcf94..dfdb7cb 100644
--- a/pkg/front_end/testcases/inference/bug31133.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug31133.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug31133.dart.textual_outline_modelled.expect
index 72a3ba0..7d0b674 100644
--- a/pkg/front_end/testcases/inference/bug31133.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug31133.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.strong.expect b/pkg/front_end/testcases/inference/bug31133.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31133.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug31133.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.outline.expect b/pkg/front_end/testcases/inference/bug31133.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31133.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug31133.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug31133.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31133.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug31133.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug31436.dart b/pkg/front_end/testcases/inference/bug31436.dart
index 36a7396..92aa283 100644
--- a/pkg/front_end/testcases/inference/bug31436.dart
+++ b/pkg/front_end/testcases/inference/bug31436.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug31436.dart.textual_outline.expect
index eaa5347..64de252 100644
--- a/pkg/front_end/testcases/inference/bug31436.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug31436.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void block_test() {}
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug31436.dart.textual_outline_modelled.expect
index 2b6b538..c71740e 100644
--- a/pkg/front_end/testcases/inference/bug31436.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug31436.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.strong.expect b/pkg/front_end/testcases/inference/bug31436.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31436.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug31436.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.outline.expect b/pkg/front_end/testcases/inference/bug31436.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31436.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug31436.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug31436.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug31436.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug31436.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug31436.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug32291.dart b/pkg/front_end/testcases/inference/bug32291.dart
index c2449b0..c71cdb6 100644
--- a/pkg/front_end/testcases/inference/bug32291.dart
+++ b/pkg/front_end/testcases/inference/bug32291.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug32291.dart.textual_outline.expect
index c07c403..91e6295 100644
--- a/pkg/front_end/testcases/inference/bug32291.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug32291.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void main() {}
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug32291.dart.textual_outline_modelled.expect
index c07c403..91e6295 100644
--- a/pkg/front_end/testcases/inference/bug32291.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug32291.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void main() {}
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.strong.expect b/pkg/front_end/testcases/inference/bug32291.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug32291.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug32291.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.outline.expect b/pkg/front_end/testcases/inference/bug32291.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug32291.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug32291.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug32291.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug32291.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug32291.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/bug33324.dart b/pkg/front_end/testcases/inference/bug33324.dart
index cdce5f17..a41574e 100644
--- a/pkg/front_end/testcases/inference/bug33324.dart
+++ b/pkg/front_end/testcases/inference/bug33324.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the greatest closure uses 'dynamic' and not Object as
 // the top type.
 
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.textual_outline.expect b/pkg/front_end/testcases/inference/bug33324.dart.textual_outline.expect
index b085311..2581956 100644
--- a/pkg/front_end/testcases/inference/bug33324.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/bug33324.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 int foo() {}
 main() {}
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/bug33324.dart.textual_outline_modelled.expect
index b085311..2581956 100644
--- a/pkg/front_end/testcases/inference/bug33324.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/bug33324.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 int foo() {}
 main() {}
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.strong.expect b/pkg/front_end/testcases/inference/bug33324.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug33324.dart.strong.expect
rename to pkg/front_end/testcases/inference/bug33324.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.outline.expect b/pkg/front_end/testcases/inference/bug33324.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug33324.dart.outline.expect
rename to pkg/front_end/testcases/inference/bug33324.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/bug33324.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/bug33324.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/bug33324.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/bug33324.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart b/pkg/front_end/testcases/inference/call_corner_cases.dart
index eef8a9c..f1136a5 100644
--- a/pkg/front_end/testcases/inference/call_corner_cases.dart
+++ b/pkg/front_end/testcases/inference/call_corner_cases.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.hierarchy.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.hierarchy.expect
deleted file mode 100644
index c0122ec..0000000
--- a/pkg/front_end/testcases/inference/call_corner_cases.dart.hierarchy.expect
+++ /dev/null
@@ -1,78 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    D.getB
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.fieldA
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    D.getA
-    Object._simpleInstanceOfFalse
-    D.fieldB
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.fieldA
-    D.fieldB
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.textual_outline.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.textual_outline.expect
index 48e6f56..540b48e 100644
--- a/pkg/front_end/testcases/inference/call_corner_cases.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/call_corner_cases.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.textual_outline_modelled.expect
index 73709ae..55a3eed 100644
--- a/pkg/front_end/testcases/inference/call_corner_cases.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/call_corner_cases.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.strong.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/call_corner_cases.dart.strong.expect
rename to pkg/front_end/testcases/inference/call_corner_cases.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.outline.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/call_corner_cases.dart.outline.expect
rename to pkg/front_end/testcases/inference/call_corner_cases.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/call_corner_cases.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/call_corner_cases.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/call_corner_cases.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/call_corner_cases.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart b/pkg/front_end/testcases/inference/callable_generic_class.dart
index 13e4b87..b6bc427 100644
--- a/pkg/front_end/testcases/inference/callable_generic_class.dart
+++ b/pkg/front_end/testcases/inference/callable_generic_class.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.hierarchy.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.hierarchy.expect
deleted file mode 100644
index 3b58d02..0000000
--- a/pkg/front_end/testcases/inference/callable_generic_class.dart.hierarchy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ActionDispatcher:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    ActionDispatcher.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-FooActions:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    FooActions.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.textual_outline.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.textual_outline.expect
index 0114b01..fcb2b47 100644
--- a/pkg/front_end/testcases/inference/callable_generic_class.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/callable_generic_class.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class ActionDispatcher<P> {
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.textual_outline_modelled.expect
index 0114b01..fcb2b47 100644
--- a/pkg/front_end/testcases/inference/callable_generic_class.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/callable_generic_class.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class ActionDispatcher<P> {
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.strong.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/callable_generic_class.dart.strong.expect
rename to pkg/front_end/testcases/inference/callable_generic_class.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.outline.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/callable_generic_class.dart.outline.expect
rename to pkg/front_end/testcases/inference/callable_generic_class.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/callable_generic_class.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/callable_generic_class.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/callable_generic_class.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/callable_generic_class.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart b/pkg/front_end/testcases/inference/circular_method_inference.dart
index 73ac166..4c2d890 100644
--- a/pkg/front_end/testcases/inference/circular_method_inference.dart
+++ b/pkg/front_end/testcases/inference/circular_method_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart.hierarchy.expect b/pkg/front_end/testcases/inference/circular_method_inference.dart.hierarchy.expect
deleted file mode 100644
index 8d43f04..0000000
--- a/pkg/front_end/testcases/inference/circular_method_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart.textual_outline.expect b/pkg/front_end/testcases/inference/circular_method_inference.dart.textual_outline.expect
index 10f2489..248729d 100644
--- a/pkg/front_end/testcases/inference/circular_method_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/circular_method_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A extends B {
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/circular_method_inference.dart.textual_outline_modelled.expect
index 10f2489..248729d 100644
--- a/pkg/front_end/testcases/inference/circular_method_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/circular_method_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A extends B {
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart.strong.expect b/pkg/front_end/testcases/inference/circular_method_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_method_inference.dart.strong.expect
rename to pkg/front_end/testcases/inference/circular_method_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart.outline.expect b/pkg/front_end/testcases/inference/circular_method_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_method_inference.dart.outline.expect
rename to pkg/front_end/testcases/inference/circular_method_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/circular_method_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/circular_method_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_method_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/circular_method_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart
index 6d00e3a..ef12128 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.textual_outline.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.textual_outline.expect
index 34a8c28..3abb754 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x = () => y;
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.textual_outline_modelled.expect
index 1be8547..220c601 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.expect
rename to pkg/front_end/testcases/inference/circular_reference_via_closures.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.outline.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_reference_via_closures.dart.outline.expect
rename to pkg/front_end/testcases/inference/circular_reference_via_closures.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_reference_via_closures.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/circular_reference_via_closures.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart
index 6d00e3a..ef12128 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.textual_outline.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.textual_outline.expect
index 34a8c28..3abb754 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x = () => y;
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.textual_outline_modelled.expect
index 1be8547..220c601 100644
--- a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.expect
rename to pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.outline.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.outline.expect
rename to pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/circular_reference_via_closures_initializer_types.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart
index 3a6055e..1aa3fa5 100644
--- a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart
+++ b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.outline.expect b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.outline.expect
deleted file mode 100644
index c74ce2b..0000000
--- a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.textual_outline.expect b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.textual_outline.expect
index a6bcf94..dfdb7cb 100644
--- a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.textual_outline_modelled.expect
index 72a3ba0..7d0b674 100644
--- a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.strong.expect b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/closure_param_null_to_object.dart.strong.expect
rename to pkg/front_end/testcases/inference/closure_param_null_to_object.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.outline.expect b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug31133.dart.outline.expect
copy to pkg/front_end/testcases/inference/closure_param_null_to_object.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/closure_param_null_to_object.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/closure_param_null_to_object.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/closure_param_null_to_object.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart
index 03c50b9..8584d92 100644
--- a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart
+++ b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.outline.expect b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.outline.expect
deleted file mode 100644
index b08cbd0..0000000
--- a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method f() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.textual_outline.expect b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.textual_outline.expect
index f59c3c4..54d3052 100644
--- a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 f() {}
diff --git a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.textual_outline_modelled.expect
index f59c3c4..54d3052 100644
--- a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 f() {}
diff --git a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.strong.expect b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.strong.expect
rename to pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.outline.expect b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_basic_void.dart.outline.expect
rename to pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/coerce_bottom_and_null_types.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart b/pkg/front_end/testcases/inference/complex_predecrement.dart
index 37c4acd..541cf50 100644
--- a/pkg/front_end/testcases/inference/complex_predecrement.dart
+++ b/pkg/front_end/testcases/inference/complex_predecrement.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.textual_outline.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/complex_predecrement.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/complex_predecrement.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/complex_predecrement.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/complex_predecrement.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.strong.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/complex_predecrement.dart.strong.expect
rename to pkg/front_end/testcases/inference/complex_predecrement.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.outline.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/complex_predecrement.dart.outline.expect
copy to pkg/front_end/testcases/inference/complex_predecrement.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/complex_predecrement.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/complex_predecrement.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/complex_predecrement.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/conditional_lub.dart b/pkg/front_end/testcases/inference/conditional_lub.dart
index bd12b1b..4e89e32 100644
--- a/pkg/front_end/testcases/inference/conditional_lub.dart
+++ b/pkg/front_end/testcases/inference/conditional_lub.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/conditional_lub.dart.textual_outline.expect b/pkg/front_end/testcases/inference/conditional_lub.dart.textual_outline.expect
index 8dcdc49..040fb14 100644
--- a/pkg/front_end/testcases/inference/conditional_lub.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/conditional_lub.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 bool b = true;
diff --git a/pkg/front_end/testcases/inference/conditional_lub.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/conditional_lub.dart.textual_outline_modelled.expect
index 2c98a8f..e2e1230 100644
--- a/pkg/front_end/testcases/inference/conditional_lub.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/conditional_lub.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 bool b = true;
diff --git a/pkg/front_end/testcases/inference/conditional_lub.dart.strong.expect b/pkg/front_end/testcases/inference/conditional_lub.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conditional_lub.dart.strong.expect
rename to pkg/front_end/testcases/inference/conditional_lub.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/conditional_lub.dart.outline.expect b/pkg/front_end/testcases/inference/conditional_lub.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conditional_lub.dart.outline.expect
rename to pkg/front_end/testcases/inference/conditional_lub.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/conditional_lub.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/conditional_lub.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conditional_lub.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/conditional_lub.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart
index 108c421..3502e34 100644
--- a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart
+++ b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.hierarchy.expect b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.textual_outline.expect b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.textual_outline.expect
index 65185f2..2cf47d4 100644
--- a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.textual_outline_modelled.expect
index 65185f2..2cf47d4 100644
--- a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.strong.expect b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conditional_upwards_inference.dart.strong.expect
rename to pkg/front_end/testcases/inference/conditional_upwards_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.outline.expect b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conditional_upwards_inference.dart.outline.expect
rename to pkg/front_end/testcases/inference/conditional_upwards_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/conditional_upwards_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conditional_upwards_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/conditional_upwards_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart b/pkg/front_end/testcases/inference/conflicting_fields.dart
index 8dacd55..8aa0ffd 100644
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart
+++ b/pkg/front_end/testcases/inference/conflicting_fields.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 /*@testedFeatures=inference*/
 
 class A {
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.hierarchy.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.hierarchy.expect
deleted file mode 100644
index b2b061e..0000000
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.hierarchy.expect
+++ /dev/null
@@ -1,99 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.field1
-    Object.toString
-    A.field2
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.field1
-    A.field2
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.field1
-    Object.toString
-    I.field2
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I.field1
-    I.field2
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces: I
-  classMembers:
-    B.field1
-    Object.toString
-    B.field2
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.field1
-    B.field2
-  interfaceMembers:
-    B.field1
-    Object.toString
-    B.field2
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    B.field1
-    B.field2
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.textual_outline.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.textual_outline.expect
index 411a1c3..612dc70 100644
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/conflicting_fields.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic field1;
   int field2;
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.textual_outline_modelled.expect
index 145da2c..5953483 100644
--- a/pkg/front_end/testcases/inference/conflicting_fields.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/conflicting_fields.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic field1;
   int field2;
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.strong.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicting_fields.dart.strong.expect
rename to pkg/front_end/testcases/inference/conflicting_fields.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.outline.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicting_fields.dart.outline.expect
rename to pkg/front_end/testcases/inference/conflicting_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/conflicting_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/conflicting_fields.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicting_fields.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/conflicting_fields.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart b/pkg/front_end/testcases/inference/conflicts_can_happen.dart
index 6679d6e..9cff49b 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.hierarchy.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.hierarchy.expect
deleted file mode 100644
index 652977b..0000000
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.hierarchy.expect
+++ /dev/null
@@ -1,158 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    I1.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I1.x
-
-I2:
-  superclasses:
-    Object
-      -> I1
-  interfaces:
-  classMembers:
-    I2.y
-    Object.toString
-    I1.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I2.y
-    I1.x
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-  interfaces: A, B
-  classMembers:
-    C1.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C1.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C2:
-  superclasses:
-    Object
-  interfaces: B, A
-  classMembers:
-    C2.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C2.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.textual_outline.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.textual_outline.expect
index 0cae63c..61de1e5 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class I1 {
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.textual_outline_modelled.expect
index fbcfeb5..042f496 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.strong.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicts_can_happen.dart.strong.expect
rename to pkg/front_end/testcases/inference/conflicts_can_happen.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.outline.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicts_can_happen.dart.outline.expect
rename to pkg/front_end/testcases/inference/conflicts_can_happen.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/conflicts_can_happen.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicts_can_happen.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/conflicts_can_happen.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart
index 65a929e..6ff6859 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.hierarchy.expect
deleted file mode 100644
index bee47d7..0000000
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.hierarchy.expect
+++ /dev/null
@@ -1,192 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    I1.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I1.x
-
-I2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I2.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I2.y
-
-I3:
-  superclasses:
-    Object
-  interfaces: I1, I2
-  classMembers:
-    I3.y
-    Object.toString
-    I3.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I3.y
-    I3.x
-  interfaceMembers:
-    I3.y
-    Object.toString
-    I3.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    I3.y
-    I3.x
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-  interfaces: A, B
-  classMembers:
-    C1.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C1.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C2:
-  superclasses:
-    Object
-  interfaces: A, B
-  classMembers:
-    C2.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C2.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.textual_outline.expect
index 99ab361..479d804 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class I1 {
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.textual_outline_modelled.expect
index ae75406..5fe5310 100644
--- a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.strong.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicts_can_happen2.dart.strong.expect
rename to pkg/front_end/testcases/inference/conflicts_can_happen2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.outline.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicts_can_happen2.dart.outline.expect
rename to pkg/front_end/testcases/inference/conflicts_can_happen2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/conflicts_can_happen2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/conflicts_can_happen2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/conflicts_can_happen2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart
index fe92588..f5ab537 100644
--- a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart
+++ b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.hierarchy.expect
deleted file mode 100644
index 92187bc..0000000
--- a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.hierarchy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.textual_outline.expect
index 3317fee..d0e5e69 100644
--- a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.textual_outline_modelled.expect
index 3317fee..d0e5e69 100644
--- a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_downwards_with_constraint.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart
index a98646b..de8faf4 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.hierarchy.expect
deleted file mode 100644
index dc723b9..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.t
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.textual_outline.expect
index e5bb6f3..0f67093 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.textual_outline_modelled.expect
index 413457c..03fbdc1 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart
index e8ebd84..44b6475 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.hierarchy.expect
deleted file mode 100644
index 2b00288..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-NotA:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.textual_outline.expect
index 5cd2e23..fba7458 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.textual_outline_modelled.expect
index b220a27..3ea62c0 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 NotA myF() => null;
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_argument_not_assignable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart
index 49c4ce1..e6e973c 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.hierarchy.expect
deleted file mode 100644
index 3c1d5a8..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.textual_outline.expect
index a3c6d99..e0d78b7 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.textual_outline_modelled.expect
index 5d6c509..860ec7c 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_const.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart
index af36b86..e40dbdd 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.hierarchy.expect
deleted file mode 100644
index a9ee54f..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.textual_outline.expect
index 228e705..901fea0 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.textual_outline_modelled.expect
index df658a6..81054ee 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_const_with_upper_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart
index 1d021ff..80b1454 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.textual_outline.expect
index af80416..ca0af4f 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.textual_outline_modelled.expect
index af80416..ca0af4f 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_downwards_from_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart
index 24d22ed..c90e241 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.hierarchy.expect
deleted file mode 100644
index dc723b9..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.t
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.textual_outline.expect
index 6328816..8a2b0f1 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.textual_outline_modelled.expect
index 33f4f60..ea74ff0 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart
index eddb435..1e23664 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.hierarchy.expect
deleted file mode 100644
index 897d3ef..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.f
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.textual_outline.expect
index e3c1708..717b03c 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.textual_outline_modelled.expect
index 2f3f4f5..0cfefa2 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_factory_calls_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart
index 7f6edc6..2ad9bf8 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.hierarchy.expect
deleted file mode 100644
index dc723b9..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.t
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.textual_outline.expect
index 7dd7722..0d236fee 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.textual_outline_modelled.expect
index 93750d1..ba064ef 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_named.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart
index c366014..cfa49e8 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.hierarchy.expect
deleted file mode 100644
index dc723b9..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.t
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.textual_outline.expect
index 6019b7f..4894a2a 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.textual_outline_modelled.expect
index 5970e4f..5230dc3 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_named_factory.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart
index 3a5cb18..9f4c5f5 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.hierarchy.expect
deleted file mode 100644
index dc723b9..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.t
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.textual_outline.expect
index ca7d831..cc112fa 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.textual_outline_modelled.expect
index 010a7db..46dfa95 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart
index 5ca5c0a..9c530b1 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.hierarchy.expect
deleted file mode 100644
index 0590bd0..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.hierarchy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.t
-    C._redirecting#
-
-CImpl:
-  superclasses:
-    Object
-  interfaces: C<T>
-  classMembers:
-    CImpl.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    CImpl.t
-  interfaceMembers:
-    CImpl.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    CImpl.t
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.textual_outline.expect
index 86de0c0..a657987 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.textual_outline_modelled.expect
index 8bc935e..dca6c03 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart
index a498a24..b084bd2 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.hierarchy.expect
deleted file mode 100644
index 10cabb6..0000000
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.hierarchy.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.t
-    C._redirecting#
-
-CImpl:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C<T>
-  classMembers:
-    CImpl.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    CImpl.t
-  interfaceMembers:
-    CImpl.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    CImpl.t
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.textual_outline.expect
index f75f8c2..1980fe9 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.textual_outline_modelled.expect
index 2ee205e..1b8090f 100644
--- a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<T> {
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_infer_from_arguments_redirecting_factory_to_factory.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart
index 12c528d..00a371ba 100644
--- a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart
+++ b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.hierarchy.expect
deleted file mode 100644
index add5d60..0000000
--- a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Cloneable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Pair:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Pair.t
-    Object.toString
-    Pair.reversed
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Pair.u
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Pair.t
-    Pair.u
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.textual_outline.expect
index 9663430..f4bb286 100644
--- a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Cloneable<T> {}
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.textual_outline_modelled.expect
index dd68431..0e51936 100644
--- a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Cloneable<T> {}
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_inference_f_bounded.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart
index aeab0af..3349db6 100644
--- a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart
+++ b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.hierarchy.expect
deleted file mode 100644
index 9a06944..0000000
--- a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.hierarchy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Pair:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Pair.t
-    Object.toString
-    Pair.reversed
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Pair.u
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Pair.t
-    Pair.u
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.textual_outline.expect
index 08b5285..ebdd53b 100644
--- a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Pair<T, U> {
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.textual_outline_modelled.expect
index 32b945d..d85d459 100644
--- a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Pair<T, U> {
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_reverse_type_parameters.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart
index 49f7a59..e66f399 100644
--- a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart
+++ b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.hierarchy.expect b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.textual_outline.expect
index d3ee256..6ad4007 100644
--- a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.textual_outline_modelled.expect
index a4a2d50..d5f3bae 100644
--- a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.strong.expect b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.strong.expect
rename to pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.outline.expect b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.outline.expect
rename to pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/constructors_too_many_positional_arguments.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart
index fa6454f..4a101da 100644
--- a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart
+++ b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.hierarchy.expect b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.hierarchy.expect
deleted file mode 100644
index 50432e9..0000000
--- a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.hierarchy.expect
+++ /dev/null
@@ -1,68 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.textual_outline.expect b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.textual_outline.expect
index 27f0e71..a65782b 100644
--- a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.textual_outline_modelled.expect
index 27f0e71..a65782b 100644
--- a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.strong.expect b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.strong.expect
rename to pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.outline.expect b/pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.outline.expect
rename to pkg/front_end/testcases/inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart
index 3eacb18..4697354 100644
--- a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart
+++ b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.hierarchy.expect b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.hierarchy.expect
deleted file mode 100644
index 57a735c..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.hierarchy.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    A.x2
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    A.y2
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-    A.x2
-    A.y2
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.textual_outline.expect b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.textual_outline.expect
index 0114cbd..93c66f2 100644
--- a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x = null;
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.textual_outline_modelled.expect
index 295e0ea..93932dc 100644
--- a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.strong.expect b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.strong.expect
rename to pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.outline.expect b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.outline.expect
rename to pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/dont_infer_field_type_when_initializer_is_null.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart
index 7df2348..30e4cdb 100644
--- a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart
+++ b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.outline.expect b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.outline.expect
deleted file mode 100644
index 8e85697..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.textual_outline.expect b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.textual_outline.expect
index c70c84a..84bb5b3 100644
--- a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test() {}
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.textual_outline_modelled.expect
index 10819ea..630ead4 100644
--- a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.strong.expect b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.strong.expect
rename to pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect
rename to pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/dont_infer_type_on_dynamic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart
index de4b6f0..20848d3 100644
--- a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart
+++ b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.outline.expect b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.outline.expect
deleted file mode 100644
index 8e85697..0000000
--- a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.textual_outline.expect b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.textual_outline.expect
index c70c84a..84bb5b3 100644
--- a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test() {}
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.textual_outline_modelled.expect
index 10819ea..630ead4 100644
--- a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.strong.expect b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.strong.expect
rename to pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/dont_infer_type_when_initializer_is_null.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart
index 10a6728..2e7f935 100644
--- a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart
+++ b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.textual_outline.expect
index 1e0f033..27f2e8e 100644
--- a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math';
diff --git a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.textual_outline_modelled.expect
index 1e0f033..27f2e8e 100644
--- a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math';
diff --git a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.strong.expect b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.strong.expect
rename to pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.outline.expect b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.outline.expect
rename to pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downward_inference_fixes_no_upwards_errors.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart
index 8536965..8aaf516 100644
--- a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart
+++ b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.hierarchy.expect
deleted file mode 100644
index 804e9c5..0000000
--- a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.textual_outline.expect
index f36fe08..9cf6047 100644
--- a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef T Function2<S, T>(S x);
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.textual_outline_modelled.expect
index 697ff80..2349108 100644
--- a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.strong.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.strong.expect
rename to pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.outline.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.outline.expect
rename to pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downward_inference_miscellaneous.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart
index e9541ee..6da207b 100644
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart
+++ b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.hierarchy.expect
deleted file mode 100644
index 2549864..0000000
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.textual_outline.expect
index 16ed9ce..b5cf4d6 100644
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.textual_outline_modelled.expect
index 16ed9ce..b5cf4d6 100644
--- a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_context_from_inferred_field_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart
index 7b01cc4..1539c9e 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.hierarchy.expect
deleted file mode 100644
index d4e27f8..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Baz:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.textual_outline.expect
index fb5daf2..588cdaf 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.textual_outline_modelled.expect
index af71307..80453be 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 @Foo(const [])
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart
index 827422e..0282769 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.hierarchy.expect
deleted file mode 100644
index 2e442e8..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Bar.f
-    Object.toString
-    Bar.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar.x
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.textual_outline.expect
index 3cc94f4..d4b4367 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.textual_outline_modelled.expect
index 900fab8..d046fed 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class Bar {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_class_members.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart
index 7c1133c..494a5215 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.textual_outline.expect
index d40f333..5d83904 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.textual_outline_modelled.expect
index 0818562..92182d0 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart
index a9752dc..f554d74 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.textual_outline.expect
index d40f333..5d83904 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.textual_outline_modelled.expect
index 0818562..92182d0 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_locals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart
index 9de884b..8afdbce 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.textual_outline.expect
index 45f63cd..5a9b8f3 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.textual_outline_modelled.expect
index 109def4..f166401 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_locals_referring_to_locals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart
index ba74a06..cf8f7a3 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.hierarchy.expect
deleted file mode 100644
index fe2bd42..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.textual_outline.expect
index 85424cc..7e7e66a 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.textual_outline_modelled.expect
index 3d34b57..a0810602 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_parameter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart
index fef6699..f0cc5f4 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.outline.expect
deleted file mode 100644
index 434e2c5..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.outline.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.textual_outline.expect
index d40f333..5d83904 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.textual_outline_modelled.expect
index 0818562..92182d0 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.outline.expect
copy to pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_parameter_local.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart
index 8051cfe..97e6015 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.hierarchy.expect
deleted file mode 100644
index 4a798de..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.hierarchy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.textual_outline.expect
index fdc2d82..0cfa516 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.textual_outline_modelled.expect
index 26f3f04..6afcb3b 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<@Foo(const []) T> {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart
index 011f07f..eb3ea6b 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.outline.expect
deleted file mode 100644
index 434e2c5..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.outline.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Foo extends core::Object /*hasConstConstructor*/  {
-  const constructor •(core::List<core::String*>* l) → self::Foo*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.textual_outline.expect
index d40f333..5d83904 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.textual_outline_modelled.expect
index 0818562..92182d0 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/downwards_inference_annotations_for_loop_variable.dart.outline.expect
copy to pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_type_variable_local.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart
index 86d985c..d23836f2 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.textual_outline.expect
index e7416ab..8c597df 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.textual_outline_modelled.expect
index 7d31ff1..47100a9 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_annotations_typedef.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart
index 4291ecb..d57ee4f 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.outline.expect
deleted file mode 100644
index c74ce2b..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.textual_outline.expect
index a6bcf94..dfdb7cb 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.textual_outline_modelled.expect
index 72a3ba0..7d0b674 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug31133.dart.outline.expect
copy to pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_assignment_statements.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart
index 0854541..4ebd7ac 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.textual_outline.expect
index 122c5de..43e5899 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.textual_outline_modelled.expect
index 122c5de..43e5899 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_async_await.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_async_await.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_async_await.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_async_await.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart
index 2f0d7f6..ae50255 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.hierarchy.expect
deleted file mode 100644
index 6392bea..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.hierarchy.expect
+++ /dev/null
@@ -1,129 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Stream:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Stream.asyncExpand
-    Stream.listen
-    Stream.map
-    Stream.pipe
-    Stream.cast
-    Stream.skip
-    Stream.join
-    Stream.asyncMap
-    Stream.toSet
-    Stream.asBroadcastStream
-    Object.toString
-    Stream.handleError
-    Stream.forEach
-    Stream.length
-    Stream.firstWhere
-    Object.runtimeType
-    Stream.isBroadcast
-    Stream.timeout
-    Object._simpleInstanceOf
-    Stream.isEmpty
-    Stream.take
-    Stream.any
-    Stream.transform
-    Stream.where
-    Object._instanceOf
-    Stream.skipWhile
-    Stream.castFrom
-    Stream.toList
-    Object.noSuchMethod
-    Stream.fold
-    Stream.drain
-    Stream.elementAt
-    Stream.distinct
-    Stream.expand
-    Stream.takeWhile
-    Stream.first
-    Object._identityHashCode
-    Object.hashCode
-    Stream.reduce
-    Stream.lastWhere
-    Stream.last
-    Object._simpleInstanceOfFalse
-    Stream.single
-    Stream.every
-    Stream.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Stream.singleWhere
-  classSetters:
-
-MyStream:
-  superclasses:
-    Object
-      -> Stream<T>
-  interfaces:
-  classMembers:
-    Stream.asyncExpand
-    Stream.listen
-    Stream.map
-    Stream.pipe
-    Stream.cast
-    Stream.skip
-    Stream.join
-    Stream.asyncMap
-    Stream.toSet
-    Stream.asBroadcastStream
-    Object.toString
-    Stream.handleError
-    Stream.forEach
-    Stream.length
-    Stream.firstWhere
-    Object.runtimeType
-    Stream.isBroadcast
-    Stream.timeout
-    Object._simpleInstanceOf
-    Stream.isEmpty
-    Stream.take
-    Stream.any
-    Stream.transform
-    Stream.where
-    Object._instanceOf
-    Stream.skipWhile
-    Stream.toList
-    Object.noSuchMethod
-    Stream.fold
-    Stream.drain
-    Stream.elementAt
-    Stream.distinct
-    Stream.expand
-    Stream.takeWhile
-    Stream.first
-    Object._identityHashCode
-    Object.hashCode
-    Stream.reduce
-    Stream.lastWhere
-    Stream.last
-    Object._simpleInstanceOfFalse
-    Stream.single
-    Stream.every
-    Stream.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Stream.singleWhere
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.textual_outline.expect
index f7b4524..8927e57 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.textual_outline_modelled.expect
index 305c039..036efeb 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_for_each.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_for_each.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_for_each.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_for_each.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart
index 8e40fda..95feae8 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.hierarchy.expect
deleted file mode 100644
index 3de5ead..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.x
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.textual_outline.expect
index af6edf3..bdfd52e 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef T Function2<S, T>([S x]);
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.textual_outline_modelled.expect
index 6ca9e3d..450e126 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 Function2<List<int>, String> g = ([llll = const [1]]) => "hello";
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_initializing_formal_default_formal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart
index 40a7805..5cba3e8 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.hierarchy.expect
deleted file mode 100644
index 69ec6ad..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.b
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.textual_outline.expect
index 1425d39..85e66f8 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.textual_outline_modelled.expect
index ac056b3..142e356 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_inside_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart
index 7bbdc9e..358dccc 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.textual_outline.expect
index 0c60385..db8f06b 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.textual_outline_modelled.expect
index 84d90fc..4191a01 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_inside_top_level_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart
index d0c1913..32cc135 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.hierarchy.expect
deleted file mode 100644
index 30533d0..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F0:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F4:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.textual_outline.expect
index df0025f..46e2c41 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class F0 {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.textual_outline_modelled.expect
index e349236..80a1502 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class F0 {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_constructor_arguments_infer_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart
index 9e641cf..e783c2b 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.textual_outline.expect
index 48d5e7a..d154090 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void f0(List<int> a) {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.textual_outline_modelled.expect
index 1799ee7..ba53e1c 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_function_arguments_infer_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart
index 4f6fc11..a183cd0 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.textual_outline.expect
index c66b28f..03e8557 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef T Function2<S, T>(S x);
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.textual_outline_modelled.expect
index 894e031..65dac34 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart
index 3f570b4..4fdbfdb 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.outline.expect
deleted file mode 100644
index 27b374a..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.textual_outline.expect
index c07c403..91e6295 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void main() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.textual_outline_modelled.expect
index c07c403..91e6295 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void main() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug32291.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug32291.dart.outline.expect
copy to pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_function_of_t_using_the_t.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart
index de3af3e..55b4fa9 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.hierarchy.expect
deleted file mode 100644
index 52c072a..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F4:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.textual_outline.expect
index a13b45e..efe4677 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class F3<T> {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.textual_outline_modelled.expect
index a13b45e..efe4677 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class F3<T> {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_empty_list.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart
index c5e21a0..ef16150 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.hierarchy.expect
deleted file mode 100644
index 30533d0..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F0:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F4:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.textual_outline.expect
index 3906f3d..f8fc25b 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class F0<T> {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.textual_outline_modelled.expect
index e9d27b1..4b8ade4 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class F0<T> {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_generic_constructor_arguments_infer_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart
index 11313d5..a602021 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.outline.expect
deleted file mode 100644
index c74ce2b..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.textual_outline.expect
index a6bcf94..dfdb7cb 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.textual_outline_modelled.expect
index 72a3ba0..7d0b674 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug31133.dart.outline.expect
copy to pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart
index 62b981d..75a2524 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.hierarchy.expect
deleted file mode 100644
index bb9d22e..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,152 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A<T, S>
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-
-C:
-  superclasses:
-    Object
-      -> A<T, S>
-        -> B<S, S>
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-
-D:
-  superclasses:
-    Object
-      -> A<T, S>
-        -> B<T, int>
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-
-E:
-  superclasses:
-    Object
-      -> A<C<S>, T>
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-
-F:
-  superclasses:
-    Object
-      -> A<S, T>
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.textual_outline.expect
index 8ed5bad..eb02fb5 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<S, T> {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.textual_outline_modelled.expect
index b73942e..fa8daa5 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<S, T> {
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_instance_creations_infer_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart
index d7d559b..76ddf0b 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.textual_outline.expect
index 428644a..ac99435 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void foo([List<String> list1 = const [], List<String> list2 = const [42]]) {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.textual_outline_modelled.expect
index 428644a..ac99435 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void foo([List<String> list1 = const [], List<String> list2 = const [42]]) {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart
index 18113c6..9a7f136 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.hierarchy.expect
deleted file mode 100644
index 7daea18..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.hierarchy.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-DartType:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.method
-    C.assertDOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.assertBOf
-    Object._identityHashCode
-    C.assertCOf
-    C.assertAOf
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.assertBOf
-    C.assertAOf
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    G.method
-    G.assertDOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    G.assertAOf
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    G.assertAOf
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.textual_outline.expect
index 96844fa..a87b49d 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class DartType {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.textual_outline_modelled.expect
index 559999a..0b07330 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 Asserter<DartType> _isInt;
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_list_literals_infer_if_value_types_match_context.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart
index 0f2ce44..4fe8d64 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.textual_outline.expect
index 423bbf0..46fb0af 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void foo(
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.textual_outline_modelled.expect
index 9e39c4b..ec7f9cd 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_on_map_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart
index 7ea3518..4349993 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart
+++ b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.hierarchy.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.hierarchy.expect
deleted file mode 100644
index 6392bea..0000000
--- a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.hierarchy.expect
+++ /dev/null
@@ -1,129 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Stream:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Stream.asyncExpand
-    Stream.listen
-    Stream.map
-    Stream.pipe
-    Stream.cast
-    Stream.skip
-    Stream.join
-    Stream.asyncMap
-    Stream.toSet
-    Stream.asBroadcastStream
-    Object.toString
-    Stream.handleError
-    Stream.forEach
-    Stream.length
-    Stream.firstWhere
-    Object.runtimeType
-    Stream.isBroadcast
-    Stream.timeout
-    Object._simpleInstanceOf
-    Stream.isEmpty
-    Stream.take
-    Stream.any
-    Stream.transform
-    Stream.where
-    Object._instanceOf
-    Stream.skipWhile
-    Stream.castFrom
-    Stream.toList
-    Object.noSuchMethod
-    Stream.fold
-    Stream.drain
-    Stream.elementAt
-    Stream.distinct
-    Stream.expand
-    Stream.takeWhile
-    Stream.first
-    Object._identityHashCode
-    Object.hashCode
-    Stream.reduce
-    Stream.lastWhere
-    Stream.last
-    Object._simpleInstanceOfFalse
-    Stream.single
-    Stream.every
-    Stream.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Stream.singleWhere
-  classSetters:
-
-MyStream:
-  superclasses:
-    Object
-      -> Stream<T>
-  interfaces:
-  classMembers:
-    Stream.asyncExpand
-    Stream.listen
-    Stream.map
-    Stream.pipe
-    Stream.cast
-    Stream.skip
-    Stream.join
-    Stream.asyncMap
-    Stream.toSet
-    Stream.asBroadcastStream
-    Object.toString
-    Stream.handleError
-    Stream.forEach
-    Stream.length
-    Stream.firstWhere
-    Object.runtimeType
-    Stream.isBroadcast
-    Stream.timeout
-    Object._simpleInstanceOf
-    Stream.isEmpty
-    Stream.take
-    Stream.any
-    Stream.transform
-    Stream.where
-    Object._instanceOf
-    Stream.skipWhile
-    Stream.toList
-    Object.noSuchMethod
-    Stream.fold
-    Stream.drain
-    Stream.elementAt
-    Stream.distinct
-    Stream.expand
-    Stream.takeWhile
-    Stream.first
-    Object._identityHashCode
-    Object.hashCode
-    Stream.reduce
-    Stream.lastWhere
-    Stream.last
-    Object._simpleInstanceOfFalse
-    Stream.single
-    Stream.every
-    Stream.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Stream.singleWhere
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.textual_outline.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.textual_outline.expect
index 579e9aa..9dd4582 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.textual_outline_modelled.expect
index ca60c6e..2f502af 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.strong.expect
rename to pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.outline.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.outline.expect
rename to pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/downwards_inference_yield_yield_star.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart b/pkg/front_end/testcases/inference/dynamic_methods.dart
index bc11827..f7b1e2b 100644
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart
+++ b/pkg/front_end/testcases/inference/dynamic_methods.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.hierarchy.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.hierarchy.expect
deleted file mode 100644
index 35e1300..0000000
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.textual_outline.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.textual_outline.expect
index d2690b8..520a2f0 100644
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/dynamic_methods.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.textual_outline_modelled.expect
index 441f1e9..e184ef2 100644
--- a/pkg/front_end/testcases/inference/dynamic_methods.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/dynamic_methods.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.strong.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dynamic_methods.dart.strong.expect
rename to pkg/front_end/testcases/inference/dynamic_methods.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.outline.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dynamic_methods.dart.outline.expect
rename to pkg/front_end/testcases/inference/dynamic_methods.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/dynamic_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/dynamic_methods.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/dynamic_methods.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/dynamic_methods.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart
index f37a321..2cc4ef2 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart
+++ b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.hierarchy.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.hierarchy.expect
deleted file mode 100644
index 79662a4..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.strong.transformed.expect
deleted file mode 100644
index be4cd27..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.strong.transformed.expect
+++ /dev/null
@@ -1,23 +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<core::int*>(), super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-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.textual_outline.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.textual_outline.expect
index 5834483..29f36b1 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.textual_outline_modelled.expect
index c0625ce..48c35b5 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.strong.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.strong.expect
rename to pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.outline.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.outline.expect
copy to pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_context_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart
index bdfe90d..1aa57eb 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart
+++ b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.hierarchy.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.hierarchy.expect
deleted file mode 100644
index dc148c5..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.hierarchy.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.textual_outline.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.textual_outline.expect
index f06b5ed..da0ba76 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.textual_outline_modelled.expect
index 8c75d5e..d26853f 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.strong.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.strong.expect
rename to pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.outline.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.outline.expect
rename to pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/field_initializer_context_implicit.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart b/pkg/front_end/testcases/inference/field_initializer_context_this.dart
index 33737fe..21b0a86 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_this.dart
+++ b/pkg/front_end/testcases/inference/field_initializer_context_this.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.hierarchy.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.hierarchy.expect
deleted file mode 100644
index 79662a4..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.outline.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.outline.expect
deleted file mode 100644
index 9685fc7..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.outline.expect
+++ /dev/null
@@ -1,23 +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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.textual_outline.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.textual_outline.expect
index b7af1b5..b34b6ab 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.textual_outline_modelled.expect
index e1c779c..3bf83d9 100644
--- a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.strong.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_context_this.dart.strong.expect
rename to pkg/front_end/testcases/inference/field_initializer_context_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.outline.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_context_explicit.dart.outline.expect
rename to pkg/front_end/testcases/inference/field_initializer_context_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_context_this.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_context_this.dart.weak.transformed.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/field_initializer_context_this.dart.strong.transformed.expect
copy to pkg/front_end/testcases/inference/field_initializer_context_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart b/pkg/front_end/testcases/inference/field_initializer_parameter.dart
index 85c103a..1716fed 100644
--- a/pkg/front_end/testcases/inference/field_initializer_parameter.dart
+++ b/pkg/front_end/testcases/inference/field_initializer_parameter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.hierarchy.expect
deleted file mode 100644
index 79662a4..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.outline.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.outline.expect
deleted file mode 100644
index 73500a0..0000000
--- a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.outline.expect
+++ /dev/null
@@ -1,23 +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*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method f<T extends core::Object* = dynamic>(self::f::T* t) → self::f::T*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.textual_outline.expect
index 94b8c9a..478e8b6 100644
--- a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>(T t) => t;
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.textual_outline_modelled.expect
index 8596052..8c232d5 100644
--- a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>(T t) => t;
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.strong.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_parameter.dart.strong.expect
rename to pkg/front_end/testcases/inference/field_initializer_parameter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug30251.dart.outline.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug30251.dart.outline.expect
copy to pkg/front_end/testcases/inference/field_initializer_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/field_initializer_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/field_initializer_parameter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_initializer_parameter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/field_initializer_parameter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart
index 9fa9e35..b31bdeb 100644
--- a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart
+++ b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.hierarchy.expect
deleted file mode 100644
index f750a07..0000000
--- a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C._x
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.textual_outline.expect
index 77eff22..1b6c304 100644
--- a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.textual_outline_modelled.expect
index 77eff22..1b6c304 100644
--- a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.strong.expect b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.strong.expect
rename to pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.outline.expect b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.outline.expect
rename to pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/field_refers_to_static_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart
index 1a2e6a6..d23a26d 100644
--- a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart
+++ b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.hierarchy.expect
deleted file mode 100644
index 79662a4..0000000
--- a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.textual_outline.expect
index 66535ed..74b8ff9 100644
--- a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.textual_outline_modelled.expect
index 66535ed..74b8ff9 100644
--- a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.strong.expect b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.strong.expect
rename to pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.outline.expect b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.outline.expect
rename to pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/field_refers_to_top_level_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/folder.options b/pkg/front_end/testcases/inference/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/inference/folder.options
+++ b/pkg/front_end/testcases/inference/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart
index f45a674..c670437 100644
--- a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart
+++ b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.textual_outline.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.textual_outline.expect
index 178286b..5733dcf 100644
--- a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test() async {}
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.textual_outline_modelled.expect
index 4791aa1..aa8a2f6 100644
--- a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.strong.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.strong.expect
rename to pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.outline.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.outline.expect
rename to pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/for_each_downcast_iterable.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart
index 35c94be..0935ce0 100644
--- a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart
+++ b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.textual_outline.expect b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.textual_outline.expect
index 9d1fb80..cc2119a 100644
--- a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test(List<num> nums) {}
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.textual_outline_modelled.expect
index d7c5b5b..3372dcd 100644
--- a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.strong.expect b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_in_loop_promotion.dart.strong.expect
rename to pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.outline.expect b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_in_loop_promotion.dart.outline.expect
rename to pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_in_loop_promotion.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/for_in_loop_promotion.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart
index 1ab15ed..b9c867e 100644
--- a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart
+++ b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.outline.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.outline.expect
deleted file mode 100644
index c74ce2b..0000000
--- a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.textual_outline.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.textual_outline.expect
index a6bcf94..dfdb7cb 100644
--- a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.textual_outline_modelled.expect
index 72a3ba0..7d0b674 100644
--- a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.strong.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_loop_empty_condition.dart.strong.expect
rename to pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.outline.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug31133.dart.outline.expect
copy to pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_loop_empty_condition.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/for_loop_empty_condition.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart
index 2d548ae..9b6724b 100644
--- a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart
+++ b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.outline.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.outline.expect
deleted file mode 100644
index c74ce2b..0000000
--- a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.textual_outline.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.textual_outline.expect
index a6bcf94..dfdb7cb 100644
--- a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.textual_outline_modelled.expect
index 72a3ba0..7d0b674 100644
--- a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.strong.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.strong.expect
rename to pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.outline.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug31133.dart.outline.expect
copy to pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/for_loop_initializer_expression.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart b/pkg/front_end/testcases/inference/for_loop_promotion.dart
index d9e8e8e..7506811 100644
--- a/pkg/front_end/testcases/inference/for_loop_promotion.dart
+++ b/pkg/front_end/testcases/inference/for_loop_promotion.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.outline.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.outline.expect
deleted file mode 100644
index c74ce2b..0000000
--- a/pkg/front_end/testcases/inference/for_loop_promotion.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.textual_outline.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.textual_outline.expect
index a6bcf94..dfdb7cb 100644
--- a/pkg/front_end/testcases/inference/for_loop_promotion.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/for_loop_promotion.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.textual_outline_modelled.expect
index 72a3ba0..7d0b674 100644
--- a/pkg/front_end/testcases/inference/for_loop_promotion.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/for_loop_promotion.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.strong.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_loop_promotion.dart.strong.expect
rename to pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.outline.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug31133.dart.outline.expect
copy to pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/for_loop_promotion.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/for_loop_promotion.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/for_loop_promotion.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart b/pkg/front_end/testcases/inference/future_or_subtyping.dart
index 6cfda1a..075ec72 100644
--- a/pkg/front_end/testcases/inference/future_or_subtyping.dart
+++ b/pkg/front_end/testcases/inference/future_or_subtyping.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.textual_outline.expect
index 553900b..656dc85 100644
--- a/pkg/front_end/testcases/inference/future_or_subtyping.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_or_subtyping.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.textual_outline_modelled.expect
index 98466bc..d072e54 100644
--- a/pkg/front_end/testcases/inference/future_or_subtyping.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_or_subtyping.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.strong.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_or_subtyping.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.outline.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_or_subtyping.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_or_subtyping.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_or_subtyping.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_or_subtyping.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then.dart b/pkg/front_end/testcases/inference/future_then.dart
index b2a826f..0fd487d 100644
--- a/pkg/front_end/testcases/inference/future_then.dart
+++ b/pkg/front_end/testcases/inference/future_then.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then.dart.strong.expect b/pkg/front_end/testcases/inference/future_then.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then.dart.outline.expect b/pkg/front_end/testcases/inference/future_then.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart b/pkg/front_end/testcases/inference/future_then_2.dart
index d04a8dd..5987e1a 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart
+++ b/pkg/front_end/testcases/inference/future_then_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_2.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_2.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_2.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart b/pkg/front_end/testcases/inference/future_then_3.dart
index 5774099..db97e58 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart
+++ b/pkg/front_end/testcases/inference/future_then_3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_3.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_3.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_3.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_3.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_3.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_3.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_3.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_3.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart b/pkg/front_end/testcases/inference/future_then_4.dart
index 0a0dbad..06ff323 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart
+++ b/pkg/front_end/testcases/inference/future_then_4.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_4.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_4.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_4.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_4.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_4.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_4.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_4.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_4.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_4.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_4.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_4.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_4.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_4.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_4.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_4.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart b/pkg/front_end/testcases/inference/future_then_5.dart
index 150327d..025513e 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart
+++ b/pkg/front_end/testcases/inference/future_then_5.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_5.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_5.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_5.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_5.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_5.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_5.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_5.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_5.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_5.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_5.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_5.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_5.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_5.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_5.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_5.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart b/pkg/front_end/testcases/inference/future_then_6.dart
index 34fe924..566408f 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart
+++ b/pkg/front_end/testcases/inference/future_then_6.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_6.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_6.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_6.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_6.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_6.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_6.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_6.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_6.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_6.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_6.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_6.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_6.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_6.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_6.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_6.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart b/pkg/front_end/testcases/inference/future_then_conditional.dart
index 3a00196..fa98a95 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_conditional.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_conditional.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_conditional.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart b/pkg/front_end/testcases/inference/future_then_conditional_2.dart
index 3738cae..c942646 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart b/pkg/front_end/testcases/inference/future_then_conditional_3.dart
index f6a18b5..b794b14 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_3.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_3.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_3.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_3.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart b/pkg/front_end/testcases/inference/future_then_conditional_4.dart
index 19fafd4..70c0c75 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_4.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_4.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_4.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_4.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_4.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart b/pkg/front_end/testcases/inference/future_then_conditional_5.dart
index 413f5b1..4b63f73 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_5.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_5.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_5.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_5.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_5.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart b/pkg/front_end/testcases/inference/future_then_conditional_6.dart
index d502d9b..0c8ea52 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_6.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_6.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_conditional_6.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_conditional_6.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_conditional_6.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart
index 93827b6..0d4ca6f 100644
--- a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart
+++ b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.outline.expect
deleted file mode 100644
index 666bc54..0000000
--- a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-
-import "dart:async";
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.textual_outline.expect
index 242deb6..a760906 100644
--- a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.textual_outline_modelled.expect
index 8318b63..d817d9d 100644
--- a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_downwards_method_target.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart b/pkg/front_end/testcases/inference/future_then_explicit_future.dart
index c14e152..7bf66ef 100644
--- a/pkg/front_end/testcases/inference/future_then_explicit_future.dart
+++ b/pkg/front_end/testcases/inference/future_then_explicit_future.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.textual_outline.expect
index 64e9564..56fb911 100644
--- a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import "dart:async";
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.textual_outline_modelled.expect
index 64e9564..56fb911 100644
--- a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import "dart:async";
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_explicit_future.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_explicit_future.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_explicit_future.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_explicit_future.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_explicit_future.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart b/pkg/front_end/testcases/inference/future_then_ifNull.dart
index 013774e..e3927d5 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.textual_outline.expect
index 646b6b8..fa6176d 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.textual_outline_modelled.expect
index 46bfa3f..2a04b20 100644
--- a/pkg/front_end/testcases/inference/future_then_ifNull.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_ifNull.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_ifNull.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_ifNull.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_ifNull.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_ifNull.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_ifNull.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart b/pkg/front_end/testcases/inference/future_then_upwards.dart
index 9489362..4b7c23e 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.textual_outline.expect
index 7170757..1612af2 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.textual_outline_modelled.expect
index ca061ba..4bd869a 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart b/pkg/front_end/testcases/inference/future_then_upwards_2.dart
index 18c0e38..42ecaf7 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.textual_outline.expect
index 7170757..1612af2 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.textual_outline_modelled.expect
index ca061ba..4bd869a 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_upwards_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart b/pkg/front_end/testcases/inference/future_then_upwards_3.dart
index 0e3a514..4656c30 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.textual_outline.expect
index 50e61e9..1377a7b 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.textual_outline_modelled.expect
index 96a1287b..493f90d 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards_3.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards_3.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards_3.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_upwards_3.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart
index 9d5ee4a..7ac9156 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart
+++ b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.outline.expect
deleted file mode 100644
index 666bc54..0000000
--- a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-
-import "dart:async";
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.textual_outline.expect
index 242deb6..a760906 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.textual_outline_modelled.expect
index 8318b63..d817d9d 100644
--- a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.strong.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.outline.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_async_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_then_upwards_from_block.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart b/pkg/front_end/testcases/inference/future_union_async_conditional.dart
index 74326a7..dc5a718 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.textual_outline.expect
index 8c3a854..5270e71 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.textual_outline_modelled.expect
index c118a02..7ba1b5b 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_async_conditional.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_async_conditional.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_async_conditional.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_async_conditional.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart
index 9e9e4ec..d2765f85 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.textual_outline.expect
index 159bf6d..634786d 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.textual_outline_modelled.expect
index 13e1b1b..6d87558 100644
--- a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_async_conditional_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart b/pkg/front_end/testcases/inference/future_union_downwards.dart
index a4a8088..b0cad57 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.textual_outline.expect
index 93f6f0d..cb0b37a 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.textual_outline_modelled.expect
index ef4133f..3348630 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart b/pkg/front_end/testcases/inference/future_union_downwards_2.dart
index d771ba3..368d014 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.textual_outline.expect
index 5d93ae7..d07da2f 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.textual_outline_modelled.expect
index f0a80cf..7eb12df 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart b/pkg/front_end/testcases/inference/future_union_downwards_3.dart
index 653e936..c53a139 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.textual_outline.expect
index b9a2d35..175a1fe 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.textual_outline_modelled.expect
index f86b37e..cda59eb 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_3.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_3.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_3.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_3.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart b/pkg/front_end/testcases/inference/future_union_downwards_4.dart
index e650795..c6beb37 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.hierarchy.expect
deleted file mode 100644
index 89a66e0..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.hierarchy.expect
+++ /dev/null
@@ -1,84 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Future:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Future._falseFuture
-    Future.catchError
-    Object.toString
-    Future._kTrue
-    Future.forEach
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Future.any
-    Object._instanceOf
-    Object.noSuchMethod
-    Future.then
-    Object._identityHashCode
-    Future.doWhile
-    Future._nullFuture
-    Object.hashCode
-    Future.wait
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  classSetters:
-
-MyFuture:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Future<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Future.catchError
-    Object.toString
-    Future.whenComplete
-    Object.runtimeType
-    Future.timeout
-    Object._simpleInstanceOf
-    Object._instanceOf
-    MyFuture.noSuchMethod
-    MyFuture.then
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Future.asStream
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.textual_outline.expect
index cf8d63e..3616ccf 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.textual_outline_modelled.expect
index d0adb06..23bbb61 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_4.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_4.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_4.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_4.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_4.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart
index 5259814..77b326f 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.textual_outline.expect
index ff812a4..416be46 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.textual_outline_modelled.expect
index 13d8da5..159a31b 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_future_return.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart
index c9dc7e1..95c5b37 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.textual_outline.expect
index f2493de..10f9a56 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.textual_outline_modelled.expect
index 0b74ebd..026e937 100644
--- a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_downwards_generic_method_with_generic_return.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart
index 1f35fec..806491f 100644
--- a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart
+++ b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.hierarchy.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.hierarchy.expect
deleted file mode 100644
index 56ea0e2..0000000
--- a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.hierarchy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.textual_outline.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.textual_outline.expect
index b625587..7a4e0a9 100644
--- a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.textual_outline_modelled.expect
index 0cb32a3..ba709a1 100644
--- a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.strong.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.strong.expect
rename to pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.outline.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.outline.expect
rename to pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/future_union_upwards_generic_methods.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart b/pkg/front_end/testcases/inference/generator_closure.dart
index 73f34d1..c7b0b1c 100644
--- a/pkg/front_end/testcases/inference/generator_closure.dart
+++ b/pkg/front_end/testcases/inference/generator_closure.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generator_closure.dart.textual_outline.expect
index d7b3836..5d93834 100644
--- a/pkg/front_end/testcases/inference/generator_closure.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generator_closure.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generator_closure.dart.textual_outline_modelled.expect
index d7b3836..5d93834 100644
--- a/pkg/front_end/testcases/inference/generator_closure.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generator_closure.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.strong.expect b/pkg/front_end/testcases/inference/generator_closure.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generator_closure.dart.strong.expect
rename to pkg/front_end/testcases/inference/generator_closure.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.outline.expect b/pkg/front_end/testcases/inference/generator_closure.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generator_closure.dart.outline.expect
rename to pkg/front_end/testcases/inference/generator_closure.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generator_closure.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generator_closure.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generator_closure.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart
index e24cb09..58c7fba 100644
--- a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart
+++ b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.textual_outline.expect
index 7213e8e..80672df 100644
--- a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void ToValue<T>(T value);
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.textual_outline_modelled.expect
index 97bb62099..f3255a1 100644
--- a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.strong.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.outline.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_functions_return_typedef.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart
index 43e78e8..1bf287e 100644
--- a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.textual_outline.expect
index c2ccf15..737e479 100644
--- a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<S, T>(S s) => null;
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.textual_outline_modelled.expect
index c2ccf15..737e479 100644
--- a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<S, T>(S s) => null;
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_basic_downward_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart
index 9ff51a2..58b0e43 100644
--- a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.hierarchy.expect
deleted file mode 100644
index 3da2e02..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.textual_outline.expect
index c453bac..c0d3a00 100644
--- a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo<T extends Pattern> {
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.textual_outline_modelled.expect
index c453bac..c0d3a00 100644
--- a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo<T extends Pattern> {
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_correctly_recognize_generic_upper_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart
index e7fa359..a9994b2 100644
--- a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.textual_outline.expect
index b914263..36b34fe 100644
--- a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math';
diff --git a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.textual_outline_modelled.expect
index d493668..a560376 100644
--- a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math';
diff --git a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_dart_math_min_max.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart
index 8bb231c..5669aef 100644
--- a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.hierarchy.expect
deleted file mode 100644
index 6dc6aff..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.textual_outline.expect
index 2f8aafa..6f58ae4 100644
--- a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.textual_outline_modelled.expect
index 2f8aafa..6f58ae4 100644
--- a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_do_not_infer_invalid_override_of_generic_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart
index ebf2789..89c2a52 100644
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.textual_outline.expect
index f93fc4f..715dadf 100644
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>(List<T> s) => null;
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.textual_outline_modelled.expect
index d8caec4..3de7c0a 100644
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>(List<T> s) => null;
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_downwards_inference_affects_arguments.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart
index a5a2441..61d1113 100644
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.textual_outline.expect
index 0fedf11..7227f33 100644
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.textual_outline_modelled.expect
index fbb56e2..7f28e4c 100644
--- a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_downwards_inference_fold.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart
index 48404eb..73bbfa1 100644
--- a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.hierarchy.expect
deleted file mode 100644
index 8efc4cc..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    D.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.textual_outline.expect
index 9964182..7a24e2d 100644
--- a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.textual_outline_modelled.expect
index c3f4d33..f6ecc9b 100644
--- a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_handle_override_of_non_generic_with_generic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart
index c980fb7..c6130e2 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.hierarchy.expect
deleted file mode 100644
index 973bb22..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    D.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> D<T>
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.textual_outline.expect
index 9702395..d66ee02 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> extends D<T> {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.textual_outline_modelled.expect
index 445c8d6..3c49c2f 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> extends D<T> {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart
index 8ca88c6..2ba38e0 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.hierarchy.expect
deleted file mode 100644
index 973bb22..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    D.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> D<T>
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.textual_outline.expect
index 7bcb050..709c06d 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> extends D<T> {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.textual_outline_modelled.expect
index 6958c93..2421964 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class D<T> {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_parameter_type2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart
index e46904d..42fabfa 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.hierarchy.expect
deleted file mode 100644
index 973bb22..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    D.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> D<T>
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.textual_outline.expect
index 99aa0ee..fe58fcb 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> extends D<T> {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.textual_outline_modelled.expect
index 2fedb57..1669140 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> extends D<T> {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_function_return_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart
index 478b8f6..4787183 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.hierarchy.expect
deleted file mode 100644
index 62a1574..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.textual_outline.expect
index 3271c03..ecfa6e4 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math' as math;
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.textual_outline_modelled.expect
index ec53965..72dd9ca 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math' as math;
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_instantiation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart
index 79ae9b53..f07480d 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.hierarchy.expect
deleted file mode 100644
index 6dc6aff..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.textual_outline.expect
index 6dbee2c..9d4eae2 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.textual_outline_modelled.expect
index 6dbee2c..9d4eae2 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_generic_method_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart
index a4a66ca..057fc60 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.textual_outline.expect
index 7454c6f..4d02026 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:_foreign_helper' show JS;
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.textual_outline_modelled.expect
index 482fa81..7a52b63 100644
--- a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:_foreign_helper' show JS;
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_infer_js_builtin.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart
index dbb0ffc..956f7f0 100644
--- a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.textual_outline.expect
index e710694..20442db 100644
--- a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void f() {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.textual_outline_modelled.expect
index 42c4800..a609d1d 100644
--- a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_inference_error.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_inference_error.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_inference_error.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_inference_error.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart
index f8b311c..789febd 100644
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.textual_outline.expect
index 649c05e..99d9ed4 100644
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.textual_outline_modelled.expect
index 67fe832..2756589 100644
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart
index 6d75b60..0d2a532 100644
--- a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.hierarchy.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.hierarchy.expect
deleted file mode 100644
index ca9315e..0000000
--- a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Trace:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Trace.frames
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Trace.frames
-
-Frame:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Frame.location
-  classSetters:
-    Frame.location
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.textual_outline.expect
index 5998d2c..79c2848 100644
--- a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math' as math;
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.textual_outline_modelled.expect
index 2248ecd..8401faf 100644
--- a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:math' as math;
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_nested_generic_instantiation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart
index a68f5bd..2d47432 100644
--- a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart
+++ b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.textual_outline.expect b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.textual_outline.expect
index 299707a..bebea8a 100644
--- a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef Iterable<num> F(int x);
diff --git a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.textual_outline_modelled.expect
index ecd0b24..b5ba1cc 100644
--- a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T generic<T>(a(T _), b(T _)) => null;
diff --git a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.strong.expect
rename to pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.outline.expect b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.outline.expect
rename to pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/generic_methods_uses_greatest_lower_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart
index 9d30b4d..bcc3b3f 100644
--- a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart
+++ b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.hierarchy.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.hierarchy.expect
deleted file mode 100644
index 592e452..0000000
--- a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.sort
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C._compareAny
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.sort2
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.textual_outline.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.textual_outline.expect
index f36e1a9..aaecf72 100644
--- a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<E> {
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.textual_outline_modelled.expect
index 928adb6..f34440f 100644
--- a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<E> {
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.strong.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.strong.expect
rename to pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.outline.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.outline.expect
rename to pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/greatest_closure_multiple_params.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart b/pkg/front_end/testcases/inference/inconsistent_overrides.dart
index 9030aea..a8d51ad 100644
--- a/pkg/front_end/testcases/inference/inconsistent_overrides.dart
+++ b/pkg/front_end/testcases/inference/inconsistent_overrides.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 library test;
 
 /*@testedFeatures=inference*/
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.hierarchy.expect
deleted file mode 100644
index ad5bb3a..0000000
--- a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.hierarchy.expect
+++ /dev/null
@@ -1,95 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    A.h
-    Object.hashCode
-    A.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    I.h
-    Object.hashCode
-    I.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces: I
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.h
-    Object.hashCode
-    B.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.h
-    Object.hashCode
-    B.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.textual_outline.expect
index 67da6aa..4951b24 100644
--- a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.textual_outline_modelled.expect
index 4c44599..cebb95b 100644
--- a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.strong.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inconsistent_overrides.dart.strong.expect
rename to pkg/front_end/testcases/inference/inconsistent_overrides.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.outline.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inconsistent_overrides.dart.outline.expect
rename to pkg/front_end/testcases/inference/inconsistent_overrides.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inconsistent_overrides.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inconsistent_overrides.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inconsistent_overrides.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inconsistent_overrides.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart
index 76224c4..013282d 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.hierarchy.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.hierarchy.expect
deleted file mode 100644
index f7551a4..0000000
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces: I
-  classMembers:
-    D.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    D.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.textual_outline.expect
index 2eac7bf..a3414de 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.textual_outline_modelled.expect
index 04312eb..9327a7a 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I {
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.strong.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.outline.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.outline.expect
rename to pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/index_assign_operator_return_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart
index 8ca0f2e..ee83d01 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.hierarchy.expect
deleted file mode 100644
index f7551a4..0000000
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces: I
-  classMembers:
-    D.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    D.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.textual_outline.expect
index 65369b6..7cc3c0d 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.textual_outline_modelled.expect
index 7202539..4868c82 100644
--- a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I {
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.strong.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.outline.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/index_assign_operator_return_type_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart
index bd7233a..7d4ade9 100644
--- a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart
+++ b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.hierarchy.expect
deleted file mode 100644
index 1e44eee..0000000
--- a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-  interfaceMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.textual_outline.expect
index e8e8fb2..847ad57 100644
--- a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A implements B {
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.textual_outline_modelled.expect
index e8e8fb2..847ad57 100644
--- a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A implements B {
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.strong.expect b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.outline.expect b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_accessor_from_later_inferred_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart
index 5c6cbefc..51b65c1 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.hierarchy.expect
deleted file mode 100644
index 315581c..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
-    Test.member
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.textual_outline.expect
index cce1286..fc944b3 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.textual_outline_modelled.expect
index fedf127..cb5ae88 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_implicit_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart
index 0e92c67..9de089d 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.hierarchy.expect
deleted file mode 100644
index 03e1145..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test1.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-    Test1.t
-
-Test2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test2.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-    Test2.t
-
-Test3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test3.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Test3.test3
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Test3.t
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.textual_outline.expect
index 5aea77f..9d3b805 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.textual_outline_modelled.expect
index c07ae2b..843823e 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Test1 {
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart
index fd28327..b1840b1 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.hierarchy.expect
deleted file mode 100644
index 6e9f0e0..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.hierarchy.expect
+++ /dev/null
@@ -1,118 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Index:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.textual_outline.expect
index b37e03c..5ad8b13 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Index {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.textual_outline_modelled.expect
index e02d004..d66beca 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart
index 6d17c33..4685ee6 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.hierarchy.expect
deleted file mode 100644
index 0d88d4d..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,138 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Index:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.textual_outline.expect
index 0082739..6f0bc4d 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Index {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.textual_outline_modelled.expect
index 3153d49..9831918 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_index_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart
index d90f78d..469bb25 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.hierarchy.expect
deleted file mode 100644
index 6e9f0e0..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,118 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Index:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.outline.expect
deleted file mode 100644
index 01bd466..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.outline.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Index extends core::Object {
-  synthetic constructor •() → self::Index*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  operator +(self::C* v) → self::A*
-    ;
-  operator -(core::int* i) → self::B*
-    ;
-  operator *(self::B* v) → self::B*
-    ;
-  operator &(self::A* v) → self::C*
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-}
-class Test extends core::Object {
-  synthetic constructor •() → self::Test*
-    ;
-  operator [](self::Index* i) → self::B*
-    ;
-  operator []=(self::Index* i, self::B* v) → void
-    ;
-  method test() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.textual_outline.expect
index b37e03c..5ad8b13 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Index {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.textual_outline_modelled.expect
index e02d004..d66beca 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/infer_assign_to_index_full.dart.outline.expect
copy to pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_index_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart b/pkg/front_end/testcases/inference/infer_assign_to_local.dart
index b649a92..8123404 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.hierarchy.expect
deleted file mode 100644
index 103f020..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.hierarchy.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.textual_outline.expect
index 54818ba..9444b89 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.textual_outline_modelled.expect
index 370d98d..0ce4bfc 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_local.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_local.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_local.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_local.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart
index 8e72109..8dc2a3e 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.textual_outline.expect
index d9659ac..adecc78 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.textual_outline_modelled.expect
index f01f8e9..0907a6c 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 double getDouble() => 0.0;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_local_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_property.dart.strong.expect
deleted file mode 100644
index b238ae8..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property.dart.strong.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int f = null;
-  constructor •() → void
-    : super core::Object::•()
-    ;
-}
-static field dynamic v_assign = new self::A::•().{self::A::f} = 1;
-static field dynamic v_plus = let final dynamic #t1 = new self::A::•() in #t1.{self::A::f} = #t1.{self::A::f}.{core::num::+}(1);
-static field dynamic v_minus = let final dynamic #t2 = new self::A::•() in #t2.{self::A::f} = #t2.{self::A::f}.{core::num::-}(1);
-static field dynamic v_multiply = let final dynamic #t3 = new self::A::•() in #t3.{self::A::f} = #t3.{self::A::f}.{core::num::*}(1);
-static field dynamic v_prefix_pp = let final dynamic #t4 = new self::A::•() in #t4.{self::A::f} = #t4.{self::A::f}.{core::num::+}(1);
-static field dynamic v_prefix_mm = let final dynamic #t5 = new self::A::•() in #t5.{self::A::f} = #t5.{self::A::f}.{core::num::-}(1);
-static field dynamic v_postfix_pp = let final dynamic #t6 = new self::A::•() in let final dynamic #t7 = #t6.{self::A::f} in let final dynamic #t8 = #t6.{self::A::f} = #t7.{core::num::+}(1) in #t7;
-static field dynamic v_postfix_mm = let final dynamic #t9 = new self::A::•() in let final dynamic #t10 = #t9.{self::A::f} in let final dynamic #t11 = #t9.{self::A::f} = #t10.{core::num::-}(1) in #t10;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_custom.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_custom.dart.strong.expect
deleted file mode 100644
index c719b08..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_custom.dart.strong.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  constructor •() → void
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → core::int
-    return 1;
-  operator -(dynamic other) → core::double
-    return 2.0;
-}
-class B extends core::Object {
-  field self::A a = null;
-  constructor •() → void
-    : super core::Object::•()
-    ;
-}
-static field dynamic v_prefix_pp = let final dynamic #t1 = new self::B::•() in #t1.{self::B::a} = #t1.{self::B::a}.{self::A::+}(1);
-static field dynamic v_prefix_mm = let final dynamic #t2 = new self::B::•() in #t2.{self::B::a} = #t2.{self::B::a}.{self::A::-}(1);
-static field dynamic v_postfix_pp = let final dynamic #t3 = new self::B::•() in let final dynamic #t4 = #t3.{self::B::a} in let final dynamic #t5 = #t3.{self::B::a} = #t4.{self::A::+}(1) in #t4;
-static field dynamic v_postfix_mm = let final dynamic #t6 = new self::B::•() in let final dynamic #t7 = #t6.{self::B::a} in let final dynamic #t8 = #t6.{self::B::a} = #t7.{self::A::-}(1) in #t7;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart
index 39b30e6..c112d9c 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.hierarchy.expect
deleted file mode 100644
index 315581c..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
-    Test.member
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.textual_outline.expect
index f1916a0..0330c3e 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.textual_outline_modelled.expect
index 1ddd4b1..1583cfc 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart
index a0f5106..a41c144 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.hierarchy.expect
deleted file mode 100644
index 315581c..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
-    Test.member
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.outline.expect
deleted file mode 100644
index 7206086..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.outline.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  operator +(self::C* v) → self::A*
-    ;
-  operator -(core::int* i) → self::B*
-    ;
-  operator *(self::B* v) → self::B*
-    ;
-  operator &(self::A* v) → self::C*
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-}
-class Test extends core::Object {
-  field self::B* member;
-  synthetic constructor •() → self::Test*
-    ;
-  static method test(self::Test* t) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.textual_outline.expect
index f1916a0..0330c3e 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.textual_outline_modelled.expect
index 1ddd4b1..1583cfc 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/infer_assign_to_property_full.dart.outline.expect
copy to pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_null_aware.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart
index 5e22e5e0..ad284c2 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.hierarchy.expect
deleted file mode 100644
index d489c28..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test1.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-    Test1.prop
-
-Test2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test2.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-    Test2.prop
-
-Test3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test3.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Test3.test3
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Test3.prop
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.textual_outline.expect
index 0757142..d232d96 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.textual_outline_modelled.expect
index 265e693..5ff5dff 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Test1 {
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart
index df45278..e626518 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.hierarchy.expect
deleted file mode 100644
index 7cf7949..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,121 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Base.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Base.member
-
-Test:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
-    Base.member
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.textual_outline.expect
index 2d1227e..7b0fe2a 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.textual_outline_modelled.expect
index cdf4959..df2928f 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart
index 77e0929..5bb229f 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.hierarchy.expect
deleted file mode 100644
index 2c693c5..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,117 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Base.intProp
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.numProp
-    Base.doubleProp
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Base.intProp
-    Base.numProp
-    Base.doubleProp
-
-Test1:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.intProp
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.numProp
-    Base.doubleProp
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-    Base.intProp
-    Base.numProp
-    Base.doubleProp
-
-Test2:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.intProp
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.numProp
-    Base.doubleProp
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-    Base.intProp
-    Base.numProp
-    Base.doubleProp
-
-Test3:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.intProp
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.numProp
-    Test3.test3
-    Base.doubleProp
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Base.intProp
-    Base.numProp
-    Base.doubleProp
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.textual_outline.expect
index 31af0c8..4fafcad 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.textual_outline_modelled.expect
index 5d5e219..4aefd1c 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Base {
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart
index 4422d57..26d84f6 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.hierarchy.expect
deleted file mode 100644
index d489c28..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test1.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-    Test1.prop
-
-Test2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test2.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-    Test2.prop
-
-Test3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test3.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Test3.test3
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Test3.prop
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.textual_outline.expect
index 0757142..d232d96 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.textual_outline_modelled.expect
index 265e693..5ff5dff 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Test1 {
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_property_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart
index c4b8bcc..b6c157a 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.hierarchy.expect
deleted file mode 100644
index 5ab98e7..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.f
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.textual_outline.expect
index 6566843..5efe496 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.textual_outline_modelled.expect
index 1170f43..bd591d5 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 A a = new A();
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_ref.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_ref.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_ref.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_ref.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_ref.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_ref.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_ref.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart b/pkg/front_end/testcases/inference/infer_assign_to_static.dart
index 3476095..1f4c19b 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.hierarchy.expect
deleted file mode 100644
index 9240a15..0000000
--- a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.staticVariable
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-    B.staticVariable
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.textual_outline.expect
index 3ee6268..2da76c2 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.textual_outline_modelled.expect
index 667b734..741c9e1 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 B topLevelVariable;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_static.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_static.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_static.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_static.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart
index 5025e5b..157f454 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.textual_outline.expect
index 13362e8..a6d579a 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.textual_outline_modelled.expect
index 2b31b13..2e57621 100644
--- a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 double getDouble() => 0.0;
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.strong.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_assign_to_static_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart b/pkg/front_end/testcases/inference/infer_binary_custom.dart
index b84b3ae..be2ad1d 100644
--- a/pkg/front_end/testcases/inference/infer_binary_custom.dart
+++ b/pkg/front_end/testcases/inference/infer_binary_custom.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.hierarchy.expect
deleted file mode 100644
index 57dce92..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_custom.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.textual_outline.expect
index 80ca252..07b6051 100644
--- a/pkg/front_end/testcases/inference/infer_binary_custom.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_custom.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.textual_outline_modelled.expect
index 0b2556e..9911480 100644
--- a/pkg/front_end/testcases/inference/infer_binary_custom.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_custom.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.strong.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_custom.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.outline.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_custom.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_custom.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_custom.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_binary_custom.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart b/pkg/front_end/testcases/inference/infer_binary_double_double.dart
index 701ec6b..332b672 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_double.dart
+++ b/pkg/front_end/testcases/inference/infer_binary_double_double.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.textual_outline.expect
index afb98b1..2e2c25e 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a_equal = 1.0 == 2.0;
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.textual_outline_modelled.expect
index 6ca4cc2..cb2a486 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.strong.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_double_double.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.outline.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/infer_binary_double_double.dart.outline.expect
copy to pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_double_double.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_binary_double_double.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart b/pkg/front_end/testcases/inference/infer_binary_double_int.dart
index 45f02a8..be0a646 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_int.dart
+++ b/pkg/front_end/testcases/inference/infer_binary_double_int.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.outline.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.outline.expect
deleted file mode 100644
index fc1ae00..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.outline.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::bool* a_equal;
-static field core::bool* a_notEqual;
-static field core::double* a_add;
-static field core::double* a_subtract;
-static field core::double* a_multiply;
-static field core::double* a_divide;
-static field core::int* a_floorDivide;
-static field core::bool* a_greater;
-static field core::bool* a_less;
-static field core::bool* a_greaterEqual;
-static field core::bool* a_lessEqual;
-static field core::double* a_modulo;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.textual_outline.expect
index 5b6dace..763ab9b 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a_equal = 1.0 == 2;
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.textual_outline_modelled.expect
index e8ac0d0..91f5a73 100644
--- a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.strong.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_double_int.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.outline.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_double_double.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_int.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_double_int.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_binary_double_int.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart b/pkg/front_end/testcases/inference/infer_binary_int_double.dart
index f3a91cb..04709e8 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_double.dart
+++ b/pkg/front_end/testcases/inference/infer_binary_int_double.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.outline.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.outline.expect
deleted file mode 100644
index fc1ae00..0000000
--- a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.outline.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::bool* a_equal;
-static field core::bool* a_notEqual;
-static field core::double* a_add;
-static field core::double* a_subtract;
-static field core::double* a_multiply;
-static field core::double* a_divide;
-static field core::int* a_floorDivide;
-static field core::bool* a_greater;
-static field core::bool* a_less;
-static field core::bool* a_greaterEqual;
-static field core::bool* a_lessEqual;
-static field core::double* a_modulo;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.textual_outline.expect
index f4d00de..3b176e5 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a_equal = 1 == 2.0;
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.textual_outline_modelled.expect
index ba59e589..b05f267 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.strong.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_int_double.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_double_double.dart.outline.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/infer_binary_double_double.dart.outline.expect
copy to pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_double.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_int_double.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_binary_int_double.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart b/pkg/front_end/testcases/inference/infer_binary_int_int.dart
index 8176f7f..fdc51d1 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_int.dart
+++ b/pkg/front_end/testcases/inference/infer_binary_int_int.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.textual_outline.expect
index f139d16..06c57c6 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a_equal = 1 == 2;
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.textual_outline_modelled.expect
index dae8595..7e1942a 100644
--- a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.strong.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_int_int.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.outline.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_int_int.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_binary_int_int.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_binary_int_int.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_binary_int_int.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart b/pkg/front_end/testcases/inference/infer_conditional.dart
index b707956..9896b5c 100644
--- a/pkg/front_end/testcases/inference/infer_conditional.dart
+++ b/pkg/front_end/testcases/inference/infer_conditional.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.textual_outline.expect
index 49f6015..931920b 100644
--- a/pkg/front_end/testcases/inference/infer_conditional.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_conditional.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a = 1 == 2 ? 1 : 2.0;
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.textual_outline_modelled.expect
index da56220..39f4bc5 100644
--- a/pkg/front_end/testcases/inference/infer_conditional.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_conditional.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.strong.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_conditional.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_conditional.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.outline.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_conditional.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_conditional.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_conditional.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_conditional.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_conditional.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_conditional.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart
index a86c249..a3f0577 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.textual_outline.expect
index e7967d4..64fd57f 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_consts_transitively_2_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.textual_outline_modelled.expect
index e7967d4..64fd57f 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_consts_transitively_2_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.strong.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart
index 25fcf76..507e5ff 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 
 import 'infer_consts_transitively_2.dart';
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.textual_outline.expect
index 3db058a..85a19ad 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_consts_transitively_2.dart';
 import 'infer_consts_transitively_2_b.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.textual_outline_modelled.expect
index 3db058a..85a19ad 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_consts_transitively_2.dart';
 import 'infer_consts_transitively_2_b.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_2_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart
index 99d0034..66c7b75 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 const b1 = 2;
 
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.strong.transformed.expect
deleted file mode 100644
index 85d3066..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.strong.transformed.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field core::int* b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.textual_outline.expect
index 53d59d9..bb32afa 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 const b1 = 2;
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.textual_outline_modelled.expect
index 53d59d9..bb32afa 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 const b1 = 2;
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.strong.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.outline.expect
copy to pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart
index 3e4e74e..59a910f 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 const b1 = 2;
 
 main() {
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.outline.expect
deleted file mode 100644
index afdd6d7..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field core::int* b1 = 2;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.strong.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.strong.expect
deleted file mode 100644
index 85d3066..0000000
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.strong.expect
+++ /dev/null
@@ -1,12 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static const field core::int* b1 = #C1;
-static method main() → dynamic {
-  #C1;
-}
-
-constants  {
-  #C1 = 2
-}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.textual_outline.expect
index 53d59d9..bb32afa 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 const b1 = 2;
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.textual_outline_modelled.expect
index 53d59d9..bb32afa 100644
--- a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 const b1 = 2;
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.strong.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.weak.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.strong.expect
copy to pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.outline.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_consts_transitively_2_b.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.weak.transformed.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.strong.transformed.expect
copy to pkg/front_end/testcases/inference/infer_consts_transitively_b.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart
index b1fca68..04f1608 100644
--- a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart
+++ b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.hierarchy.expect
deleted file mode 100644
index 8f8ffaf..0000000
--- a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.z
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-    A.z
-
-B:
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    B.y
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.w
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.z
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-    B.x
-    B.w
-    B.z
-  interfaceMembers:
-    B.y
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.w
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.z
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    B.y
-    B.x
-    B.w
-    B.z
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.textual_outline.expect
index 8a3d947..f8c81d8 100644
--- a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.textual_outline_modelled.expect
index 8a3d947..f8c81d8 100644
--- a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.strong.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.outline.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_correctly_on_multiple_variables_declared_together.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart
index ed04bda..01e5e62 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.hierarchy.expect
deleted file mode 100644
index 1e44eee..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-  interfaceMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.textual_outline.expect
index 449b974..a10ed1c 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A implements B {
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.textual_outline_modelled.expect
index 449b974..a10ed1c 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A implements B {
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart
index bed6351..b4f957d 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.hierarchy.expect
deleted file mode 100644
index 245115c..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,103 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: B, C
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-  interfaceMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.textual_outline.expect
index 2a897a8..16deb36 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A implements B {
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.textual_outline_modelled.expect
index baffda4..82e3698 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class B implements C {
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart
index 5d758a8..e4cf6f7 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.hierarchy.expect
deleted file mode 100644
index 167ba88..0000000
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,103 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    B.x
-
-A:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: B, C
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-  interfaceMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.textual_outline.expect
index 953911e..4eacca8 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A implements B {
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.textual_outline_modelled.expect
index 8533862..e403c75 100644
--- a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class B implements C {
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_from_later_inferred_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart
index ad9f4fa..050847e 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart
+++ b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.hierarchy.expect
deleted file mode 100644
index e7b6812..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.hierarchy.expect
+++ /dev/null
@@ -1,227 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> A
-  interfaces: B
-  classMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
-  interfaceMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.x
-
-F:
-  superclasses:
-    Object
-      -> A
-  interfaces: C
-  classMembers:
-    Object.toString
-    F.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    F.x
-  interfaceMembers:
-    Object.toString
-    F.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    F.x
-
-G:
-  superclasses:
-    Object
-      -> A
-  interfaces: D
-  classMembers:
-    Object.toString
-    G.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    G.x
-  interfaceMembers:
-    Object.toString
-    G.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    G.x
-
-H:
-  superclasses:
-    Object
-      -> C
-  interfaces: D
-  classMembers:
-    Object.toString
-    H.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    H.x
-  interfaceMembers:
-    Object.toString
-    H.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    H.x
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.textual_outline.expect
index 0636207..987c50a 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.textual_outline_modelled.expect
index 0636207..987c50a 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_multiple.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_override_multiple.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_multiple.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_override_multiple.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_multiple.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_multiple.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_override_multiple.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart
index fe84499..7eda712 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart
+++ b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.hierarchy.expect
deleted file mode 100644
index 2eb49ae..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.hierarchy.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.textual_outline.expect
index 57505e0..523e0b2 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.textual_outline_modelled.expect
index 57505e0..523e0b2 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_of_override.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_override_of_override.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_of_override.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_override_of_override.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_of_override.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_of_override.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_override_of_override.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart
index eaa800f..0354fe9 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart
+++ b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.hierarchy.expect
deleted file mode 100644
index 746e3e3..0000000
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.hierarchy.expect
+++ /dev/null
@@ -1,64 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.z
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.z
-
-B:
-  superclasses:
-    Object
-      -> A<int>
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.z
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-    B.x
-    B.z
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.textual_outline.expect
index 1a94541..ea55ffc 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A<T> {
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.textual_outline_modelled.expect
index 793f675..4ce74ba 100644
--- a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A<T> {
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_override_with_substitution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart
index 04bc378..ee9b563 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.hierarchy.expect
deleted file mode 100644
index 26fee5a..0000000
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,230 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-
-E:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
-  interfaceMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.x
-
-F:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    F.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    F.x
-  interfaceMembers:
-    Object.toString
-    F.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    F.x
-
-Object with B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-G:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _G&Object&B
-  interfaces: B
-  classMembers:
-    Object.toString
-    G.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    G.x
-  interfaceMembers:
-    Object.toString
-    G.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    G.x
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.textual_outline.expect
index ae8f2ea..be2698f 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.textual_outline_modelled.expect
index ae8f2ea..be2698f 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_overrides_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart
index 2bbf71a..bca74a2 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.hierarchy.expect
deleted file mode 100644
index 66315ee..0000000
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,230 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-C:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-
-E:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
-  interfaceMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.x
-
-F:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    F.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    F.x
-  interfaceMembers:
-    Object.toString
-    F.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    F.x
-
-Object with B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    B.x
-
-G:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _G&Object&B
-  interfaces: B
-  classMembers:
-    Object.toString
-    G.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    G.x
-  interfaceMembers:
-    Object.toString
-    G.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    G.x
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.textual_outline.expect
index 4758097..944b4fd 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.textual_outline_modelled.expect
index 4758097..944b4fd 100644
--- a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_overrides_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart b/pkg/front_end/testcases/inference/infer_field_static.dart
index 619762f..1ec1069 100644
--- a/pkg/front_end/testcases/inference/infer_field_static.dart
+++ b/pkg/front_end/testcases/inference/infer_field_static.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_field_static.dart.hierarchy.expect
deleted file mode 100644
index a07ab7b..0000000
--- a/pkg/front_end/testcases/inference/infer_field_static.dart.hierarchy.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-C:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_field_static.dart.textual_outline.expect
index 7a13d2a..59f212d 100644
--- a/pkg/front_end/testcases/inference/infer_field_static.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_field_static.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 dynamic f() => null;
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_field_static.dart.textual_outline_modelled.expect
index a746ec3..dfd227e 100644
--- a/pkg/front_end/testcases/inference/infer_field_static.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_field_static.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart.strong.expect b/pkg/front_end/testcases/inference/infer_field_static.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_static.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_field_static.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart.outline.expect b/pkg/front_end/testcases/inference/infer_field_static.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_static.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_field_static.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_field_static.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_field_static.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_field_static.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_field_static.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart
index 64260b8..a5d800a 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.hierarchy.expect
deleted file mode 100644
index cb61bed..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.textual_outline.expect
index 2fcbeb6b..3b67644 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.textual_outline_modelled.expect
index 226c18d..f8eb28d 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_final_field_getter_and_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart
index 7f0c3b0..f9cbe1e 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.hierarchy.expect
deleted file mode 100644
index 1ed3281..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.textual_outline.expect
index 98e63d7..74ecc5b8 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.textual_outline_modelled.expect
index 2c719f5..3a03700 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.strong.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.outline.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_final_field_getter_only.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart
index 15aaf46..7fa3735 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart
+++ b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.hierarchy.expect
deleted file mode 100644
index a2d0d01..0000000
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.textual_outline.expect
index e6b33d7..6a7dbd3 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.textual_outline_modelled.expect
index 3b763af..03d1716 100644
--- a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.strong.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.outline.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_final_field_setter_only.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart
index 0dee028..fe4097c 100644
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart
+++ b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.hierarchy.expect
deleted file mode 100644
index fb0a620..0000000
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.textual_outline.expect
index 1c2997f..1d91038 100644
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.textual_outline_modelled.expect
index 4e2fe4c..9d69b5f 100644
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart
index 20d13e8..1cad910 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.hierarchy.expect
deleted file mode 100644
index e03c302..0000000
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.hierarchy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    B.x
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.textual_outline.expect
index 34ce1a3..632fe6f 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.textual_outline_modelled.expect
index 34ce1a3..632fe6f 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart
index f365cfa..91c9c24 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.hierarchy.expect
deleted file mode 100644
index 50432e9..0000000
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.hierarchy.expect
+++ /dev/null
@@ -1,68 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.textual_outline.expect
index aa0f066..b67f00d 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.textual_outline_modelled.expect
index aa0f066..b67f00d 100644
--- a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_rhs_only_if_it_wont_conflict_with_overridden_fields2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart
index 9943823..5f77042 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.hierarchy.expect
deleted file mode 100644
index dcb1bc3..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.textual_outline.expect
index d492a1f..be84fde 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.textual_outline_modelled.expect
index 7f49eac..6e37725 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart
index 59b8aa8..72d7556 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.hierarchy.expect
deleted file mode 100644
index dcb1bc3..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.textual_outline.expect
index 88b9f22..8e52181 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.textual_outline_modelled.expect
index d1c629e..b130d1d 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart
index cc5d086..8357e05 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on2.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.hierarchy.expect
deleted file mode 100644
index 9b26581..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.textual_outline.expect
index 4506b1e..b281143 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on2.dart';
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.textual_outline_modelled.expect
index 4506b1e..b281143 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on2.dart';
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on2_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart
index e0f359b..5d9ab51 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on2.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.hierarchy.expect
deleted file mode 100644
index dcb1bc3..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.textual_outline.expect
index b6179eb..7f33e9c 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on2.dart';
 
 var x = 2;
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.textual_outline_modelled.expect
index 7bbfa38..9684c8a 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_from_variables_in_cycle_libs_when_flag_is_on2.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_cycle_libs_when_flag_is_on_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart
index 4b54811..9c87a81 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.textual_outline.expect
index 3866c4e..1d27b7a 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_from_variables_in_non_cycle_imports_with_flag_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.textual_outline_modelled.expect
index bc53ea1..8ee5c5b 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_from_variables_in_non_cycle_imports_with_flag_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart
index f7bb1b1..98b37c6 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.hierarchy.expect
deleted file mode 100644
index dcb1bc3..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.textual_outline.expect
index 7aa039a..b0fc3be 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_from_variables_in_non_cycle_imports_with_flag2_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.textual_outline_modelled.expect
index 5077b56..ac30718 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_from_variables_in_non_cycle_imports_with_flag2_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart
index 906f8d8..7980507 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 class A {
   static var x = 2;
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.hierarchy.expect
deleted file mode 100644
index 804e9c5..0000000
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.textual_outline.expect
index 7525c2b..342f1dc 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   static var x = 2;
 }
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.textual_outline_modelled.expect
index 7525c2b..342f1dc 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   static var x = 2;
 }
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag2_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart
index 1aa8c0a..aa1a3de 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 var x = 2;
 
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.textual_outline.expect
index bd89adb..4fc8cda 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 var x = 2;
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.textual_outline_modelled.expect
index a415471..e76f6ad 100644
--- a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 var x = 2;
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_from_variables_in_non_cycle_imports_with_flag_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_field_types.dart b/pkg/front_end/testcases/inference/infer_generic_field_types.dart
index d9a19d8..7dd1393 100644
--- a/pkg/front_end/testcases/inference/infer_generic_field_types.dart
+++ b/pkg/front_end/testcases/inference/infer_generic_field_types.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A<X> {
   X field;
 }
diff --git a/pkg/front_end/testcases/inference/infer_generic_field_types.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_generic_field_types.dart.textual_outline.expect
index 62a3a59..758c19b 100644
--- a/pkg/front_end/testcases/inference/infer_generic_field_types.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_field_types.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {
   X field;
 }
diff --git a/pkg/front_end/testcases/inference/infer_generic_field_types.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_generic_field_types.dart.textual_outline_modelled.expect
index 3a0740d..fe80651 100644
--- a/pkg/front_end/testcases/inference/infer_generic_field_types.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_field_types.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class B<Y> implements A<Y> {
   get field;
   set field(value);
diff --git a/pkg/front_end/testcases/inference/infer_generic_field_types.dart.strong.expect b/pkg/front_end/testcases/inference/infer_generic_field_types.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_field_types.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_generic_field_types.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_field_types.dart.outline.expect b/pkg/front_end/testcases/inference/infer_generic_field_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_field_types.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_generic_field_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_field_types.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_field_types.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_field_types.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_generic_field_types.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart
index 64bd487..f75c979 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.hierarchy.expect
deleted file mode 100644
index 62a1574..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.textual_outline.expect
index e30c11e..cc2c7b6 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.textual_outline_modelled.expect
index e30c11e..cc2c7b6 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.strong.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.outline.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_named.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart
index 015ce09..be42411 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.hierarchy.expect
deleted file mode 100644
index 62a1574..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.textual_outline.expect
index 067bf3d..20477ee 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.textual_outline_modelled.expect
index 067bf3d..20477ee 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.strong.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.outline.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_positional.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart
index bee5566..dee5df5 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.hierarchy.expect
deleted file mode 100644
index 62a1574..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.textual_outline.expect
index bb6abf4..618f63f 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.textual_outline_modelled.expect
index bb6abf4..618f63f 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.strong.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.outline.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_positional2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart
index 7300e53..de8a733 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.hierarchy.expect
deleted file mode 100644
index 62a1574..0000000
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.textual_outline.expect
index 62d0c61..f8fd8be 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.textual_outline_modelled.expect
index 62d0c61..f8fd8be 100644
--- a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.strong.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.outline.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_generic_method_type_required.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart
index 203adfa..4d1bac2 100644
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart
+++ b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.hierarchy.expect
deleted file mode 100644
index a2d0d01..0000000
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.textual_outline.expect
index 110bf8d..d41ad8c 100644
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.textual_outline_modelled.expect
index 110bf8d..d41ad8c 100644
--- a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_getter_cross_to_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart
index 7469d08..9643e6d 100644
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart
+++ b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.hierarchy.expect
deleted file mode 100644
index 559c5bd..0000000
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: B, C
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.textual_outline.expect
index 32a29d8..d31cc08 100644
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A implements B {
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.textual_outline_modelled.expect
index 1b7bfe1..4c03b67 100644
--- a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class B implements C {
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_getter_from_later_inferred_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart
index 14da75e..7bee8a2 100644
--- a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart
+++ b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.hierarchy.expect
deleted file mode 100644
index 52366ab..0000000
--- a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.hierarchy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Resource:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Folder:
-  superclasses:
-    Object
-      -> Resource
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.textual_outline.expect
index 2ba130d..29e51e4 100644
--- a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Resource {}
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.textual_outline_modelled.expect
index a02d3d4..31b6b0f 100644
--- a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 Resource getResource(String str) => null;
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.strong.expect b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.outline.expect b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_list_literal_nested_in_map_literal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart
index e234c41..0bb3ec1 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart
+++ b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.outline.expect b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.outline.expect
deleted file mode 100644
index 8e85697..0000000
--- a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.textual_outline.expect
index c70c84a..84bb5b3 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test() {}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.textual_outline_modelled.expect
index 10819ea..630ead4 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.strong.expect b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_local_function_referenced_before_declaration.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart
index 46f1437..dc8025f 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart
+++ b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.outline.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.outline.expect
deleted file mode 100644
index 8e85697..0000000
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.textual_outline.expect
index c70c84a..84bb5b3 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test() {}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.textual_outline_modelled.expect
index 10819ea..630ead4 100644
--- a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.strong.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_local_function_return_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_local_function_return_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_local_function_return_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart b/pkg/front_end/testcases/inference/infer_method_function_typed.dart
index 4853f92..b4737e8 100644
--- a/pkg/front_end/testcases/inference/infer_method_function_typed.dart
+++ b/pkg/front_end/testcases/inference/infer_method_function_typed.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.hierarchy.expect
deleted file mode 100644
index 1ed3281..0000000
--- a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.textual_outline.expect
index 289c1fe..498cc31 100644
--- a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef int F();
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.textual_outline_modelled.expect
index 1a02e51..331b1e1 100644
--- a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.strong.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_method_function_typed.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.outline.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_method_function_typed.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_method_function_typed.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_method_function_typed.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_method_function_typed.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart b/pkg/front_end/testcases/inference/infer_method_missing_params.dart
index ef8130c..d82dc58 100644
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart
+++ b/pkg/front_end/testcases/inference/infer_method_missing_params.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.hierarchy.expect
deleted file mode 100644
index ecf08eb..0000000
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.hierarchy.expect
+++ /dev/null
@@ -1,95 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    A.h
-    Object.hashCode
-    A.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.h
-    Object.hashCode
-    B.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A, B
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.h
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.h
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.textual_outline.expect
index 25f7d42..31a8b23 100644
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.textual_outline_modelled.expect
index 25f7d42..31a8b23 100644
--- a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.strong.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_method_missing_params.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_method_missing_params.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_method_missing_params.dart.outline.expect b/pkg/front_end/testcases/inference/infer_method_missing_params.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_method_missing_params.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_method_missing_params.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart
index 2374e76..61fccbe 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.hierarchy.expect
deleted file mode 100644
index 152e57e..0000000
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.foo
-
-C:
-  superclasses:
-    Object
-      -> D
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.foo
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.textual_outline.expect
index 865f30c..f1a6b35 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C extends D {
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.textual_outline_modelled.expect
index 865f30c..f1a6b35 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C extends D {
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.strong.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.outline.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_parameter_type_setter_from_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart
index bee5d20..d018cc5 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.hierarchy.expect
deleted file mode 100644
index d198772..0000000
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.foo
-
-C:
-  superclasses:
-    Object
-      -> D
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.foo
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.textual_outline.expect
index 275351d..6305716 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C extends D {
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.textual_outline_modelled.expect
index 275351d..6305716 100644
--- a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C extends D {
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_parameter_type_setter_from_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart b/pkg/front_end/testcases/inference/infer_prefix_expression.dart
index 5c06bcc..e560aca 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression.dart
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.textual_outline.expect
index a4602b1..5b25c8a 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a_not = !true;
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.textual_outline_modelled.expect
index 927498a..6b119bc 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.strong.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_prefix_expression.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.outline.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_prefix_expression.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_prefix_expression.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_prefix_expression.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart
index e0ac0b7..d12427a 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.hierarchy.expect
deleted file mode 100644
index 1100455..0000000
--- a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.unary-
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    A.~
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.textual_outline.expect
index c9d8c68..dc28335 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.textual_outline_modelled.expect
index 1cedf13..5d232fa 100644
--- a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.strong.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.outline.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_prefix_expression_custom.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart b/pkg/front_end/testcases/inference/infer_rethrow.dart
index 429181b..e5b6dde 100644
--- a/pkg/front_end/testcases/inference/infer_rethrow.dart
+++ b/pkg/front_end/testcases/inference/infer_rethrow.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.textual_outline.expect
index a3b6c53..c2a28c2 100644
--- a/pkg/front_end/testcases/inference/infer_rethrow.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_rethrow.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test(f(), g()) {}
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.textual_outline_modelled.expect
index 8a9809c..d2b8e93 100644
--- a/pkg/front_end/testcases/inference/infer_rethrow.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_rethrow.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.strong.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_rethrow.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_rethrow.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.outline.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_rethrow.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_rethrow.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_rethrow.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_rethrow.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_rethrow.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_rethrow.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart
index 6e81a6d..3c3b35d 100644
--- a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart
+++ b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.textual_outline.expect
index 4707e1b..c48500e 100644
--- a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<String> strings() {}
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.textual_outline_modelled.expect
index 4707e1b..c48500e 100644
--- a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<String> strings() {}
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.strong.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.outline.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_return_of_statement_lambda.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart
index 972b299..eecbe3e 100644
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart
+++ b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.hierarchy.expect
deleted file mode 100644
index 9a9be82..0000000
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.foo
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.textual_outline.expect
index 659aede..11143e3 100644
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.textual_outline_modelled.expect
index 5e7be8e..2ae53a8 100644
--- a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_return_type_for_static_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart
index 219dca0..e2d45c7 100644
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart
+++ b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.hierarchy.expect
deleted file mode 100644
index d1d7261..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.textual_outline.expect
index 250fada..2c75d8f 100644
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.textual_outline_modelled.expect
index 250fada..2c75d8f 100644
--- a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_setter_cross_to_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart
index c0ae645..0b5e995 100644
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart
+++ b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.hierarchy.expect
deleted file mode 100644
index 2543994..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    B.x
-
-A:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: B, C
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.textual_outline.expect
index 9f48a64..acb59bc 100644
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A implements B {
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.textual_outline_modelled.expect
index c70b4f6..bc86501 100644
--- a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class B implements C {
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.strong.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.outline.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_setter_from_later_inferred_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart
index 2d53a08..7cc3567 100644
--- a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart
+++ b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.hierarchy.expect
deleted file mode 100644
index 82ba085..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.textual_outline.expect
index 6f14c5a..3ab13ad 100644
--- a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef int F();
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.textual_outline_modelled.expect
index 558610c..80b45c3 100644
--- a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.strong.expect b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_function_typed.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_setter_function_typed.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.outline.expect b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_function_typed.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_setter_function_typed.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_function_typed.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_function_typed.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_setter_function_typed.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart
index b8c2734..86fd389 100644
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart
+++ b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.hierarchy.expect
deleted file mode 100644
index 82ba085..0000000
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.textual_outline.expect
index eb6e1ec..831f785 100644
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.textual_outline_modelled.expect
index eb6e1ec..831f785 100644
--- a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.strong.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.outline.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_setter_return_type_only.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart b/pkg/front_end/testcases/inference/infer_statics_transitively.dart
index 8c3c5d0..d1876c3 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.hierarchy.expect
deleted file mode 100644
index c4b1d23..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.a2
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.textual_outline.expect
index a2adc8c..a053287 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_statics_transitively_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.textual_outline_modelled.expect
index a2adc8c..a053287 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_statics_transitively_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart
index 40dbc28..dac96b8 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.textual_outline.expect
index 3c1f88e..4dfa0fa 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 const x1 = 1;
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.textual_outline_modelled.expect
index 3c1f88e..4dfa0fa 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 const x1 = 1;
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively2.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively2.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart
index 16e92d1..0d8a590 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.hierarchy.expect
deleted file mode 100644
index acc7e81..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    A.a3
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.textual_outline.expect
index 3ff7fa6..0a748e0 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_statics_transitively3_a.dart' show a1, A;
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.textual_outline_modelled.expect
index d1e56fa..8276300 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_statics_transitively3_a.dart' as p show A, a2;
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively3.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively3.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively3.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively3.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively3.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart
index e9a10e1..043ae72 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 const a1 = 3;
 const a2 = 4;
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.hierarchy.expect
deleted file mode 100644
index acc7e81..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    A.a3
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.textual_outline.expect
index ef4e7b4..f8bf78c 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const a1 = 3;
 const a2 = 4;
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.textual_outline_modelled.expect
index 594222f..d6bc2b5 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   static const a3 = null;
 }
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively3_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart
index 90fd29c..219c150 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 import 'infer_statics_transitively.dart';
 import 'infer_statics_transitively_b.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.hierarchy.expect
deleted file mode 100644
index 4171333..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.a2
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.a2
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.textual_outline.expect
index 905ce2e..d83406f 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_statics_transitively.dart';
 import 'infer_statics_transitively_b.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.textual_outline_modelled.expect
index e6e4d7e..5e1b884 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_statics_transitively.dart';
 import 'infer_statics_transitively_b.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_2_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart
index a7b6d9e..de0a388 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 
 import 'infer_statics_transitively.dart';
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.hierarchy.expect
deleted file mode 100644
index c4b1d23..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.a2
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.textual_outline.expect
index 905ce2e..d83406f 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_statics_transitively.dart';
 import 'infer_statics_transitively_b.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.textual_outline_modelled.expect
index e6e4d7e..5e1b884 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_statics_transitively.dart';
 import 'infer_statics_transitively_b.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart
index 4ae476c..ea876ed 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 final b1 = 2;
 
 main() {
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.textual_outline.expect
index 01611d6..d14bcfe 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 final b1 = 2;
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.textual_outline_modelled.expect
index 01611d6..d14bcfe 100644
--- a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 final b1 = 2;
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_transitively_b.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart
index 1a5fabe..85c5145 100644
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.hierarchy.expect
deleted file mode 100644
index 9b02f6b..0000000
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-T:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    T.foo
-    Object.noSuchMethod
-    T.m1
-    Object._identityHashCode
-    T.m2
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.textual_outline.expect
index d3d25f6..9a6079b 100644
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_statics_with_method_invocations_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.textual_outline_modelled.expect
index bdbc3a1..73b2ef7 100644
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_statics_with_method_invocations_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_with_method_invocations.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart
index c9acde0..14eef051 100644
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart
+++ b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 m3(String a, String b, [a1, a2]) {}
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.textual_outline.expect
index 9908614..9013a73 100644
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 m3(String a, String b, [a1, a2]) {}
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.textual_outline_modelled.expect
index 9908614..9013a73 100644
--- a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 m3(String a, String b, [a1, a2]) {}
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_statics_with_method_invocations_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_throw.dart b/pkg/front_end/testcases/inference/infer_throw.dart
index 53940dc..673ec4e 100644
--- a/pkg/front_end/testcases/inference/infer_throw.dart
+++ b/pkg/front_end/testcases/inference/infer_throw.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_throw.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_throw.dart.textual_outline.expect
index 7a172c4..e2abaf8 100644
--- a/pkg/front_end/testcases/inference/infer_throw.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_throw.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var t = true;
diff --git a/pkg/front_end/testcases/inference/infer_throw.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_throw.dart.textual_outline_modelled.expect
index 5b649fd..f00cd7c 100644
--- a/pkg/front_end/testcases/inference/infer_throw.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_throw.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_throw.dart.strong.expect b/pkg/front_end/testcases/inference/infer_throw.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_throw.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_throw.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_throw.dart.outline.expect b/pkg/front_end/testcases/inference/infer_throw.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_throw.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_throw.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_throw.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_throw.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_throw.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_throw.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_throw_downwards.dart b/pkg/front_end/testcases/inference/infer_throw_downwards.dart
index d542a11..3caa4d2 100644
--- a/pkg/front_end/testcases/inference/infer_throw_downwards.dart
+++ b/pkg/front_end/testcases/inference/infer_throw_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.textual_outline.expect
index d2157a6..7867ecf 100644
--- a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.textual_outline_modelled.expect
index e2510ef..b75972f 100644
--- a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_throw_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_throw_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_throw_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_throw_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_throw_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_throw_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_throw_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_throw_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart
index 9d13c19..ede9fbe 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.hierarchy.expect
deleted file mode 100644
index cb61bed..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.textual_outline.expect
index 18f8608..27e82683 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.textual_outline_modelled.expect
index 18f8608..27e82683 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.strong.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.outline.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_type_on_overridden_fields2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart
index b8d1dcc..853e6a9 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.hierarchy.expect
deleted file mode 100644
index 50432e9..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.hierarchy.expect
+++ /dev/null
@@ -1,68 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.textual_outline.expect
index 29aa0a4..5f086e4 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.textual_outline_modelled.expect
index 29aa0a4..5f086e4 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.strong.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.outline.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_type_on_overridden_fields4.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var.dart b/pkg/front_end/testcases/inference/infer_type_on_var.dart
index 6da1e5d..b3df35a 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var.dart
+++ b/pkg/front_end/testcases/inference/infer_type_on_var.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_type_on_var.dart.textual_outline.expect
index a73b3f8..f75f219 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test1() {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_type_on_var.dart.textual_outline_modelled.expect
index 128ffb9..b1f0123 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var.dart.strong.expect b/pkg/front_end/testcases/inference/infer_type_on_var.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var.dart.outline.expect b/pkg/front_end/testcases/inference/infer_type_on_var.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var2.dart b/pkg/front_end/testcases/inference/infer_type_on_var2.dart
index a7a595b..b88af94 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var2.dart
+++ b/pkg/front_end/testcases/inference/infer_type_on_var2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.textual_outline.expect
index 715fb78..64ead70 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test2() {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.textual_outline_modelled.expect
index c5447d1..f83e884 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.strong.expect b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var2.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.outline.expect b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var2.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart
index 9f68adc..abb3f47 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart
+++ b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.hierarchy.expect
deleted file mode 100644
index b588741..0000000
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.y
-    A.test1
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.z
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.textual_outline.expect
index f68289e..4ad24eb 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.textual_outline_modelled.expect
index 2cea60e..241cd75 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.strong.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.outline.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var_from_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart
index 4d1af4d..4d61853 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart
+++ b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.textual_outline.expect
index fdb603c..eb7d93e 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int x = 0;
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.textual_outline_modelled.expect
index 9ad86a2..6a81cd1 100644
--- a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 final z = 42;
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.strong.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.outline.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_type_on_var_from_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart
index 895f48c..4a7604a 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.hierarchy.expect
deleted file mode 100644
index 49e8e22..0000000
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.hierarchy.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.textual_outline.expect
index 38d22e6..7b0b110 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_type_regardless_of_declaration_order_or_cycles_b.dart';
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.textual_outline_modelled.expect
index 17812e9..7b738b7 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_type_regardless_of_declaration_order_or_cycles_b.dart';
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.strong.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.outline.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart
index e7cdfcb..e46cfe9 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 import 'infer_type_regardless_of_declaration_order_or_cycles.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.hierarchy.expect
deleted file mode 100644
index 49e8e22..0000000
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.hierarchy.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.textual_outline.expect
index 0c9213c..26c0dad 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_type_regardless_of_declaration_order_or_cycles.dart';
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.textual_outline_modelled.expect
index 0c9213c..26c0dad 100644
--- a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_type_regardless_of_declaration_order_or_cycles.dart';
 
 class B extends A {}
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.strong.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.outline.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_type_regardless_of_declaration_order_or_cycles_b.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart
index 03bad8b..dafcec3 100644
--- a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart
+++ b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.textual_outline.expect
index 36cd503..12d51c1 100644
--- a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a = <int, String>{0: 'aaa', 1: 'bbb'};
diff --git a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.textual_outline_modelled.expect
index 4531ba6..e4c9ecd 100644
--- a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.strong.expect b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_typed_map_literal.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_typed_map_literal.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.outline.expect b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_typed_map_literal.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_typed_map_literal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_typed_map_literal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_typed_map_literal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_typed_map_literal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart
index a99ae3f..4ea86c0 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.hierarchy.expect
deleted file mode 100644
index 9fc3911..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.w
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces: A<int>
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.w
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.w
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.textual_outline.expect
index 0024591..2fd1e40 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.textual_outline_modelled.expect
index 55397b8..06fb6ed 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_3.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart
index fc18874..3db5d08 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.hierarchy.expect
deleted file mode 100644
index 4b24e03..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A<E>
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-    A.x
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.textual_outline.expect
index 40264e4..9ddab96 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.textual_outline_modelled.expect
index 40264e4..9ddab96 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_4.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart
index ce6cdf5..19b24b0 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.hierarchy.expect
deleted file mode 100644
index 9ec66d4..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.hierarchy.expect
+++ /dev/null
@@ -1,120 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces: I<E>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    M.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<E>
-  interfaces: I<E>, M
-  classMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.textual_outline.expect
index 2bc7ba9..51601a7 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<E> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.textual_outline_modelled.expect
index 336ae88..b277dd6 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A<E> implements I<E> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_5.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart
index 3a437cf..db5ca36 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.hierarchy.expect
deleted file mode 100644
index 7c7a4274..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.hierarchy.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    M.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces: I<E>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.value
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.value
-    Object._instanceOf
-    I.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<E>
-  interfaces: I<E>, M
-  classMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.value
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.value
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.textual_outline.expect
index fb866c7..cbb4736 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_types_on_generic_instantiations_in_library_cycle_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.textual_outline_modelled.expect
index fb866c7..cbb4736 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'infer_types_on_generic_instantiations_in_library_cycle_a.dart';
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart
index 0d4db22..a18c6f7 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 import 'infer_types_on_generic_instantiations_in_library_cycle.dart';
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.hierarchy.expect
deleted file mode 100644
index 43b2564..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.hierarchy.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces: I<E>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.value
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.value
-    Object._instanceOf
-    I.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    M.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<E>
-  interfaces: I<E>, M
-  classMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.value
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    B.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.value
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.textual_outline.expect
index 05abbc2..b724d7e 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_types_on_generic_instantiations_in_library_cycle.dart';
 
 abstract class I<E> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.textual_outline_modelled.expect
index 05abbc2..b724d7e 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'infer_types_on_generic_instantiations_in_library_cycle.dart';
 
 abstract class I<E> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_in_library_cycle_a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart
index 1ddaadb..bf5a41d 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.hierarchy.expect
deleted file mode 100644
index 169f654..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.hierarchy.expect
+++ /dev/null
@@ -1,68 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces: A<int>
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.textual_outline.expect
index 92c8792..1c2fa21 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.textual_outline_modelled.expect
index 92c8792..1c2fa21 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_types_on_generic_instantiations_infer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart
index 8d30352..297fbb4 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.hierarchy.expect
deleted file mode 100644
index d70dd37..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.hierarchy.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.bar
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Bar.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Baz:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Baz.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.textual_outline.expect
index db1a358..6ab30aa 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.textual_outline_modelled.expect
index b1dd9b9..1a50fa6 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Bar<T extends Iterable<String>> {
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart
index b61b344..ada372f 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.hierarchy.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.hierarchy.expect
deleted file mode 100644
index ee3b085..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.hierarchy.expect
+++ /dev/null
@@ -1,184 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.bar
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Bar.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Baz:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Baz.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Stream:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Stream.asyncExpand
-    Stream.listen
-    Stream.map
-    Stream.pipe
-    Stream.cast
-    Stream.skip
-    Stream.join
-    Stream.asyncMap
-    Stream.toSet
-    Stream.asBroadcastStream
-    Object.toString
-    Stream.handleError
-    Stream.forEach
-    Stream.length
-    Stream.firstWhere
-    Object.runtimeType
-    Stream.isBroadcast
-    Stream.timeout
-    Object._simpleInstanceOf
-    Stream.isEmpty
-    Stream.take
-    Stream.any
-    Stream.transform
-    Stream.where
-    Object._instanceOf
-    Stream.skipWhile
-    Stream.castFrom
-    Stream.toList
-    Object.noSuchMethod
-    Stream.fold
-    Stream.drain
-    Stream.elementAt
-    Stream.distinct
-    Stream.expand
-    Stream.takeWhile
-    Stream.first
-    Object._identityHashCode
-    Object.hashCode
-    Stream.reduce
-    Stream.lastWhere
-    Stream.last
-    Object._simpleInstanceOfFalse
-    Stream.single
-    Stream.every
-    Stream.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Stream.singleWhere
-  classSetters:
-
-MyStream:
-  superclasses:
-    Object
-      -> Stream<T>
-  interfaces:
-  classMembers:
-    Stream.asyncExpand
-    Stream.listen
-    Stream.map
-    Stream.pipe
-    Stream.cast
-    Stream.skip
-    Stream.join
-    Stream.asyncMap
-    Stream.toSet
-    Stream.asBroadcastStream
-    Object.toString
-    Stream.handleError
-    Stream.forEach
-    Stream.length
-    Stream.firstWhere
-    Object.runtimeType
-    Stream.isBroadcast
-    Stream.timeout
-    Object._simpleInstanceOf
-    Stream.isEmpty
-    Stream.take
-    Stream.any
-    Stream.transform
-    Stream.where
-    Object._instanceOf
-    Stream.skipWhile
-    Stream.toList
-    Object.noSuchMethod
-    Stream.fold
-    Stream.drain
-    Stream.elementAt
-    Stream.distinct
-    Stream.expand
-    Stream.takeWhile
-    Stream.first
-    Object._identityHashCode
-    Object.hashCode
-    Stream.reduce
-    Stream.lastWhere
-    Stream.last
-    Object._simpleInstanceOfFalse
-    Stream.single
-    Stream.every
-    Stream.contains
-    Object._simpleInstanceOfTrue
-    Object.==
-    Stream.singleWhere
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.textual_outline.expect
index 178b1385..17a0902 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.textual_outline_modelled.expect
index 225ac1c..5c461cd 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_each_loop_async.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart
index e50a19d..f377d5f 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.outline.expect
deleted file mode 100644
index 8e85697..0000000
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.textual_outline.expect
index c70c84a..84bb5b3 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test() {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.textual_outline_modelled.expect
index 10819ea..630ead4 100644
--- a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.strong.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_types_on_loop_indices_for_loop_with_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void.dart.strong.expect b/pkg/front_end/testcases/inference/infer_use_of_void.dart.strong.expect
deleted file mode 100644
index b0d71fb..0000000
--- a/pkg/front_end/testcases/inference/infer_use_of_void.dart.strong.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  constructor •() → void
-    : super core::Object::•()
-    ;
-  method f() → void {}
-}
-class C extends self::B {
-  constructor •() → void
-    : super self::B::•()
-    ;
-  method f() → dynamic {}
-}
-static field dynamic x = new self::C::•().{self::C::f}();
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart
index e6e32e8..c390b0a 100644
--- a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart
+++ b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.textual_outline.expect
index 37187cb..1ed6a1b 100644
--- a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void f() {}
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.textual_outline_modelled.expect
index 4e388e1..510ed2c 100644
--- a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.strong.expect b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_use_of_void_local.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_use_of_void_local.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.outline.expect b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_use_of_void_local.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_use_of_void_local.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_use_of_void_local.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_use_of_void_local.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_use_of_void_local.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/infer_variable_void.dart b/pkg/front_end/testcases/inference/infer_variable_void.dart
index 65fdfb3..efca54d 100644
--- a/pkg/front_end/testcases/inference/infer_variable_void.dart
+++ b/pkg/front_end/testcases/inference/infer_variable_void.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/infer_variable_void.dart.textual_outline.expect b/pkg/front_end/testcases/inference/infer_variable_void.dart.textual_outline.expect
index e064860..0627c58 100644
--- a/pkg/front_end/testcases/inference/infer_variable_void.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/infer_variable_void.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void f() {}
diff --git a/pkg/front_end/testcases/inference/infer_variable_void.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/infer_variable_void.dart.textual_outline_modelled.expect
index 9e93269..73eff79 100644
--- a/pkg/front_end/testcases/inference/infer_variable_void.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/infer_variable_void.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/infer_variable_void.dart.strong.expect b/pkg/front_end/testcases/inference/infer_variable_void.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_variable_void.dart.strong.expect
rename to pkg/front_end/testcases/inference/infer_variable_void.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/infer_variable_void.dart.outline.expect b/pkg/front_end/testcases/inference/infer_variable_void.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_variable_void.dart.outline.expect
rename to pkg/front_end/testcases/inference/infer_variable_void.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/infer_variable_void.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/infer_variable_void.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/infer_variable_void.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/infer_variable_void.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart
index 5ecd7db..5a86959 100644
--- a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart
+++ b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.hierarchy.expect
deleted file mode 100644
index 3de5ead..0000000
--- a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.x
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.textual_outline.expect
index 4e7cbdc..a6850eb 100644
--- a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.textual_outline_modelled.expect
index 57d515d..7add8e5 100644
--- a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Foo {
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_initializing_formal_checks_default_value.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart
index a1b94d7..fba8b45 100644
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart
+++ b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.hierarchy.expect
deleted file mode 100644
index f79ec8d..0000000
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
-    C.x
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.textual_outline.expect
index ab2bd61..e3e7924 100644
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.textual_outline_modelled.expect
index ab2bd61..e3e7924 100644
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_static_field_complex.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart
index 8e9c16b..d24c133 100644
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart
+++ b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.hierarchy.expect
deleted file mode 100644
index d80d95e..0000000
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.textual_outline.expect
index 766e416..ce1a48e 100644
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x = 'x';
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.textual_outline_modelled.expect
index fd2cec5..c01336a 100644
--- a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_nonstatic_field_depends_on_top_level_var_simple.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart
index 23dc5b6..ee9d519 100644
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart
index ffe8964..e899595 100644
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.textual_outline.expect
index beb68c7..c4ef339 100644
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.textual_outline_modelled.expect
index beb68c7..c4ef339 100644
--- a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_block_closure_no_args_no_return_void_context.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart b/pkg/front_end/testcases/inference/inferred_type_cascade.dart
index c5306d8..8d97b7d 100644
--- a/pkg/front_end/testcases/inference/inferred_type_cascade.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_cascade.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.hierarchy.expect
deleted file mode 100644
index 8f2062f..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.hierarchy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.b
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.b
-    A.a
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.textual_outline.expect
index 3cd51b6..08b17fc 100644
--- a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.textual_outline_modelled.expect
index 4ef708f..e94beb3 100644
--- a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_cascade.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_cascade.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_cascade.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_cascade.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart
index 082a541..f4d66e4 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.hierarchy.expect
deleted file mode 100644
index c3cf689..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.*
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.textual_outline.expect
index e6999dd..7ac968f 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.textual_outline_modelled.expect
index 82580a5..1321da2 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C c = new C();
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_binary_op.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart
index 0b7a8c6..c31ac32 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.hierarchy.expect
deleted file mode 100644
index 08a9f1b..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.hierarchy.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    I.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    I.*
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.textual_outline.expect
index 3c0524e..40ec159 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class I {
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.textual_outline_modelled.expect
index 0ce465b..30aecfa 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C c;
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_binary_op_via_interface.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart
index f14fabf..afb2888 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.hierarchy.expect
deleted file mode 100644
index 946de54..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.textual_outline.expect
index 2d475c3..6a44be8 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.textual_outline_modelled.expect
index 2d475c3..6a44be8 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_index_op.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart
index e5b29cd..3ee86cb 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.hierarchy.expect
deleted file mode 100644
index 20990c1..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.hierarchy.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    I.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    I.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.textual_outline.expect
index c0719da..1032ae5 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class I {
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.textual_outline_modelled.expect
index e3d9042..d0bcdda 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C implements I {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_index_op_via_interface.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart
index e5e734e..7b0a39c 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.hierarchy.expect
deleted file mode 100644
index 80fc858..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.unary-
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.textual_outline.expect
index 8f42327..2b6326a 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.textual_outline_modelled.expect
index faae8e3..4b4b77a 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C c = new C();
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_unary_op.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart
index fe138eb..a8803b2 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.hierarchy.expect
deleted file mode 100644
index 18886a1..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.hierarchy.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    I.unary-
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    I.unary-
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.textual_outline.expect
index 8e685fa..b92e9c8 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class I {
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.textual_outline_modelled.expect
index fd59e6e..e1a2934 100644
--- a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C c;
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_custom_unary_op_via_interface.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart
index 2779467..fd183c5 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.hierarchy.expect
deleted file mode 100644
index 9d314fc..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.textual_outline.expect
index f835fa3..9748fda 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.textual_outline_modelled.expect
index ef601f2..cfad014 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C f() => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart
index a715e3d..99aff77 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.hierarchy.expect
deleted file mode 100644
index 8815edf..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.hierarchy.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    I.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    I.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.textual_outline.expect
index b33b523..b568393 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class I {
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.textual_outline_modelled.expect
index c42584c..d4d4706 100644
--- a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C f() => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_extract_method_tear_off_via_interface.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart
index 38ccc97..c473eb3 100644
--- a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.textual_outline.expect
index cff7f24..c2164ee 100644
--- a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var v = print;
diff --git a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.textual_outline_modelled.expect
index b24205c..d1179e4 100644
--- a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_from_top_level_executable_tear_off.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart
index de6ce68..e5d89a3 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.hierarchy.expect
deleted file mode 100644
index 9d314fc..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.textual_outline.expect
index f1ef9c3..419f287 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.textual_outline_modelled.expect
index 0f10023..f78e346 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C f() => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_invoke_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart
index 03a17e8..8666080 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.hierarchy.expect
deleted file mode 100644
index 8815edf..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.hierarchy.expect
+++ /dev/null
@@ -1,67 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    I.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    I.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.textual_outline.expect
index ece4df6..48c694c 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class I {
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.textual_outline_modelled.expect
index 46f69cc..009ab81 100644
--- a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C f() => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_invoke_method_via_interface.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart
index 1262709..a3f32c7 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.hierarchy.expect
deleted file mode 100644
index 2e814a9..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    E.toString
-    E.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    E._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    E.values
-    E.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.textual_outline.expect
index 0ce53ca..7e8eab6 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 enum E { v1 }
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.textual_outline_modelled.expect
index 0ce53ca..7e8eab6 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 enum E { v1 }
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_enum.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_enum.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_enum.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_enum.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_enum.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart
index 2463b13..6ba7933 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.hierarchy.expect
deleted file mode 100644
index 2e814a9..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    E.toString
-    E.index
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    E._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    E.values
-    E.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.textual_outline.expect
index c3999a2..429c184 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 enum E { v1 }
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.textual_outline_modelled.expect
index c3999a2..429c184 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 enum E { v1 }
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_enum_values.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart
index faf400f..ae851c2 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.textual_outline.expect
index ef330db..4154f5b 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F();
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.textual_outline_modelled.expect
index 19c52ac..d23a923 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 final x = <String, F>{};
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_typedef.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart
index 09ae0af..a5ea8d2 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.textual_outline.expect
index 52d5fdc..265e538 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef T F<T>();
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.textual_outline_modelled.expect
index 8ede87e..d267640 100644
--- a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 final x = <String, F<int>>{};
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_is_typedef_parameterized.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart
index 4ae7a71..8e5bde5 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.textual_outline.expect
index 5f05b3e..1e34fe4 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int f() => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.textual_outline_modelled.expect
index 0efdef0..714d7e8 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String g() => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart
index ad8147d..2ff8f19 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.textual_outline.expect
index a01e141..9f49cea 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int f(int x(String y)) => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.textual_outline_modelled.expect
index f13be17..2a9820c 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String g(int x(String y)) => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_function_typed_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart
index 8fdab05..3129faf 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.textual_outline.expect
index f49560d..4f9e601 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int f({int x}) => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.textual_outline_modelled.expect
index 9b9d908..088d600 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String g({int x}) => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_named_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart
index 05020d2..07a0512 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.textual_outline.expect
index ff5ab50..da9fa47 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int f([int x]) => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.textual_outline_modelled.expect
index 99a139a..f739837 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String g([int x]) => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_positional_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart
index 6da4ad2d..b0e2a07 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.textual_outline.expect
index 4aa6f7c..76487bb 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int f(int x) => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.textual_outline_modelled.expect
index 8eff357..d6d11aa 100644
--- a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 String g(int x) => null;
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_uses_synthetic_function_type_required_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart
index 0151665..2a8e631 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.textual_outline.expect
index a5cc028..e1c479d 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.textual_outline_modelled.expect
index a5cc028..e1c479d 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_multiple_levels_of_nesting.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart
index 33bd87d..3075157 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.textual_outline.expect
index fc48846..bbe0538 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.textual_outline_modelled.expect
index fc48846..bbe0538 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_depends_on_args.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart
index 2351770..c05d7ad 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.textual_outline.expect
index 015c510..23d72ce 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.textual_outline_modelled.expect
index 015c510..23d72ce 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart
index f094651..8690f8d 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.textual_outline.expect
index 2cfa51b..206b794 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 final f = (bool b) => 1;
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.textual_outline_modelled.expect
index 2cfa51b..206b794 100644
--- a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 final f = (bool b) => 1;
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.strong.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.outline.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inferred_type_via_closure_type_independent_of_args_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart
index 4d4c90c..38f62b7 100644
--- a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart
+++ b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.hierarchy.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.hierarchy.expect
deleted file mode 100644
index 9ae2e27..0000000
--- a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    I1.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    I2.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I1, I2
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.textual_outline.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.textual_outline.expect
index 134a70e..379de19 100644
--- a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class I1 {
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.textual_outline_modelled.expect
index 71382d7..228de69 100644
--- a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I2 {
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.strong.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.strong.expect
rename to pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.outline.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.outline.expect
rename to pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/inheritance_does_not_imply_circularity.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart b/pkg/front_end/testcases/inference/instance_creation_downwards.dart
index ba14d77..a50d04f 100644
--- a/pkg/front_end/testcases/inference/instance_creation_downwards.dart
+++ b/pkg/front_end/testcases/inference/instance_creation_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.textual_outline.expect
index 3809765..55a9a31 100644
--- a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.textual_outline_modelled.expect
index 3809765..55a9a31 100644
--- a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instance_creation_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/instance_creation_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instance_creation_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/instance_creation_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instance_creation_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instance_creation_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instance_creation_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instance_creation_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart b/pkg/front_end/testcases/inference/instantiate_tearoff.dart
index b6ab9e0..7137f2e 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff.dart
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.hierarchy.expect
deleted file mode 100644
index d5ffbd0..0000000
--- a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.textual_outline.expect
index bfdc465..f58b8ab 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>(T x) => x;
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.textual_outline_modelled.expect
index 885153c..198ae74 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>(T x) => x;
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_tearoff.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_tearoff.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_tearoff.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_tearoff.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart
index c332b1a..b112116 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.textual_outline.expect
index 585e21c..6740386 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.textual_outline_modelled.expect
index d1a470c..11bee7d 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_tearoff_after_contravariance_check.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart
index 1967387..d44fc61 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.textual_outline.expect
index 3ac64a9..b2a6cca 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test(T Function<T>(T) f) {}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.textual_outline_modelled.expect
index b579dab..86d60ad 100644
--- a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_tearoff_of_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart
index e5baa5e..eedc188 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.hierarchy.expect
deleted file mode 100644
index 947e951..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.textual_outline.expect
index 0e78705..937a53e 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T extends A> {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.textual_outline_modelled.expect
index 25872ad..5b4b015 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 B v = null;
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_after.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart
index aced686..7741a6a 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.textual_outline.expect
index a0a4e79..93b75d2 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T extends int> {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.textual_outline_modelled.expect
index 25872ad..5b4b015 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 B v = null;
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_has_bound_defined_before.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart
index 6355c0c..e1646d1 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.textual_outline.expect
index f36f71c..2313221 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.textual_outline_modelled.expect
index 5c6a17a..0151256 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 B v = null;
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic2_no_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart
index f980977..27f3f93 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.textual_outline.expect
index e88b99a..f140b4b 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 A v = null;
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.textual_outline_modelled.expect
index e88b99a..f140b4b 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 A v = null;
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart
index 4d97b64..3d29b34 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.outline.expect
deleted file mode 100644
index 0757181..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.outline.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = core::int*> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field self::A<core::int*>* v;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.strong.expect
deleted file mode 100644
index 002ee58..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.strong.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = core::int*> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field self::A<core::int*>* 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.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.strong.transformed.expect
deleted file mode 100644
index 002ee58..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.strong.transformed.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::int* = core::int*> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static field self::A<core::int*>* 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.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.textual_outline.expect
index e39f07f..f4deaca 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T extends int> {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.textual_outline_modelled.expect
index e88b99a..f140b4b 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 A v = null;
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.weak.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.strong.expect
copy to pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.outline.expect
copy to pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.weak.transformed.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_after.dart.strong.transformed.expect
copy to pkg/front_end/testcases/inference/instantiate_to_bounds_generic_has_bound_defined_before.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart
index d7830b1..2ab61b3 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.textual_outline.expect
index 3c2908d..1fc88a2 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.textual_outline_modelled.expect
index 3c2908d..1fc88a2 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_no_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart
index a1c62d3..b74908c 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.textual_outline.expect
index c265515..016021d 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.textual_outline_modelled.expect
index 71e70ed..116c671 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_invoke_constructor_type_args_exact.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart
index 3f7294f..c1b6795 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.hierarchy.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.textual_outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.textual_outline.expect
index 58d69fb..68ed21d 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.textual_outline_modelled.expect
index e3845e2..b6747d2 100644
--- a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 B v = null;
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.strong.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.strong.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.outline.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.outline.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/instantiate_to_bounds_not_generic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/int_upwards_local.dart b/pkg/front_end/testcases/inference/int_upwards_local.dart
index 1fe9288..95950f1 100644
--- a/pkg/front_end/testcases/inference/int_upwards_local.dart
+++ b/pkg/front_end/testcases/inference/int_upwards_local.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/int_upwards_local.dart.outline.expect b/pkg/front_end/testcases/inference/int_upwards_local.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/int_upwards_local.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/int_upwards_local.dart.textual_outline.expect b/pkg/front_end/testcases/inference/int_upwards_local.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/int_upwards_local.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/int_upwards_local.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/int_upwards_local.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/int_upwards_local.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/int_upwards_local.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/int_upwards_local.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/int_upwards_local.dart.strong.expect b/pkg/front_end/testcases/inference/int_upwards_local.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/int_upwards_local.dart.strong.expect
rename to pkg/front_end/testcases/inference/int_upwards_local.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.outline.expect b/pkg/front_end/testcases/inference/int_upwards_local.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/complex_predecrement.dart.outline.expect
rename to pkg/front_end/testcases/inference/int_upwards_local.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/int_upwards_local.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/int_upwards_local.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/int_upwards_local.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/int_upwards_local.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/issue41199.dart b/pkg/front_end/testcases/inference/issue41199.dart
index 778bf42..95fc6a4 100644
--- a/pkg/front_end/testcases/inference/issue41199.dart
+++ b/pkg/front_end/testcases/inference/issue41199.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 foo<X>(Map<X, Y> Function<Y>() f) => null;
 baz() => foo(<Z>() => <dynamic, Z>{});
 
diff --git a/pkg/front_end/testcases/inference/issue41199.dart.textual_outline.expect b/pkg/front_end/testcases/inference/issue41199.dart.textual_outline.expect
index a90b5ce..d392452 100644
--- a/pkg/front_end/testcases/inference/issue41199.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/issue41199.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 foo<X>(Map<X, Y> Function<Y>() f) => null;
 baz() => foo(<Z>() => <dynamic, Z>{});
 main() {}
diff --git a/pkg/front_end/testcases/inference/issue41199.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/issue41199.dart.textual_outline_modelled.expect
index 81ec7c1..a7957a3 100644
--- a/pkg/front_end/testcases/inference/issue41199.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/issue41199.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 baz() => foo(<Z>() => <dynamic, Z>{});
 foo<X>(Map<X, Y> Function<Y>() f) => null;
 main() {}
diff --git a/pkg/front_end/testcases/inference/issue41199.dart.strong.expect b/pkg/front_end/testcases/inference/issue41199.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/issue41199.dart.strong.expect
rename to pkg/front_end/testcases/inference/issue41199.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/issue41199.dart.outline.expect b/pkg/front_end/testcases/inference/issue41199.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/issue41199.dart.outline.expect
rename to pkg/front_end/testcases/inference/issue41199.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/issue41199.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/issue41199.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/issue41199.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/issue41199.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart
index 679266e..4c823e7 100644
--- a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart
+++ b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.textual_outline.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.textual_outline.expect
index 8090ea1..132d473 100644
--- a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<String> getListOfString() => const <String>[];
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.textual_outline_modelled.expect
index cd53744..2ff4dca 100644
--- a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<String> getListOfString() => const <String>[];
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.strong.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.strong.expect
rename to pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.outline.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.outline.expect
rename to pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/lambda_does_not_have_propagated_type_hint.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/lambda_return_type.dart b/pkg/front_end/testcases/inference/lambda_return_type.dart
index 929de7a..cdaf2d6 100644
--- a/pkg/front_end/testcases/inference/lambda_return_type.dart
+++ b/pkg/front_end/testcases/inference/lambda_return_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/lambda_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/lambda_return_type.dart.textual_outline.expect
index 431191c..7a26840 100644
--- a/pkg/front_end/testcases/inference/lambda_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/lambda_return_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef num FunctionReturningNum();
diff --git a/pkg/front_end/testcases/inference/lambda_return_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/lambda_return_type.dart.textual_outline_modelled.expect
index a159045..8af496c 100644
--- a/pkg/front_end/testcases/inference/lambda_return_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/lambda_return_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/lambda_return_type.dart.strong.expect b/pkg/front_end/testcases/inference/lambda_return_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_return_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/lambda_return_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/lambda_return_type.dart.outline.expect b/pkg/front_end/testcases/inference/lambda_return_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_return_type.dart.outline.expect
rename to pkg/front_end/testcases/inference/lambda_return_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/lambda_return_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/lambda_return_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_return_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/lambda_return_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart b/pkg/front_end/testcases/inference/lambda_void_context.dart
index 5929960..44143a8 100644
--- a/pkg/front_end/testcases/inference/lambda_void_context.dart
+++ b/pkg/front_end/testcases/inference/lambda_void_context.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.textual_outline.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.textual_outline.expect
index f59c3c4..54d3052 100644
--- a/pkg/front_end/testcases/inference/lambda_void_context.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/lambda_void_context.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 f() {}
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.textual_outline_modelled.expect
index f59c3c4..54d3052 100644
--- a/pkg/front_end/testcases/inference/lambda_void_context.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/lambda_void_context.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 f() {}
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.strong.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_void_context.dart.strong.expect
rename to pkg/front_end/testcases/inference/lambda_void_context.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.outline.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_void_context.dart.outline.expect
rename to pkg/front_end/testcases/inference/lambda_void_context.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/lambda_void_context.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/lambda_void_context.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/lambda_void_context.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/lambda_void_context.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/list_literal_typed.dart b/pkg/front_end/testcases/inference/list_literal_typed.dart
index 63a3ea4..39ca4a0 100644
--- a/pkg/front_end/testcases/inference/list_literal_typed.dart
+++ b/pkg/front_end/testcases/inference/list_literal_typed.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/list_literal_typed.dart.textual_outline.expect b/pkg/front_end/testcases/inference/list_literal_typed.dart.textual_outline.expect
index a8bb8ca..850be34 100644
--- a/pkg/front_end/testcases/inference/list_literal_typed.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/list_literal_typed.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a = <int>[];
diff --git a/pkg/front_end/testcases/inference/list_literal_typed.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/list_literal_typed.dart.textual_outline_modelled.expect
index 64454d9..4745cec 100644
--- a/pkg/front_end/testcases/inference/list_literal_typed.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/list_literal_typed.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/list_literal_typed.dart.strong.expect b/pkg/front_end/testcases/inference/list_literal_typed.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literal_typed.dart.strong.expect
rename to pkg/front_end/testcases/inference/list_literal_typed.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/list_literal_typed.dart.outline.expect b/pkg/front_end/testcases/inference/list_literal_typed.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literal_typed.dart.outline.expect
rename to pkg/front_end/testcases/inference/list_literal_typed.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/list_literal_typed.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/list_literal_typed.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literal_typed.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/list_literal_typed.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/list_literals.dart b/pkg/front_end/testcases/inference/list_literals.dart
index 08e0240..d6c56b3 100644
--- a/pkg/front_end/testcases/inference/list_literals.dart
+++ b/pkg/front_end/testcases/inference/list_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.textual_outline.expect b/pkg/front_end/testcases/inference/list_literals.dart.textual_outline.expect
index 5609202..eee2ee4 100644
--- a/pkg/front_end/testcases/inference/list_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/list_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test1() {}
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/list_literals.dart.textual_outline_modelled.expect
index 140f235..6c93634 100644
--- a/pkg/front_end/testcases/inference/list_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/list_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.strong.expect b/pkg/front_end/testcases/inference/list_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literals.dart.strong.expect
rename to pkg/front_end/testcases/inference/list_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.outline.expect b/pkg/front_end/testcases/inference/list_literals.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/list_literals.dart.outline.expect
copy to pkg/front_end/testcases/inference/list_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/list_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/list_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart
index 5358324..e8742e5 100644
--- a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart
+++ b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.outline.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.outline.expect
deleted file mode 100644
index 3619892..0000000
--- a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.textual_outline.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.textual_outline.expect
index a73b3f8..f75f219 100644
--- a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test1() {}
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.textual_outline_modelled.expect
index 128ffb9..b1f0123 100644
--- a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.strong.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.strong.expect
rename to pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect
copy to pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/list_literals_can_infer_null_bottom.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart b/pkg/front_end/testcases/inference/list_literals_top_level.dart
index 70a14e5..d8a8475 100644
--- a/pkg/front_end/testcases/inference/list_literals_top_level.dart
+++ b/pkg/front_end/testcases/inference/list_literals_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.textual_outline.expect
index 6756ba5..7927c17 100644
--- a/pkg/front_end/testcases/inference/list_literals_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/list_literals_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x1 = [1, 2, 3];
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.textual_outline_modelled.expect
index f0f5ec2..8caee53 100644
--- a/pkg/front_end/testcases/inference/list_literals_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/list_literals_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.strong.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literals_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.outline.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literals_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/list_literals_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literals_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/list_literals_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart
index efe7e31..6b0b12c 100644
--- a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart
+++ b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.hierarchy.expect b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.hierarchy.expect
deleted file mode 100644
index dc723b9..0000000
--- a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.t
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.textual_outline.expect b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.textual_outline.expect
index 37920c4..c2692ff 100644
--- a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.textual_outline_modelled.expect
index c831b3d..43f627a 100644
--- a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.strong.expect b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.strong.expect
rename to pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.outline.expect b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.outline.expect
rename to pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/local_constructor_from_arguments.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart
index 9370d8a..d33b089 100644
--- a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart
+++ b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.textual_outline.expect b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.textual_outline.expect
index c807ee6..71431e1 100644
--- a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.textual_outline_modelled.expect
index c807ee6..71431e1 100644
--- a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.strong.expect b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_reference_upwards_local.dart.strong.expect
rename to pkg/front_end/testcases/inference/local_reference_upwards_local.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.outline.expect b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_reference_upwards_local.dart.outline.expect
rename to pkg/front_end/testcases/inference/local_reference_upwards_local.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/local_reference_upwards_local.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_reference_upwards_local.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/local_reference_upwards_local.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart b/pkg/front_end/testcases/inference/local_return_and_yield.dart
index 2b42b63..b722c06 100644
--- a/pkg/front_end/testcases/inference/local_return_and_yield.dart
+++ b/pkg/front_end/testcases/inference/local_return_and_yield.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.textual_outline.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.textual_outline.expect
index 7a5100f..7b462fa 100644
--- a/pkg/front_end/testcases/inference/local_return_and_yield.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/local_return_and_yield.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.textual_outline_modelled.expect
index ad856ae..3c17dd3 100644
--- a/pkg/front_end/testcases/inference/local_return_and_yield.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/local_return_and_yield.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.strong.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_return_and_yield.dart.strong.expect
rename to pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.outline.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_return_and_yield.dart.outline.expect
rename to pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/local_return_and_yield.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/local_return_and_yield.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/local_return_and_yield.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart b/pkg/front_end/testcases/inference/logical_or_promotion.dart
index 0efd379..aa690e9 100644
--- a/pkg/front_end/testcases/inference/logical_or_promotion.dart
+++ b/pkg/front_end/testcases/inference/logical_or_promotion.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart.hierarchy.expect b/pkg/front_end/testcases/inference/logical_or_promotion.dart.hierarchy.expect
deleted file mode 100644
index af58758..0000000
--- a/pkg/front_end/testcases/inference/logical_or_promotion.dart.hierarchy.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    C.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.a
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart.textual_outline.expect b/pkg/front_end/testcases/inference/logical_or_promotion.dart.textual_outline.expect
index 0562d88..8754ed8 100644
--- a/pkg/front_end/testcases/inference/logical_or_promotion.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/logical_or_promotion.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {}
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/logical_or_promotion.dart.textual_outline_modelled.expect
index 0562d88..8754ed8 100644
--- a/pkg/front_end/testcases/inference/logical_or_promotion.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/logical_or_promotion.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {}
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart.strong.expect b/pkg/front_end/testcases/inference/logical_or_promotion.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/logical_or_promotion.dart.strong.expect
rename to pkg/front_end/testcases/inference/logical_or_promotion.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart.outline.expect b/pkg/front_end/testcases/inference/logical_or_promotion.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/logical_or_promotion.dart.outline.expect
rename to pkg/front_end/testcases/inference/logical_or_promotion.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/logical_or_promotion.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/logical_or_promotion.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/logical_or_promotion.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/logical_or_promotion.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/map_literals.dart b/pkg/front_end/testcases/inference/map_literals.dart
index e50d6d1..4ca5367 100644
--- a/pkg/front_end/testcases/inference/map_literals.dart
+++ b/pkg/front_end/testcases/inference/map_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.outline.expect b/pkg/front_end/testcases/inference/map_literals.dart.outline.expect
deleted file mode 100644
index 893540e..0000000
--- a/pkg/front_end/testcases/inference/map_literals.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic
-  ;
-static method test2() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.textual_outline.expect b/pkg/front_end/testcases/inference/map_literals.dart.textual_outline.expect
index 5609202..eee2ee4 100644
--- a/pkg/front_end/testcases/inference/map_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/map_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test1() {}
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/map_literals.dart.textual_outline_modelled.expect
index 140f235..6c93634 100644
--- a/pkg/front_end/testcases/inference/map_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/map_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.strong.expect b/pkg/front_end/testcases/inference/map_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/map_literals.dart.strong.expect
rename to pkg/front_end/testcases/inference/map_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/list_literals.dart.outline.expect b/pkg/front_end/testcases/inference/map_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/list_literals.dart.outline.expect
rename to pkg/front_end/testcases/inference/map_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/map_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/map_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/map_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/map_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart
index e98f54e..46e5430 100644
--- a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart
+++ b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.outline.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.outline.expect
deleted file mode 100644
index 3619892..0000000
--- a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.textual_outline.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.textual_outline.expect
index a73b3f8..f75f219 100644
--- a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test1() {}
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.textual_outline_modelled.expect
index 128ffb9..b1f0123 100644
--- a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.strong.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.strong.expect
rename to pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect
copy to pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/map_literals_can_infer_null.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart b/pkg/front_end/testcases/inference/map_literals_top_level.dart
index 362c81b..be3ea61 100644
--- a/pkg/front_end/testcases/inference/map_literals_top_level.dart
+++ b/pkg/front_end/testcases/inference/map_literals_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.textual_outline.expect
index 6f3b811..f049413 100644
--- a/pkg/front_end/testcases/inference/map_literals_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/map_literals_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x1 = {1: 'x', 2: 'y'};
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.textual_outline_modelled.expect
index 1bd3bfa..7b6becf 100644
--- a/pkg/front_end/testcases/inference/map_literals_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/map_literals_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.strong.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/map_literals_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.outline.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/map_literals_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/map_literals_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/map_literals_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/map_literals_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart
index 15727c0..e5d267b 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.hierarchy.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.hierarchy.expect
deleted file mode 100644
index 92135a9..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.textual_outline.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.textual_outline.expect
index 6de6cbe..f1f6c1f 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.textual_outline_modelled.expect
index 8d922a3..c5f8528 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.strong.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.strong.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.outline.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.outline.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart
index 3f59db8..f83e2f3 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.hierarchy.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.hierarchy.expect
deleted file mode 100644
index 92135a9..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.textual_outline.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.textual_outline.expect
index c522b9e..4ce890c 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.textual_outline_modelled.expect
index 18dc8f0..dac60c5 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C c;
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.strong.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.strong.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.outline.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.outline.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_instance_method_identifier_sequence.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart
index 5ca8020..ac2d340 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.hierarchy.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.hierarchy.expect
deleted file mode 100644
index 92135a9..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.textual_outline.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.textual_outline.expect
index add0023..528d358 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.textual_outline_modelled.expect
index 2f8f547..d6aaba5 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.strong.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.strong.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.outline.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.outline.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_static_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart
index 4574e77..409f5c3 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.hierarchy.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.hierarchy.expect
deleted file mode 100644
index 130aed5..0000000
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.textual_outline.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.textual_outline.expect
index 0e5b2a1..73214fd 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 D<T> f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.textual_outline_modelled.expect
index 6666457..be4c86e 100644
--- a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 D<T> f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.strong.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.strong.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.outline.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.outline.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/method_call_with_type_arguments_top_level_function.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart
index 5e2e3e8..c20ad39 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class M0<X, Y extends String> extends I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.hierarchy.expect
deleted file mode 100644
index b21414f..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.hierarchy.expect
+++ /dev/null
@@ -1,147 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  superclasses:
-    Object
-      -> I<X>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M1 with M0<int, String>:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> M1
-  interfaces: I<int>, M0<int, String>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> M1
-        -> _A&M1&M0
-  interfaces: I<int>, M0<int, String>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.textual_outline.expect
index 0f627e9..2a73ca9 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<X, Y extends String> extends I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.textual_outline_modelled.expect
index 74e76cf..a214810 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M1 with M0 {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_1.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart
index 31c4d88..5219f6e 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class M0<X, Y extends X> extends I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.hierarchy.expect
deleted file mode 100644
index 6d65499..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,147 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  superclasses:
-    Object
-      -> I<X>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M1 with M0<int, int>:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> M1
-  interfaces: I<int>, M0<int, int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> M1
-        -> _A&M1&M0
-  interfaces: I<int>, M0<int, int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.textual_outline.expect
index 45d38b0..4967e97 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<X, Y extends X> extends I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.textual_outline_modelled.expect
index 4c4a6eb..37572af 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M1 with M0 {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart
index e82cec5..f17f138 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class M0<X, Y extends Comparable<Y>> extends I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.hierarchy.expect
deleted file mode 100644
index 88712a2..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,147 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  superclasses:
-    Object
-      -> I<X>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M1 with M0<int, Comparable<dynamic>>:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> M1
-  interfaces: I<int>, M0<int, Comparable<dynamic>>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> M1
-        -> _A&M1&M0
-  interfaces: I<int>, M0<int, Comparable<dynamic>>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.textual_outline.expect
index 4937c62..12b7ba8 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<X, Y extends Comparable<Y>> extends I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.textual_outline_modelled.expect
index 3a6cbd7..337d25b 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M1 with M0 {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_3.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart
index a24f92f..595169f 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class I<X> {}
 
 class M0<X, Y extends void Function({String name})> extends I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.textual_outline.expect
index 01ac810..242d773 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<X, Y extends void Function({String name})> extends I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.textual_outline_modelled.expect
index 761ffaf..58946b1 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M1 with M0 {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/mixin_inference_instantiate_to_bounds_4.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart
index a156947..d133805 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class J<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.hierarchy.expect
deleted file mode 100644
index 3e686b6..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.hierarchy.expect
+++ /dev/null
@@ -1,240 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-J:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I<X> with J<Y>:
-  superclasses:
-    Object
-      -> I<X>
-  interfaces: J<Y>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M0:
-  superclasses:
-    Object
-      -> I<X>
-        -> _M0&I&J<X, Y>
-  interfaces: J<Y>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> M1
-  interfaces: I<int>, J<double>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M2 with M0<int, double>:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> M1
-        -> M2
-  interfaces: I<int>, J<double>, M0<int, double>, _M0&I&J<int, double>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 5
-  superclasses:
-    Object
-      -> M1
-        -> M2
-          -> _A&M2&M0
-  interfaces: I<int>, J<double>, M0<int, double>, _M0&I&J<int, double>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.textual_outline.expect
index 0a537f2..4287c58 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class J<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.textual_outline_modelled.expect
index 368c442..b45667f 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M2 with M0 {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/mixin_inference_multiple_constraints.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart
index 04db533..1cecc14 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class M0<T> extends I<List<T>> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.hierarchy.expect
deleted file mode 100644
index 5e81312..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.hierarchy.expect
+++ /dev/null
@@ -1,156 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  superclasses:
-    Object
-      -> I<List<T>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  superclasses:
-    Object
-      -> I<List<T>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M2:
-  superclasses:
-    Object
-      -> I<List<Map<T, T>>>
-        -> M1<Map<T, T>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M2<int> with M0<Map<int, int>>:
-  superclasses:
-    Object
-      -> I<List<Map<int, int>>>
-        -> M1<Map<int, int>>
-          -> M2<int>
-  interfaces: M0<Map<int, int>>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  superclasses:
-    Object
-      -> I<List<Map<int, int>>>
-        -> M1<Map<int, int>>
-          -> M2<int>
-            -> _A&M2&M0
-  interfaces: M0<Map<int, int>>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.textual_outline.expect
index dd6e38e..dab4e5f 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<T> extends I<List<T>> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.textual_outline_modelled.expect
index 5ca8e99..4aedd26d 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M2<int> with M0 {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/mixin_inference_non_trivial_constraints.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart
index 41b6e88..0c186dd 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class M0<T> extends I<T> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.hierarchy.expect
deleted file mode 100644
index 992d270..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.hierarchy.expect
+++ /dev/null
@@ -1,135 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  superclasses:
-    Object
-      -> I<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  superclasses:
-    Object
-      -> I<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0<int> with M1<int>:
-  superclasses:
-    Object
-      -> I<int>
-        -> M0<int>
-  interfaces: M1<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  superclasses:
-    Object
-      -> I<int>
-        -> M0<int>
-          -> _A&M0&M1
-  interfaces: M1<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.textual_outline.expect
index 88e4fe0..5a57d83 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<T> extends I<T> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.textual_outline_modelled.expect
index daa14db..c678ba4 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M0<int> with M1 {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_1.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart
index 8ac7436..e061ed7 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class M0<T> extends I<T> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.hierarchy.expect
deleted file mode 100644
index 2113b02..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,186 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  superclasses:
-    Object
-      -> I<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  superclasses:
-    Object
-      -> I<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M2:
-  superclasses:
-    Object
-      -> I<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0<int> with M1<int>:
-  superclasses:
-    Object
-      -> I<int>
-        -> M0<int>
-  interfaces: M1<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A&M0&M1 with M2<int>:
-  superclasses:
-    Object
-      -> I<int>
-        -> M0<int>
-          -> _A&M0&M1
-  interfaces: M1<int>, M2<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  superclasses:
-    Object
-      -> I<int>
-        -> M0<int>
-          -> _A&M0&M1
-            -> _A&M0&M1&M2
-  interfaces: M1<int>, M2<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.textual_outline.expect
index 95cdfee..2f58213 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<T> extends I<T> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.textual_outline_modelled.expect
index 00c6217..c2e033d 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M0<int> with M1, M2 {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart
index 1d03f48..90b699b 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class M0<T> extends Object implements I<T> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.hierarchy.expect
deleted file mode 100644
index 74bb85d..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.hierarchy.expect
+++ /dev/null
@@ -1,177 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M1:
-  superclasses:
-    Object
-      -> I<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with M0<dynamic>:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M0<dynamic>, I<dynamic>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A&Object&M0 with M1<int>:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _A&Object&M0
-  interfaces: M0<dynamic>, I<dynamic>, M1<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 5
-  superclasses:
-    Object
-      -> _A&Object&M0
-        -> _A&Object&M0&M1
-  interfaces: M0<dynamic>, I<dynamic>, M1<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.textual_outline.expect
index 2ef4f06..216611a 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<T> extends Object implements I<T> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.textual_outline_modelled.expect
index 39209e0..6a9e2c6 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends Object with M0, M1<int> {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart
index 4f88178..9fd048e 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X> {}
 
 class M0<T> extends Object implements I<T> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.hierarchy.expect
deleted file mode 100644
index d2343d3..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.hierarchy.expect
+++ /dev/null
@@ -1,177 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M1:
-  superclasses:
-    Object
-      -> I<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with M0<dynamic>:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M0<dynamic>, I<dynamic>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A&Object&M0 with M1<dynamic>:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _A&Object&M0
-  interfaces: M0<dynamic>, I<dynamic>, M1<dynamic>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 5
-  superclasses:
-    Object
-      -> _A&Object&M0
-        -> _A&Object&M0&M1
-  interfaces: M0<dynamic>, I<dynamic>, M1<dynamic>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.textual_outline.expect
index 9eec41a..db097a6 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X> {}
 
 class M0<T> extends Object implements I<T> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.textual_outline_modelled.expect
index 50e9d09..c64af1d 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends Object with M0, M1 implements I<int> {}
 
 class I<X> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_outwards_4.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart
index ed6e1be..6e942bc 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X, Y> {}
 
 class M0<T> implements I<T, int> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.hierarchy.expect
deleted file mode 100644
index fb14a36..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.hierarchy.expect
+++ /dev/null
@@ -1,189 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<T, int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<String, T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M0<dynamic>:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M0<dynamic>, I<dynamic, int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A&Object&M0 with M1<dynamic>:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _A&Object&M0
-  interfaces: M0<dynamic>, I<dynamic, int>, M1<dynamic>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 5
-  superclasses:
-    Object
-      -> _A&Object&M0
-        -> _A&Object&M0&M1
-  interfaces: M0<dynamic>, I<dynamic, int>, M1<dynamic>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.textual_outline.expect
index 18ceb4d..f6a48734 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X, Y> {}
 
 class M0<T> implements I<T, int> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.textual_outline_modelled.expect
index e3a249c..ee2ae6f 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends Object with M0, M1 {}
 
 class I<X, Y> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_unification_1.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart
index 64d4550..236c7a0 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class I<X, Y> {}
 
 class M0<T> implements I<T, List<T>> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.hierarchy.expect
deleted file mode 100644
index f1f8e8d..0000000
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,189 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M0:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<T, List<T>>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-M1:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<List<T>, T>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M0<dynamic>:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: M0<dynamic>, I<dynamic, List<dynamic>>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-_A&Object&M0 with M1<dynamic>:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _A&Object&M0
-  interfaces: M0<dynamic>, I<dynamic, List<dynamic>>, M1<dynamic>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 5
-  superclasses:
-    Object
-      -> _A&Object&M0
-        -> _A&Object&M0&M1
-  interfaces: M0<dynamic>, I<dynamic, List<dynamic>>, M1<dynamic>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.textual_outline.expect
index 875a303..f2a5b07 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I<X, Y> {}
 
 class M0<T> implements I<T, List<T>> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.textual_outline_modelled.expect
index e8a5311..f39edfd 100644
--- a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends Object with M0, M1 {}
 
 class I<X, Y> {}
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.strong.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.outline.expect b/pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.outline.expect
rename to pkg/front_end/testcases/inference/mixin_inference_unification_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart
index 65b6822..ddfa0d6 100644
--- a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart
+++ b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.outline.expect b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.outline.expect
deleted file mode 100644
index 3619892..0000000
--- a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test1() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.textual_outline.expect b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.textual_outline.expect
index a73b3f8..f75f219 100644
--- a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test1() {}
diff --git a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.textual_outline_modelled.expect
index 128ffb9..b1f0123 100644
--- a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.strong.expect b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.strong.expect
rename to pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_basic.dart.outline.expect
copy to pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/no_error_when_declared_type_is_num_and_assigned_null.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart b/pkg/front_end/testcases/inference/non_const_invocation.dart
index 03c93ec..d374b76 100644
--- a/pkg/front_end/testcases/inference/non_const_invocation.dart
+++ b/pkg/front_end/testcases/inference/non_const_invocation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart.hierarchy.expect b/pkg/front_end/testcases/inference/non_const_invocation.dart.hierarchy.expect
deleted file mode 100644
index 052819e..0000000
--- a/pkg/front_end/testcases/inference/non_const_invocation.dart.hierarchy.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.v4
-    Foo.v7
-    Object.toString
-    Foo.v3
-    Object.runtimeType
-    Foo.v6
-    Object._simpleInstanceOf
-    Foo.v9
-    Foo.v2
-    Object._instanceOf
-    Foo.v5
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.v1
-    Object._simpleInstanceOfFalse
-    Foo.v8
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart.textual_outline.expect b/pkg/front_end/testcases/inference/non_const_invocation.dart.textual_outline.expect
index a12a138..41dbc19 100644
--- a/pkg/front_end/testcases/inference/non_const_invocation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/non_const_invocation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef V F<U, V>(U u);
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/non_const_invocation.dart.textual_outline_modelled.expect
index 6fb4bb9..10f7f3a 100644
--- a/pkg/front_end/testcases/inference/non_const_invocation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/non_const_invocation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Bar<T> {
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart.strong.expect b/pkg/front_end/testcases/inference/non_const_invocation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/non_const_invocation.dart.strong.expect
rename to pkg/front_end/testcases/inference/non_const_invocation.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart.outline.expect b/pkg/front_end/testcases/inference/non_const_invocation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/non_const_invocation.dart.outline.expect
rename to pkg/front_end/testcases/inference/non_const_invocation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/non_const_invocation.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/non_const_invocation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/non_const_invocation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/non_const_invocation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart
index f8ac0dc..3bbd78a 100644
--- a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart
+++ b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.hierarchy.expect
deleted file mode 100644
index 7f29764..0000000
--- a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.textual_outline.expect
index d565888..8bcaff0 100644
--- a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.textual_outline_modelled.expect
index d565888..8bcaff0 100644
--- a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.strong.expect b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.outline.expect b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/non_inferrable_getter_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart
index d1d0d9c..c1906ab 100644
--- a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart
+++ b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.hierarchy.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.textual_outline.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.textual_outline.expect
index bdcdbfe..03e6dc9 100644
--- a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.textual_outline_modelled.expect
index bdcdbfe..03e6dc9 100644
--- a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.strong.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_aware_method_invocation.dart.strong.expect
rename to pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.outline.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_aware_method_invocation.dart.outline.expect
rename to pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_aware_method_invocation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/null_aware_method_invocation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart b/pkg/front_end/testcases/inference/null_aware_property_get.dart
index d5f2175..bc20ea3 100644
--- a/pkg/front_end/testcases/inference/null_aware_property_get.dart
+++ b/pkg/front_end/testcases/inference/null_aware_property_get.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.hierarchy.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.hierarchy.expect
deleted file mode 100644
index 7f29764..0000000
--- a/pkg/front_end/testcases/inference/null_aware_property_get.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.textual_outline.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.textual_outline.expect
index ce42724..2571154 100644
--- a/pkg/front_end/testcases/inference/null_aware_property_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/null_aware_property_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.textual_outline_modelled.expect
index 99cd276..c85f391 100644
--- a/pkg/front_end/testcases/inference/null_aware_property_get.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/null_aware_property_get.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.strong.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_aware_property_get.dart.strong.expect
rename to pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.outline.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_aware_property_get.dart.outline.expect
rename to pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/null_aware_property_get.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_aware_property_get.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/null_aware_property_get.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart b/pkg/front_end/testcases/inference/null_coalescing_operator.dart
index 6ea5820..f68c07f 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator.dart
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.outline.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.textual_outline.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.strong.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_coalescing_operator.dart.strong.expect
rename to pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect
rename to pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_coalescing_operator.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/null_coalescing_operator.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart
index 3ade64d..a6dfbb3 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.outline.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.strong.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.strong.expect
rename to pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect
copy to pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/null_coalescing_operator_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart
index 4ee6f9f..6a4af1f 100644
--- a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart
+++ b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.outline.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.outline.expect
deleted file mode 100644
index 672fbfb..0000000
--- a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.outline.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic h;
-static method foo((core::Object*) →* core::int* f) → void
-  ;
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.textual_outline.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.textual_outline.expect
index 4a1f36a..068d32d 100644
--- a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var h = null;
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.textual_outline_modelled.expect
index 1183aa1..ed21f2a 100644
--- a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.strong.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.strong.expect
rename to pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.outline.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync.dart.outline.expect
copy to pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/null_literal_should_not_infer_as_bottom.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart b/pkg/front_end/testcases/inference/overloaded_int_operators.dart
index cb5a0c2a..2d40297 100644
--- a/pkg/front_end/testcases/inference/overloaded_int_operators.dart
+++ b/pkg/front_end/testcases/inference/overloaded_int_operators.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.outline.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.textual_outline.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.strong.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/overloaded_int_operators.dart.strong.expect
rename to pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect
copy to pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/overloaded_int_operators.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/overloaded_int_operators.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/overloaded_int_operators.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/override_equals.dart b/pkg/front_end/testcases/inference/override_equals.dart
index b8ec051..d2ed4ba 100644
--- a/pkg/front_end/testcases/inference/override_equals.dart
+++ b/pkg/front_end/testcases/inference/override_equals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.hierarchy.expect b/pkg/front_end/testcases/inference/override_equals.dart.hierarchy.expect
deleted file mode 100644
index 187143e..0000000
--- a/pkg/front_end/testcases/inference/override_equals.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-NullEquality:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    NullEquality.==
-  classSetters:
-
-SubNullEquality:
-  superclasses:
-    Object
-      -> NullEquality
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    NullEquality.==
-    SubNullEquality.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.textual_outline.expect b/pkg/front_end/testcases/inference/override_equals.dart.textual_outline.expect
index e9719ec..a1bf721 100644
--- a/pkg/front_end/testcases/inference/override_equals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/override_equals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class NullEquality {
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/override_equals.dart.textual_outline_modelled.expect
index b6b202b..0556713 100644
--- a/pkg/front_end/testcases/inference/override_equals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/override_equals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class NullEquality {
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.strong.expect b/pkg/front_end/testcases/inference/override_equals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_equals.dart.strong.expect
rename to pkg/front_end/testcases/inference/override_equals.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.outline.expect b/pkg/front_end/testcases/inference/override_equals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_equals.dart.outline.expect
rename to pkg/front_end/testcases/inference/override_equals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/override_equals.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/override_equals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_equals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/override_equals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart
index ebc84b6..e62b139 100644
--- a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart
+++ b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A<X> {
   final foo = "bar";
 }
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.hierarchy.expect b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.hierarchy.expect
deleted file mode 100644
index 6bb747c..0000000
--- a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<Y>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.textual_outline.expect b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.textual_outline.expect
index 60962ed..8f4f760 100644
--- a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {
   final foo = "bar";
 }
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.textual_outline_modelled.expect
index dbeb61d..a3ccc03 100644
--- a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {
   final foo = "bar";
 }
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.strong.expect b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.strong.expect
rename to pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.outline.expect b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.outline.expect
rename to pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/override_inference_depends_on_field_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart
index f905aee..8fb352d 100644
--- a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart
+++ b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 abstract class A<X> {
   void foo({Iterable<X> x});
 }
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.hierarchy.expect b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.hierarchy.expect
deleted file mode 100644
index c985c1b..0000000
--- a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.hierarchy.expect
+++ /dev/null
@@ -1,69 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A<Y>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.textual_outline.expect b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.textual_outline.expect
index d69f3e8..2d86f4e 100644
--- a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A<X> {
   void foo({Iterable<X> x});
 }
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.textual_outline_modelled.expect
index d69f3e8..2d86f4e 100644
--- a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A<X> {
   void foo({Iterable<X> x});
 }
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.strong.expect b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.strong.expect
rename to pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.outline.expect b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.outline.expect
rename to pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/override_inference_with_type_parameters.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart
index 0cfa3ae..224947f 100644
--- a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart
+++ b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.textual_outline.expect
index 0f15872d..6ef32b7 100644
--- a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void optional_toplevel([List<int> x = const []]) {}
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.textual_outline_modelled.expect
index 88548f3..8c19d42 100644
--- a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.strong.expect b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.outline.expect b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/parameter_defaults_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart
index ece9a42..df73b5c 100644
--- a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart
+++ b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.textual_outline.expect
index 99ee48d..1acd773 100644
--- a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.textual_outline_modelled.expect
index b07f840..06acc3ee 100644
--- a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.strong.expect b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.outline.expect b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/parameter_defaults_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart b/pkg/front_end/testcases/inference/promote_bounds.dart
index 5f9215a..ebf30d4 100644
--- a/pkg/front_end/testcases/inference/promote_bounds.dart
+++ b/pkg/front_end/testcases/inference/promote_bounds.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.hierarchy.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.hierarchy.expect
deleted file mode 100644
index f6e8245..0000000
--- a/pkg/front_end/testcases/inference/promote_bounds.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    C.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.textual_outline.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.textual_outline.expect
index a353121..208f14c 100644
--- a/pkg/front_end/testcases/inference/promote_bounds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/promote_bounds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class B {
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.textual_outline_modelled.expect
index 08ef9b2..d5a710c 100644
--- a/pkg/front_end/testcases/inference/promote_bounds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/promote_bounds.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class B {
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.strong.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promote_bounds.dart.strong.expect
rename to pkg/front_end/testcases/inference/promote_bounds.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.outline.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promote_bounds.dart.outline.expect
rename to pkg/front_end/testcases/inference/promote_bounds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/promote_bounds.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/promote_bounds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promote_bounds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/promote_bounds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart
index c8fef0b..542e1fd 100644
--- a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart
+++ b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.textual_outline.expect b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.textual_outline.expect
index 31d41a0..b7b9d06 100644
--- a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test(Object a, bool b) {}
diff --git a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.textual_outline_modelled.expect
index 17f0601..fac676c 100644
--- a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.strong.expect b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.strong.expect
rename to pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.outline.expect b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.outline.expect
rename to pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/promote_from_logical_rhs.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/promotion_subtype_check.dart b/pkg/front_end/testcases/inference/promotion_subtype_check.dart
index 7691cf1..c4283c0 100644
--- a/pkg/front_end/testcases/inference/promotion_subtype_check.dart
+++ b/pkg/front_end/testcases/inference/promotion_subtype_check.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.textual_outline.expect b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.textual_outline.expect
index 563c2f1..4e12199 100644
--- a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void f(Object x) {}
diff --git a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.textual_outline_modelled.expect
index 8442684..43731b2 100644
--- a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.strong.expect b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promotion_subtype_check.dart.strong.expect
rename to pkg/front_end/testcases/inference/promotion_subtype_check.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.outline.expect b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promotion_subtype_check.dart.outline.expect
rename to pkg/front_end/testcases/inference/promotion_subtype_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/promotion_subtype_check.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/promotion_subtype_check.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/promotion_subtype_check.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/promotion_subtype_check.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart
index 4b9bb91..82df1a3 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.hierarchy.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.hierarchy.expect
deleted file mode 100644
index 804e9c5..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.textual_outline.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.textual_outline.expect
index 99e1514..36cb1e5 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.textual_outline_modelled.expect
index 99e1514..36cb1e5 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.strong.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.strong.expect
rename to pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.outline.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.outline.expect
rename to pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart
index e9e527f..fd2c5ab 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.hierarchy.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.hierarchy.expect
deleted file mode 100644
index 804e9c5..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.outline.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.outline.expect
deleted file mode 100644
index affd7cd..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.outline.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int* x;
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.textual_outline.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.textual_outline.expect
index 99e1514..36cb1e5 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.textual_outline_modelled.expect
index 99e1514..36cb1e5 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.strong.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.strong.expect
rename to pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.outline.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/propagate_inference_to_field_in_class.dart.outline.expect
copy to pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/propagate_inference_to_field_in_class_dynamic_warnings.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart
index 4507d0f..e87e17e 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart
+++ b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.hierarchy.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.hierarchy.expect
deleted file mode 100644
index 804e9c5..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.textual_outline.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.textual_outline.expect
index 40b29e6..ebcd777 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.textual_outline_modelled.expect
index 6ee5c2f..98064a4 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.strong.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_transitively.dart.strong.expect
rename to pkg/front_end/testcases/inference/propagate_inference_transitively.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.outline.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_transitively.dart.outline.expect
rename to pkg/front_end/testcases/inference/propagate_inference_transitively.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_transitively.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/propagate_inference_transitively.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart
index 1cdf400..c0b3b7a 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart
+++ b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.hierarchy.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.hierarchy.expect
deleted file mode 100644
index fb5ffdc..0000000
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.hierarchy.expect
+++ /dev/null
@@ -1,95 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.a
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.b
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    D.c
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.c
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.textual_outline.expect
index 774ec6d..34c4748 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.textual_outline_modelled.expect
index 774ec6d..34c4748 100644
--- a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.strong.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.strong.expect
rename to pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.outline.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.outline.expect
rename to pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/propagate_inference_transitively2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/propagate_variable_get.dart b/pkg/front_end/testcases/inference/propagate_variable_get.dart
index e5ca243..4f0c207 100644
--- a/pkg/front_end/testcases/inference/propagate_variable_get.dart
+++ b/pkg/front_end/testcases/inference/propagate_variable_get.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/propagate_variable_get.dart.outline.expect b/pkg/front_end/testcases/inference/propagate_variable_get.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/propagate_variable_get.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/propagate_variable_get.dart.textual_outline.expect b/pkg/front_end/testcases/inference/propagate_variable_get.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/propagate_variable_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/propagate_variable_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/propagate_variable_get.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/propagate_variable_get.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/propagate_variable_get.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/propagate_variable_get.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/propagate_variable_get.dart.strong.expect b/pkg/front_end/testcases/inference/propagate_variable_get.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_variable_get.dart.strong.expect
rename to pkg/front_end/testcases/inference/propagate_variable_get.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect b/pkg/front_end/testcases/inference/propagate_variable_get.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_returns.dart.outline.expect
copy to pkg/front_end/testcases/inference/propagate_variable_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/propagate_variable_get.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/propagate_variable_get.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/propagate_variable_get.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/propagate_variable_get.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart b/pkg/front_end/testcases/inference/property_get_toplevel.dart
index 1f9513d..f2dcbfd 100644
--- a/pkg/front_end/testcases/inference/property_get_toplevel.dart
+++ b/pkg/front_end/testcases/inference/property_get_toplevel.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.hierarchy.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.hierarchy.expect
deleted file mode 100644
index 38a3d58..0000000
--- a/pkg/front_end/testcases/inference/property_get_toplevel.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.getter
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.function
-    C.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.field
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.textual_outline.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.textual_outline.expect
index 46d302a..8b55787 100644
--- a/pkg/front_end/testcases/inference/property_get_toplevel.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/property_get_toplevel.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.textual_outline_modelled.expect
index cb636c41..26ae364 100644
--- a/pkg/front_end/testcases/inference/property_get_toplevel.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/property_get_toplevel.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C c = new C();
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.strong.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_get_toplevel.dart.strong.expect
rename to pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.outline.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_get_toplevel.dart.outline.expect
rename to pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/property_get_toplevel.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_get_toplevel.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/property_get_toplevel.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/property_set.dart b/pkg/front_end/testcases/inference/property_set.dart
index a9a36e4..d8af34b 100644
--- a/pkg/front_end/testcases/inference/property_set.dart
+++ b/pkg/front_end/testcases/inference/property_set.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/property_set.dart.hierarchy.expect b/pkg/front_end/testcases/inference/property_set.dart.hierarchy.expect
deleted file mode 100644
index 8c4141b..0000000
--- a/pkg/front_end/testcases/inference/property_set.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
diff --git a/pkg/front_end/testcases/inference/property_set.dart.textual_outline.expect b/pkg/front_end/testcases/inference/property_set.dart.textual_outline.expect
index fbf41d4..89e66ee 100644
--- a/pkg/front_end/testcases/inference/property_set.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/property_set.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/property_set.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/property_set.dart.textual_outline_modelled.expect
index 99f7782..0602af6 100644
--- a/pkg/front_end/testcases/inference/property_set.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/property_set.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference/property_set.dart.strong.expect b/pkg/front_end/testcases/inference/property_set.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_set.dart.strong.expect
rename to pkg/front_end/testcases/inference/property_set.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/property_set.dart.outline.expect b/pkg/front_end/testcases/inference/property_set.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_set.dart.outline.expect
rename to pkg/front_end/testcases/inference/property_set.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/property_set.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/property_set.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_set.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/property_set.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart b/pkg/front_end/testcases/inference/property_set_bad_setter.dart
index 573f5c5..3075b83 100644
--- a/pkg/front_end/testcases/inference/property_set_bad_setter.dart
+++ b/pkg/front_end/testcases/inference/property_set_bad_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.hierarchy.expect
deleted file mode 100644
index ff03b6a..0000000
--- a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.textual_outline.expect
index 6eadbb2..cf3ef2f 100644
--- a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.textual_outline_modelled.expect
index 3df6a19..29a7b77 100644
--- a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.strong.expect b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_set_bad_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference/property_set_bad_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.outline.expect b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_set_bad_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference/property_set_bad_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/property_set_bad_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/property_set_bad_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/property_set_bad_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/property_set_bad_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/recursive_generic_function.dart b/pkg/front_end/testcases/inference/recursive_generic_function.dart
index 6bc67ea..7d21559 100644
--- a/pkg/front_end/testcases/inference/recursive_generic_function.dart
+++ b/pkg/front_end/testcases/inference/recursive_generic_function.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/recursive_generic_function.dart.textual_outline.expect b/pkg/front_end/testcases/inference/recursive_generic_function.dart.textual_outline.expect
index f07684b..8fcc501 100644
--- a/pkg/front_end/testcases/inference/recursive_generic_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/recursive_generic_function.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void _mergeSort<T>(
diff --git a/pkg/front_end/testcases/inference/recursive_generic_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/recursive_generic_function.dart.textual_outline_modelled.expect
index 0f5ec10..0d9a760 100644
--- a/pkg/front_end/testcases/inference/recursive_generic_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/recursive_generic_function.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/recursive_generic_function.dart.strong.expect b/pkg/front_end/testcases/inference/recursive_generic_function.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/recursive_generic_function.dart.strong.expect
rename to pkg/front_end/testcases/inference/recursive_generic_function.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/recursive_generic_function.dart.outline.expect b/pkg/front_end/testcases/inference/recursive_generic_function.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/recursive_generic_function.dart.outline.expect
rename to pkg/front_end/testcases/inference/recursive_generic_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/recursive_generic_function.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/recursive_generic_function.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/recursive_generic_function.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/recursive_generic_function.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/reference_to_typedef.dart b/pkg/front_end/testcases/inference/reference_to_typedef.dart
index 59ec3b8..a7f5bce 100644
--- a/pkg/front_end/testcases/inference/reference_to_typedef.dart
+++ b/pkg/front_end/testcases/inference/reference_to_typedef.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/reference_to_typedef.dart.textual_outline.expect b/pkg/front_end/testcases/inference/reference_to_typedef.dart.textual_outline.expect
index 1868d7f..cd84e0a 100644
--- a/pkg/front_end/testcases/inference/reference_to_typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/reference_to_typedef.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F();
diff --git a/pkg/front_end/testcases/inference/reference_to_typedef.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/reference_to_typedef.dart.textual_outline_modelled.expect
index 808266d..e5cc853 100644
--- a/pkg/front_end/testcases/inference/reference_to_typedef.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/reference_to_typedef.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 final x = F;
diff --git a/pkg/front_end/testcases/inference/reference_to_typedef.dart.strong.expect b/pkg/front_end/testcases/inference/reference_to_typedef.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/reference_to_typedef.dart.strong.expect
rename to pkg/front_end/testcases/inference/reference_to_typedef.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/reference_to_typedef.dart.outline.expect b/pkg/front_end/testcases/inference/reference_to_typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/reference_to_typedef.dart.outline.expect
rename to pkg/front_end/testcases/inference/reference_to_typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/reference_to_typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/reference_to_typedef.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/reference_to_typedef.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/reference_to_typedef.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart
index 2095e06..7f43a40 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.hierarchy.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.hierarchy.expect
deleted file mode 100644
index c87ed81..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.op
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.a
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.textual_outline.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.textual_outline.expect
index 0b91a55..971cc80 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.textual_outline_modelled.expect
index 0b91a55..971cc80 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.strong.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.strong.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.outline.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.outline.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_double.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart
index 01149dd..1aed2a5 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.hierarchy.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.hierarchy.expect
deleted file mode 100644
index 6a7837d..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.op
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.opEq
-  classSetters:
-    C.a
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.textual_outline.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.textual_outline.expect
index e352327..235b176 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.textual_outline_modelled.expect
index e352327..235b176 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.strong.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.strong.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.outline.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.outline.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_int.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart
index 2455538..1254252 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.hierarchy.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.hierarchy.expect
deleted file mode 100644
index 6a7837d..0000000
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.op
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.opEq
-  classSetters:
-    C.a
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.textual_outline.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.textual_outline.expect
index 34c354c..22e3a1e 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.textual_outline_modelled.expect
index 34c354c..22e3a1e 100644
--- a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T extends num> {
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.strong.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.strong.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.outline.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.outline.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/refine_binary_expression_type_type_parameter_t_t.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart b/pkg/front_end/testcases/inference/setter_return_type.dart
index 62c1657..dc08ca3 100644
--- a/pkg/front_end/testcases/inference/setter_return_type.dart
+++ b/pkg/front_end/testcases/inference/setter_return_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.hierarchy.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.hierarchy.expect
deleted file mode 100644
index dce0b22..0000000
--- a/pkg/front_end/testcases/inference/setter_return_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.x
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.textual_outline.expect
index 9143a0a..595a9b1 100644
--- a/pkg/front_end/testcases/inference/setter_return_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/setter_return_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.textual_outline_modelled.expect
index 3f4534d..1ef3897dc 100644
--- a/pkg/front_end/testcases/inference/setter_return_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/setter_return_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I {
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.strong.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/setter_return_type.dart.strong.expect
rename to pkg/front_end/testcases/inference/setter_return_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.outline.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/setter_return_type.dart.outline.expect
rename to pkg/front_end/testcases/inference/setter_return_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/setter_return_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/setter_return_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/setter_return_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/setter_return_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_bool.dart b/pkg/front_end/testcases/inference/simple_literal_bool.dart
index 8e8ed6e..9f2adf0 100644
--- a/pkg/front_end/testcases/inference/simple_literal_bool.dart
+++ b/pkg/front_end/testcases/inference/simple_literal_bool.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/simple_literal_bool.dart.textual_outline.expect b/pkg/front_end/testcases/inference/simple_literal_bool.dart.textual_outline.expect
index 452bced..26a8389 100644
--- a/pkg/front_end/testcases/inference/simple_literal_bool.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/simple_literal_bool.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a = true;
diff --git a/pkg/front_end/testcases/inference/simple_literal_bool.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/simple_literal_bool.dart.textual_outline_modelled.expect
index c7a57ef..1983f24 100644
--- a/pkg/front_end/testcases/inference/simple_literal_bool.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/simple_literal_bool.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/simple_literal_bool.dart.strong.expect b/pkg/front_end/testcases/inference/simple_literal_bool.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_bool.dart.strong.expect
rename to pkg/front_end/testcases/inference/simple_literal_bool.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_bool.dart.outline.expect b/pkg/front_end/testcases/inference/simple_literal_bool.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_bool.dart.outline.expect
rename to pkg/front_end/testcases/inference/simple_literal_bool.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_bool.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/simple_literal_bool.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_bool.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/simple_literal_bool.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_double.dart b/pkg/front_end/testcases/inference/simple_literal_double.dart
index e08049f..0bd3218 100644
--- a/pkg/front_end/testcases/inference/simple_literal_double.dart
+++ b/pkg/front_end/testcases/inference/simple_literal_double.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/simple_literal_double.dart.textual_outline.expect b/pkg/front_end/testcases/inference/simple_literal_double.dart.textual_outline.expect
index 04971e0..861c194 100644
--- a/pkg/front_end/testcases/inference/simple_literal_double.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/simple_literal_double.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a = 1.2;
diff --git a/pkg/front_end/testcases/inference/simple_literal_double.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/simple_literal_double.dart.textual_outline_modelled.expect
index cb4b7ad..81cac4a 100644
--- a/pkg/front_end/testcases/inference/simple_literal_double.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/simple_literal_double.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/simple_literal_double.dart.strong.expect b/pkg/front_end/testcases/inference/simple_literal_double.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_double.dart.strong.expect
rename to pkg/front_end/testcases/inference/simple_literal_double.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_double.dart.outline.expect b/pkg/front_end/testcases/inference/simple_literal_double.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_double.dart.outline.expect
rename to pkg/front_end/testcases/inference/simple_literal_double.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_double.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/simple_literal_double.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_double.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/simple_literal_double.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_int.dart b/pkg/front_end/testcases/inference/simple_literal_int.dart
index a73905d..0152502 100644
--- a/pkg/front_end/testcases/inference/simple_literal_int.dart
+++ b/pkg/front_end/testcases/inference/simple_literal_int.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/simple_literal_int.dart.textual_outline.expect b/pkg/front_end/testcases/inference/simple_literal_int.dart.textual_outline.expect
index 83e091a..6c10111 100644
--- a/pkg/front_end/testcases/inference/simple_literal_int.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/simple_literal_int.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a = 1;
diff --git a/pkg/front_end/testcases/inference/simple_literal_int.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/simple_literal_int.dart.textual_outline_modelled.expect
index 60b453a..ab8010e 100644
--- a/pkg/front_end/testcases/inference/simple_literal_int.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/simple_literal_int.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/simple_literal_int.dart.strong.expect b/pkg/front_end/testcases/inference/simple_literal_int.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_int.dart.strong.expect
rename to pkg/front_end/testcases/inference/simple_literal_int.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_int.dart.outline.expect b/pkg/front_end/testcases/inference/simple_literal_int.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_int.dart.outline.expect
rename to pkg/front_end/testcases/inference/simple_literal_int.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_int.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/simple_literal_int.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_int.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/simple_literal_int.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_null.dart b/pkg/front_end/testcases/inference/simple_literal_null.dart
index 6ca0f65..426f43b 100644
--- a/pkg/front_end/testcases/inference/simple_literal_null.dart
+++ b/pkg/front_end/testcases/inference/simple_literal_null.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/simple_literal_null.dart.textual_outline.expect b/pkg/front_end/testcases/inference/simple_literal_null.dart.textual_outline.expect
index 5ca6d2a..8612b00 100644
--- a/pkg/front_end/testcases/inference/simple_literal_null.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/simple_literal_null.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var a = null;
diff --git a/pkg/front_end/testcases/inference/simple_literal_null.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/simple_literal_null.dart.textual_outline_modelled.expect
index 931bd7b..e43735f 100644
--- a/pkg/front_end/testcases/inference/simple_literal_null.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/simple_literal_null.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/simple_literal_null.dart.strong.expect b/pkg/front_end/testcases/inference/simple_literal_null.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_null.dart.strong.expect
rename to pkg/front_end/testcases/inference/simple_literal_null.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_null.dart.outline.expect b/pkg/front_end/testcases/inference/simple_literal_null.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_null.dart.outline.expect
rename to pkg/front_end/testcases/inference/simple_literal_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/simple_literal_null.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/simple_literal_null.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/simple_literal_null.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/simple_literal_null.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart b/pkg/front_end/testcases/inference/static_method_tear_off.dart
index ecd7504..69de61c 100644
--- a/pkg/front_end/testcases/inference/static_method_tear_off.dart
+++ b/pkg/front_end/testcases/inference/static_method_tear_off.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.hierarchy.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/static_method_tear_off.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.textual_outline.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.textual_outline.expect
index 26d186e..656d9fb 100644
--- a/pkg/front_end/testcases/inference/static_method_tear_off.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/static_method_tear_off.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 const v = C.f;
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.textual_outline_modelled.expect
index bf32f5c..b234f45 100644
--- a/pkg/front_end/testcases/inference/static_method_tear_off.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/static_method_tear_off.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.strong.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/static_method_tear_off.dart.strong.expect
rename to pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.outline.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/static_method_tear_off.dart.outline.expect
rename to pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/static_method_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/static_method_tear_off.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/static_method_tear_off.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/string_literal.dart b/pkg/front_end/testcases/inference/string_literal.dart
index 878aad4..d58188d 100644
--- a/pkg/front_end/testcases/inference/string_literal.dart
+++ b/pkg/front_end/testcases/inference/string_literal.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/string_literal.dart.textual_outline.expect b/pkg/front_end/testcases/inference/string_literal.dart.textual_outline.expect
index 40f25d4..cb60ad8 100644
--- a/pkg/front_end/testcases/inference/string_literal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/string_literal.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x = 1;
diff --git a/pkg/front_end/testcases/inference/string_literal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/string_literal.dart.textual_outline_modelled.expect
index 8bb8a7d..64d1894 100644
--- a/pkg/front_end/testcases/inference/string_literal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/string_literal.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/string_literal.dart.strong.expect b/pkg/front_end/testcases/inference/string_literal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/string_literal.dart.strong.expect
rename to pkg/front_end/testcases/inference/string_literal.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/string_literal.dart.outline.expect b/pkg/front_end/testcases/inference/string_literal.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/string_literal.dart.outline.expect
rename to pkg/front_end/testcases/inference/string_literal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/string_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/string_literal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/string_literal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/string_literal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart
index bfd1c0b..708acd6 100644
--- a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart
+++ b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.hierarchy.expect b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.hierarchy.expect
deleted file mode 100644
index 7f29764..0000000
--- a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.textual_outline.expect b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.textual_outline.expect
index 46a9d5d9..ac7ed69 100644
--- a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.textual_outline_modelled.expect
index fa8bd40..bb4438d 100644
--- a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<num> y = [0];
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.strong.expect b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.strong.expect
rename to pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.outline.expect b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.outline.expect
rename to pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/subexpressions_of_explicitly_typed_fields.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart b/pkg/front_end/testcases/inference/super_index_set.dart
index 231ebaa..e549a00 100644
--- a/pkg/front_end/testcases/inference/super_index_set.dart
+++ b/pkg/front_end/testcases/inference/super_index_set.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_index_set.dart.hierarchy.expect
deleted file mode 100644
index 48600ff..0000000
--- a/pkg/front_end/testcases/inference/super_index_set.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    C.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.h
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_index_set.dart.textual_outline.expect
index dcae9ea..909d41f 100644
--- a/pkg/front_end/testcases/inference/super_index_set.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_index_set.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_index_set.dart.textual_outline_modelled.expect
index aeaf352..2dd9e86 100644
--- a/pkg/front_end/testcases/inference/super_index_set.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_index_set.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart.strong.expect b/pkg/front_end/testcases/inference/super_index_set.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_index_set.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_index_set.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart.outline.expect b/pkg/front_end/testcases/inference/super_index_set.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_index_set.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_index_set.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_index_set.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_index_set.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_index_set.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_index_set.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart b/pkg/front_end/testcases/inference/super_index_set_substitution.dart
index b816d69..2787d8a 100644
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart
+++ b/pkg/front_end/testcases/inference/super_index_set_substitution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.hierarchy.expect
deleted file mode 100644
index 0b3c5c1..0000000
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B<Future<U>>
-  interfaces:
-  classMembers:
-    C.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.h
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.textual_outline.expect
index aac365a..b1af21d 100644
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.textual_outline_modelled.expect
index 5a33bc2..8b2dd86 100644
--- a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.strong.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_index_set_substitution.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_index_set_substitution.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_index_set_substitution.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_index_set_substitution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_index_set_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_index_set_substitution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_index_set_substitution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_index_set_substitution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart b/pkg/front_end/testcases/inference/super_initializer.dart
index f8b10f1..5dfdd57 100644
--- a/pkg/front_end/testcases/inference/super_initializer.dart
+++ b/pkg/front_end/testcases/inference/super_initializer.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_initializer.dart.hierarchy.expect
deleted file mode 100644
index adce63a..0000000
--- a/pkg/front_end/testcases/inference/super_initializer.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_initializer.dart.textual_outline.expect
index adf9262..f2f1a1a 100644
--- a/pkg/front_end/testcases/inference/super_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_initializer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_initializer.dart.textual_outline_modelled.expect
index d335a89..9f2e248 100644
--- a/pkg/front_end/testcases/inference/super_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_initializer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart.strong.expect b/pkg/front_end/testcases/inference/super_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_initializer.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart.outline.expect b/pkg/front_end/testcases/inference/super_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_initializer.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart b/pkg/front_end/testcases/inference/super_initializer_substitution.dart
index b9a4862..ad63740 100644
--- a/pkg/front_end/testcases/inference/super_initializer_substitution.dart
+++ b/pkg/front_end/testcases/inference/super_initializer_substitution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.hierarchy.expect
deleted file mode 100644
index 7d7e374..0000000
--- a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B<List<U>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.textual_outline.expect
index 9ebda13..9d56fff 100644
--- a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.textual_outline_modelled.expect
index 9ebda13..9d56fff 100644
--- a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.strong.expect b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_initializer_substitution.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_initializer_substitution.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_initializer_substitution.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_initializer_substitution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_initializer_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_initializer_substitution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_initializer_substitution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_initializer_substitution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart b/pkg/front_end/testcases/inference/super_method_invocation.dart
index eae71c0..39ee9b8 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation.dart
+++ b/pkg/front_end/testcases/inference/super_method_invocation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_method_invocation.dart.hierarchy.expect
deleted file mode 100644
index 8d4308a..0000000
--- a/pkg/front_end/testcases/inference/super_method_invocation.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    D.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_method_invocation.dart.textual_outline.expect
index 705378f..29cd1d8 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_method_invocation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_method_invocation.dart.textual_outline_modelled.expect
index 705378f..29cd1d8 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_method_invocation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.strong.expect b/pkg/front_end/testcases/inference/super_method_invocation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_method_invocation.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_method_invocation.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.outline.expect b/pkg/front_end/testcases/inference/super_method_invocation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_method_invocation.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_method_invocation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_method_invocation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_method_invocation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_method_invocation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart
index 4edb1b7..4f06f3a 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart
+++ b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.hierarchy.expect
deleted file mode 100644
index 3f44585..0000000
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.hierarchy.expect
+++ /dev/null
@@ -1,92 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> D<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B<Future<U>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.h
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.textual_outline.expect
index d1bf59d..39ee085 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.textual_outline_modelled.expect
index 276cc12..24b0f1f 100644
--- a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.strong.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_method_invocation_substitution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart b/pkg/front_end/testcases/inference/super_property_get.dart
index db32690..e49d278 100644
--- a/pkg/front_end/testcases/inference/super_property_get.dart
+++ b/pkg/front_end/testcases/inference/super_property_get.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_property_get.dart.hierarchy.expect
deleted file mode 100644
index cb03014..0000000
--- a/pkg/front_end/testcases/inference/super_property_get.dart.hierarchy.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    D.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_property_get.dart.textual_outline.expect
index e878396..e7b5570 100644
--- a/pkg/front_end/testcases/inference/super_property_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_property_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_property_get.dart.textual_outline_modelled.expect
index e878396..e7b5570 100644
--- a/pkg/front_end/testcases/inference/super_property_get.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_property_get.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart.strong.expect b/pkg/front_end/testcases/inference/super_property_get.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_property_get.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_get.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_property_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_property_get.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_property_get.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart
index 6c10e63..ea4f783 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.hierarchy.expect
deleted file mode 100644
index c9f8b8c..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.hierarchy.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.f
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    D.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.f
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.textual_outline.expect
index 7d71a90..368ca1c 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.textual_outline_modelled.expect
index 7d71a90..368ca1c 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.strong.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_property_get_invoke_function_typed.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart
index 6b478bc..8ba71ce 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.hierarchy.expect
deleted file mode 100644
index 2fcbd94..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.hierarchy.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-CallableClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    CallableClass.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.f
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    D.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.f
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.textual_outline.expect
index f9b1f9f..272f197 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class CallableClass {
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.textual_outline_modelled.expect
index 4764b64..6788ddb 100644
--- a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.strong.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_property_get_invoke_implicit_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart b/pkg/front_end/testcases/inference/super_property_get_substitution.dart
index ee71262..820d642 100644
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart
+++ b/pkg/front_end/testcases/inference/super_property_get_substitution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.hierarchy.expect
deleted file mode 100644
index dc64786..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.hierarchy.expect
+++ /dev/null
@@ -1,94 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> D<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-C:
-  superclasses:
-    Object
-      -> B<Future<U>>
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.textual_outline.expect
index fd7f136..7ba44c9 100644
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.textual_outline_modelled.expect
index 1082016..21b91de 100644
--- a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.strong.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_substitution.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_property_get_substitution.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_substitution.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_property_get_substitution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_substitution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_substitution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_property_get_substitution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart
index 89ba585..1a62bf6 100644
--- a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart
+++ b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.hierarchy.expect
deleted file mode 100644
index 8d4308a..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    D.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.outline.expect
deleted file mode 100644
index 27ee2c0..0000000
--- a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.outline.expect
+++ /dev/null
@@ -1,28 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  method f() → core::int*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    ;
-  method g() → void
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.textual_outline.expect
index 705378f..29cd1d8 100644
--- a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.textual_outline_modelled.expect
index 705378f..29cd1d8 100644
--- a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.strong.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_tearoff.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_property_get_tearoff.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_method_invocation.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/super_method_invocation.dart.outline.expect
copy to pkg/front_end/testcases/inference/super_property_get_tearoff.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_property_get_tearoff.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_get_tearoff.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_property_get_tearoff.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart b/pkg/front_end/testcases/inference/super_property_set_substitution.dart
index 413ff6e..32fb252 100644
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart
+++ b/pkg/front_end/testcases/inference/super_property_set_substitution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.hierarchy.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.hierarchy.expect
deleted file mode 100644
index dc64786..0000000
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.hierarchy.expect
+++ /dev/null
@@ -1,94 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> D<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-C:
-  superclasses:
-    Object
-      -> B<Future<U>>
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.textual_outline.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.textual_outline.expect
index 52e795a..2dccd93 100644
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.textual_outline_modelled.expect
index 45e3806..a6e272f 100644
--- a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.strong.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_set_substitution.dart.strong.expect
rename to pkg/front_end/testcases/inference/super_property_set_substitution.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.outline.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_set_substitution.dart.outline.expect
rename to pkg/front_end/testcases/inference/super_property_set_substitution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/super_property_set_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/super_property_set_substitution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/super_property_set_substitution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/super_property_set_substitution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart b/pkg/front_end/testcases/inference/switch_continue.dart
index 2ee10f6..30f84bc 100644
--- a/pkg/front_end/testcases/inference/switch_continue.dart
+++ b/pkg/front_end/testcases/inference/switch_continue.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.textual_outline.expect b/pkg/front_end/testcases/inference/switch_continue.dart.textual_outline.expect
index de6340a..05c56c1 100644
--- a/pkg/front_end/testcases/inference/switch_continue.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/switch_continue.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test(int x, void f()) {}
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/switch_continue.dart.textual_outline_modelled.expect
index 3712403..570eb3d 100644
--- a/pkg/front_end/testcases/inference/switch_continue.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/switch_continue.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.strong.expect b/pkg/front_end/testcases/inference/switch_continue.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/switch_continue.dart.strong.expect
rename to pkg/front_end/testcases/inference/switch_continue.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.outline.expect b/pkg/front_end/testcases/inference/switch_continue.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/switch_continue.dart.outline.expect
rename to pkg/front_end/testcases/inference/switch_continue.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/switch_continue.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/switch_continue.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/switch_continue.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/switch_continue.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/symbol_literal.dart b/pkg/front_end/testcases/inference/symbol_literal.dart
index 3d30fef..f5a5d24 100644
--- a/pkg/front_end/testcases/inference/symbol_literal.dart
+++ b/pkg/front_end/testcases/inference/symbol_literal.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/symbol_literal.dart.outline.expect b/pkg/front_end/testcases/inference/symbol_literal.dart.outline.expect
deleted file mode 100644
index c74ce2b..0000000
--- a/pkg/front_end/testcases/inference/symbol_literal.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/symbol_literal.dart.textual_outline.expect b/pkg/front_end/testcases/inference/symbol_literal.dart.textual_outline.expect
index a6bcf94..dfdb7cb 100644
--- a/pkg/front_end/testcases/inference/symbol_literal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/symbol_literal.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test() {}
diff --git a/pkg/front_end/testcases/inference/symbol_literal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/symbol_literal.dart.textual_outline_modelled.expect
index 72a3ba0..7d0b674 100644
--- a/pkg/front_end/testcases/inference/symbol_literal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/symbol_literal.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/symbol_literal.dart.strong.expect b/pkg/front_end/testcases/inference/symbol_literal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/symbol_literal.dart.strong.expect
rename to pkg/front_end/testcases/inference/symbol_literal.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/bug31133.dart.outline.expect b/pkg/front_end/testcases/inference/symbol_literal.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/bug31133.dart.outline.expect
copy to pkg/front_end/testcases/inference/symbol_literal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/symbol_literal.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/symbol_literal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/symbol_literal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/symbol_literal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/this_reference.dart b/pkg/front_end/testcases/inference/this_reference.dart
index 6e380dd..1d6bc7e 100644
--- a/pkg/front_end/testcases/inference/this_reference.dart
+++ b/pkg/front_end/testcases/inference/this_reference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/this_reference.dart.hierarchy.expect b/pkg/front_end/testcases/inference/this_reference.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/this_reference.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/this_reference.dart.textual_outline.expect b/pkg/front_end/testcases/inference/this_reference.dart.textual_outline.expect
index c213951..131af67 100644
--- a/pkg/front_end/testcases/inference/this_reference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/this_reference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/this_reference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/this_reference.dart.textual_outline_modelled.expect
index c213951..131af67 100644
--- a/pkg/front_end/testcases/inference/this_reference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/this_reference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/this_reference.dart.strong.expect b/pkg/front_end/testcases/inference/this_reference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/this_reference.dart.strong.expect
rename to pkg/front_end/testcases/inference/this_reference.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/this_reference.dart.outline.expect b/pkg/front_end/testcases/inference/this_reference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/this_reference.dart.outline.expect
rename to pkg/front_end/testcases/inference/this_reference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/this_reference.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/this_reference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/this_reference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/this_reference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart
index 9014345..e6392ab 100644
--- a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart
+++ b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.textual_outline.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.textual_outline.expect
index 505dfb3..2d532f1 100644
--- a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.textual_outline_modelled.expect
index 1047aa8..4880a9f 100644
--- a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.strong.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/top_level_return_and_yield.dart.strong.expect
rename to pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.outline.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/top_level_return_and_yield.dart.outline.expect
rename to pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/top_level_return_and_yield.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/top_level_return_and_yield.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart
index acbfe65..ba895ed 100644
--- a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart
+++ b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.textual_outline.expect b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.textual_outline.expect
index 8a7c345..0dfdb8d 100644
--- a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var i = 0;
diff --git a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.textual_outline_modelled.expect
index 13c449d..65505f3 100644
--- a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.strong.expect b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.strong.expect
rename to pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.outline.expect b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.outline.expect
rename to pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/toplevel_inference_toplevel_var.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/try_catch.dart b/pkg/front_end/testcases/inference/try_catch.dart
index 7b275ab..383b979 100644
--- a/pkg/front_end/testcases/inference/try_catch.dart
+++ b/pkg/front_end/testcases/inference/try_catch.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.hierarchy.expect b/pkg/front_end/testcases/inference/try_catch.dart.hierarchy.expect
deleted file mode 100644
index 525f424..0000000
--- a/pkg/front_end/testcases/inference/try_catch.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.textual_outline.expect b/pkg/front_end/testcases/inference/try_catch.dart.textual_outline.expect
index e8f8435..3b9581f 100644
--- a/pkg/front_end/testcases/inference/try_catch.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/try_catch.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {}
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/try_catch.dart.textual_outline_modelled.expect
index 19f476f..c8e93cd 100644
--- a/pkg/front_end/testcases/inference/try_catch.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/try_catch.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {}
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.strong.expect b/pkg/front_end/testcases/inference/try_catch.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_catch.dart.strong.expect
rename to pkg/front_end/testcases/inference/try_catch.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.outline.expect b/pkg/front_end/testcases/inference/try_catch.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_catch.dart.outline.expect
rename to pkg/front_end/testcases/inference/try_catch.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/try_catch.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_catch.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/try_catch.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart b/pkg/front_end/testcases/inference/try_catch_finally.dart
index 5011e4f..df54b68 100644
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart
+++ b/pkg/front_end/testcases/inference/try_catch_finally.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.hierarchy.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.hierarchy.expect
deleted file mode 100644
index 525f424..0000000
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.outline.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.outline.expect
deleted file mode 100644
index bf05fd8..0000000
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart.outline.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method test(() →* void f) → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.textual_outline.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.textual_outline.expect
index e8f8435..3b9581f 100644
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/try_catch_finally.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {}
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.textual_outline_modelled.expect
index 19f476f..c8e93cd 100644
--- a/pkg/front_end/testcases/inference/try_catch_finally.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/try_catch_finally.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {}
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.strong.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_catch_finally.dart.strong.expect
rename to pkg/front_end/testcases/inference/try_catch_finally.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/try_catch.dart.outline.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/try_catch.dart.outline.expect
copy to pkg/front_end/testcases/inference/try_catch_finally.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/try_catch_finally.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/try_catch_finally.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_catch_finally.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/try_catch_finally.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart b/pkg/front_end/testcases/inference/try_catch_promotion.dart
index 7de2fde..c6f6a1a 100644
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart
+++ b/pkg/front_end/testcases/inference/try_catch_promotion.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.hierarchy.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.hierarchy.expect
deleted file mode 100644
index 3a8a7d9..0000000
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart.hierarchy.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-StackTrace:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    StackTrace.Object.toString%StackTrace.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    StackTrace.current
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> StackTrace
-  interfaces:
-  classMembers:
-    StackTrace.Object.toString%StackTrace.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.textual_outline.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.textual_outline.expect
index a9c0032..6543046 100644
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/try_catch_promotion.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {}
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.textual_outline_modelled.expect
index 595703f..ab3f6f6 100644
--- a/pkg/front_end/testcases/inference/try_catch_promotion.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/try_catch_promotion.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {}
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.strong.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_catch_promotion.dart.strong.expect
rename to pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.outline.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_catch_promotion.dart.outline.expect
rename to pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/try_catch_promotion.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_catch_promotion.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/try_catch_promotion.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/try_finally.dart b/pkg/front_end/testcases/inference/try_finally.dart
index ecb45c3..86f84bd 100644
--- a/pkg/front_end/testcases/inference/try_finally.dart
+++ b/pkg/front_end/testcases/inference/try_finally.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.textual_outline.expect b/pkg/front_end/testcases/inference/try_finally.dart.textual_outline.expect
index 4323848..87274b7 100644
--- a/pkg/front_end/testcases/inference/try_finally.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/try_finally.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void test(void f()) {}
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/try_finally.dart.textual_outline_modelled.expect
index 6847854..b971a45 100644
--- a/pkg/front_end/testcases/inference/try_finally.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/try_finally.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.strong.expect b/pkg/front_end/testcases/inference/try_finally.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_finally.dart.strong.expect
rename to pkg/front_end/testcases/inference/try_finally.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.outline.expect b/pkg/front_end/testcases/inference/try_finally.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_finally.dart.outline.expect
rename to pkg/front_end/testcases/inference/try_finally.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/try_finally.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/try_finally.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/try_finally.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/try_finally.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/type_cast.dart b/pkg/front_end/testcases/inference/type_cast.dart
index 03286bd..65172d7 100644
--- a/pkg/front_end/testcases/inference/type_cast.dart
+++ b/pkg/front_end/testcases/inference/type_cast.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/type_cast.dart.hierarchy.expect b/pkg/front_end/testcases/inference/type_cast.dart.hierarchy.expect
deleted file mode 100644
index dfd3e72..0000000
--- a/pkg/front_end/testcases/inference/type_cast.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/type_cast.dart.textual_outline.expect b/pkg/front_end/testcases/inference/type_cast.dart.textual_outline.expect
index eccaf58..c8bac54 100644
--- a/pkg/front_end/testcases/inference/type_cast.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/type_cast.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/inference/type_cast.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/type_cast.dart.textual_outline_modelled.expect
index 5483162..a1a2462 100644
--- a/pkg/front_end/testcases/inference/type_cast.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/type_cast.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 A<num> a = new B<int>();
diff --git a/pkg/front_end/testcases/inference/type_cast.dart.strong.expect b/pkg/front_end/testcases/inference/type_cast.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_cast.dart.strong.expect
rename to pkg/front_end/testcases/inference/type_cast.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/type_cast.dart.outline.expect b/pkg/front_end/testcases/inference/type_cast.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_cast.dart.outline.expect
rename to pkg/front_end/testcases/inference/type_cast.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/type_cast.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/type_cast.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_cast.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/type_cast.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart
index b0d9f63..e2b7d13 100644
--- a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart
+++ b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.textual_outline.expect b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.textual_outline.expect
index 0c1f1fe..4e783a6 100644
--- a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef int FunctionReturningInt();
diff --git a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.textual_outline_modelled.expect
index 350cc2e..11a4246 100644
--- a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.strong.expect b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.strong.expect
rename to pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.outline.expect
rename to pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/type_promotion_ignores_local_functions.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart
index 69484a1..b8f5425 100644
--- a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart
+++ b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.textual_outline.expect b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.textual_outline.expect
index 0970cc2..4043d76 100644
--- a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void f(Object x) {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.textual_outline_modelled.expect
index e9a9e8c..730f38b 100644
--- a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.strong.expect b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.strong.expect
rename to pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.outline.expect
rename to pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/type_promotion_not_and_not.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_simple.dart b/pkg/front_end/testcases/inference/type_promotion_simple.dart
index a499a0f..c5c3a3f 100644
--- a/pkg/front_end/testcases/inference/type_promotion_simple.dart
+++ b/pkg/front_end/testcases/inference/type_promotion_simple.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/type_promotion_simple.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_simple.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_simple.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/type_promotion_simple.dart.textual_outline.expect b/pkg/front_end/testcases/inference/type_promotion_simple.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/type_promotion_simple.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_simple.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_simple.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/type_promotion_simple.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/type_promotion_simple.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_simple.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_simple.dart.strong.expect b/pkg/front_end/testcases/inference/type_promotion_simple.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_simple.dart.strong.expect
rename to pkg/front_end/testcases/inference/type_promotion_simple.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/complex_predecrement.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_simple.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/complex_predecrement.dart.outline.expect
copy to pkg/front_end/testcases/inference/type_promotion_simple.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_simple.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_simple.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_simple.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/type_promotion_simple.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart
index fab3f55..48dd5f7 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.textual_outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.strong.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.strong.expect
rename to pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/type_promotion_stopped_by_access_in_a_closure.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart
index 3e540b0..aa596ba 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.textual_outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.strong.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.strong.expect
rename to pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/type_promotion_stopped_by_assignment_in_scope.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart
index ee7c1e7..003e763 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.textual_outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.strong.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.strong.expect
rename to pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/type_promotion_stopped_by_mutation_in_a_closure.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart b/pkg/front_end/testcases/inference/unresolved_super.dart
index fc14162..ef5108d 100644
--- a/pkg/front_end/testcases/inference/unresolved_super.dart
+++ b/pkg/front_end/testcases/inference/unresolved_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unresolved_super.dart.hierarchy.expect
deleted file mode 100644
index b628c46..0000000
--- a/pkg/front_end/testcases/inference/unresolved_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unresolved_super.dart.textual_outline.expect
index 46441e1..1d34480 100644
--- a/pkg/front_end/testcases/inference/unresolved_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unresolved_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unresolved_super.dart.textual_outline_modelled.expect
index 46441e1..1d34480 100644
--- a/pkg/front_end/testcases/inference/unresolved_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unresolved_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart.strong.expect b/pkg/front_end/testcases/inference/unresolved_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unresolved_super.dart.strong.expect
rename to pkg/front_end/testcases/inference/unresolved_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart.outline.expect b/pkg/front_end/testcases/inference/unresolved_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unresolved_super.dart.outline.expect
rename to pkg/front_end/testcases/inference/unresolved_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unresolved_super.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unresolved_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unresolved_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unresolved_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart
index 0889da1..fc2146f 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_closure_call.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart
index 2a7989f..5272cf0 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.textual_outline.expect
index 94fe6c8..ba4ca77 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
index faaeac6..c607d85 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_dynamic_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart
index 1095908..cd18e11 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.textual_outline.expect
index 045c2e8..bc6481e 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.textual_outline_modelled.expect
index 7917d91..c66d6cd 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_explicit_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart
index 0d6ecc9..115db3d 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.textual_outline.expect
index db10511..59da5f7 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.textual_outline_modelled.expect
index db10511..59da5f7 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_implicit_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart
index 3162d6e..6204139 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.textual_outline.expect
index 77314e89..368cf47 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.textual_outline_modelled.expect
index b916948..fceca5d 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_constructor_call_no_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart
index 84a2dab..f537045 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.textual_outline.expect
index 5426b5f..499d54d 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
index aed6c69..d50e9b0 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart
index 4bcd55c..93a9e56 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.textual_outline.expect
index d00f218..57b0e1a 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 List<T> f<T>(T g()) => <T>[g()];
 var v = (f<dynamic>)( () { return 1; });
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr1.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart
index 9251f4f..892422b 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.outline.expect
deleted file mode 100644
index 10eb51f..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::List<dynamic>* v;
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline.expect
index 6fabe27..2951359 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline_modelled.expect
index 99e882a..9a94d46 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart
index 984855b..a48b88a 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.textual_outline.expect
index 3146638..5dc8569 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.textual_outline_modelled.expect
index df8a26a..9f8e2c4 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart
index 03149d0..b147aac 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.textual_outline.expect
index c6a8269..8194b88 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 List<T> f<T>(T g()) => <T>[g()];
 var v = (f<int>)( () { return 1; });
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr1.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart
index 68f419a..fc14e3f 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.outline.expect
deleted file mode 100644
index f0dd2fa..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::List<core::int*>* v;
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline.expect
index c7bca42..fdae43a 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline_modelled.expect
index f634c6a..2030c1c 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart
index 85894dd..16c6bc1 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.textual_outline.expect
index 6104397..fa051c0 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.textual_outline_modelled.expect
index 158c522b4..700c8e7 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart
index af180d9..2554307 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.outline.expect
deleted file mode 100644
index c7133df..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.outline.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  ;
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.textual_outline.expect
index 6104397..fa051c0 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.textual_outline_modelled.expect
index 158c522b4..700c8e7 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_implicit_type_param_via_expr.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart
index 8e60cdf..7883008 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.textual_outline.expect
index a0e3c88..e0493db 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.textual_outline_modelled.expect
index 3fe047c..c755492 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 double f(x) => 1.0;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart
index 11233ef..36586e3 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.outline.expect
deleted file mode 100644
index 8c0f7c6..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.outline.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  ;
-static method f(dynamic x) → core::double*
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.textual_outline.expect
index a0e3c88..e0493db 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.textual_outline_modelled.expect
index 3fe047c..c755492 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 double f(x) => 1.0;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_function_call_no_type_param_via_expr.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart
index 4fa88e7..e6f2e9b 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_dynamic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart
index e590625..4ec0a0f 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.textual_outline.expect
index 0286208..5728c6e 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef int F();
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.textual_outline_modelled.expect
index 226c034..bf4a154 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart
index 9200f16..e6728f8 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_untyped.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart
index 19ede98..c906a26 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_dynamic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart
index 27a7b57..a03d5a2 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.outline.expect
deleted file mode 100644
index 87c776d..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F = () →* core::int*;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.textual_outline.expect
index 0286208..5728c6e 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef int F();
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.textual_outline_modelled.expect
index 226c034..bf4a154 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_list_typed.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_typed.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart
index e3d5bc9..3e1b166 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/block_bodied_lambdas_infer_bottom_sync_star.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_in_map_untyped.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart
index a365728..fd6da7d 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.textual_outline.expect
index 8f9363d..e9cccc5 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
index 8f9363d..e9cccc5 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart
index 81d2ea3..5498474 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.outline.expect
deleted file mode 100644
index f43450a..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.outline.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*
-    ;
-  method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.textual_outline.expect
index 8f9363d..e9cccc5 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.textual_outline_modelled.expect
index 8f9363d..e9cccc5 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart
index e107471..8a4e5b5 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.outline.expect
deleted file mode 100644
index f43450a..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.outline.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*
-    ;
-  method f<T extends core::Object* = dynamic>(() →* self::C::f::T* g) → core::List<self::C::f::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.strong.expect
deleted file mode 100644
index 9921b26..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.strong.expect
+++ /dev/null
@@ -1,26 +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()];
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {
-  core::List<core::int*>* v = new self::C::•().{self::C::f}<core::int*>(() → core::int* {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.strong.transformed.expect
deleted file mode 100644
index c33bf91..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.strong.transformed.expect
+++ /dev/null
@@ -1,26 +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 core::_GrowableList::_literal1<self::C::f::T*>(g.call());
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {
-  core::List<core::int*>* v = new self::C::•().{self::C::f}<core::int*>(() → core::int* {
-    return 1;
-  });
-}
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.textual_outline.expect
index 8f9363d..e9cccc5 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.textual_outline_modelled.expect
index 8f9363d..e9cccc5 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.strong.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_dynamic_param.dart.outline.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.transformed.expect
similarity index 100%
copy from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_explicit_type_param.dart.strong.transformed.expect
copy to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_implicit_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart
index 8704e7a4..d181997 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.hierarchy.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.textual_outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.textual_outline.expect
index 5dfe4b0..f0e0382 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.textual_outline_modelled.expect
index 470fb87..5b98a79 100644
--- a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.strong.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.strong.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.outline.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.outline.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/unsafe_block_closure_inference_method_call_no_type_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart
index 4e334ed..74553aa 100644
--- a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart
+++ b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.textual_outline.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.textual_outline.expect
index ffe2084..4aa6634 100644
--- a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T run<T>(T f()) {}
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.textual_outline_modelled.expect
index 65a862b..f9a03c5 100644
--- a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T run<T>(T f()) {}
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.strong.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.strong.expect
rename to pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.outline.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.outline.expect
rename to pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart b/pkg/front_end/testcases/inference_new/const_invocation.dart
index 2bb0320..60eb30c 100644
--- a/pkg/front_end/testcases/inference_new/const_invocation.dart
+++ b/pkg/front_end/testcases/inference_new/const_invocation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/const_invocation.dart.hierarchy.expect
deleted file mode 100644
index 052819e..0000000
--- a/pkg/front_end/testcases/inference_new/const_invocation.dart.hierarchy.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.v4
-    Foo.v7
-    Object.toString
-    Foo.v3
-    Object.runtimeType
-    Foo.v6
-    Object._simpleInstanceOf
-    Foo.v9
-    Foo.v2
-    Object._instanceOf
-    Foo.v5
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.v1
-    Object._simpleInstanceOfFalse
-    Foo.v8
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart.legacy.expect b/pkg/front_end/testcases/inference_new/const_invocation.dart.legacy.expect
deleted file mode 100644
index db8a4a8..0000000
--- a/pkg/front_end/testcases/inference_new/const_invocation.dart.legacy.expect
+++ /dev/null
@@ -1,40 +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 #C1;
-  get v2() → self::Bar<core::List<self::Foo::T*>*>*
-    return #C1;
-  get v3() → self::Bar<(self::Foo::T*) →* self::Foo::T*>*
-    return #C1;
-  get v4() → self::Bar<((self::Foo::T*) →* self::Foo::T*) →* self::Foo::T*>*
-    return #C1;
-  get v5() → core::List<self::Foo::T*>*
-    return #C2;
-  get v6() → core::List<(self::Foo::T*) →* self::Foo::T*>*
-    return #C2;
-  get v7() → core::Map<self::Foo::T*, self::Foo::T*>*
-    return #C3;
-  get v8() → core::Map<(self::Foo::T*) →* self::Foo::T*, self::Foo::T*>*
-    return #C3;
-  get v9() → core::Map<self::Foo::T*, (self::Foo::T*) →* self::Foo::T*>*
-    return #C3;
-}
-class Bar<T extends core::Object* = dynamic> extends core::Object {
-  const constructor •() → self::Bar<self::Bar::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Bar<dynamic> {}
-  #C2 = <dynamic>[]
-  #C3 = core::_ImmutableMap<dynamic, dynamic> {_kvPairs:#C2}
-}
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/const_invocation.dart.legacy.transformed.expect
deleted file mode 100644
index db8a4a8..0000000
--- a/pkg/front_end/testcases/inference_new/const_invocation.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,40 +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 #C1;
-  get v2() → self::Bar<core::List<self::Foo::T*>*>*
-    return #C1;
-  get v3() → self::Bar<(self::Foo::T*) →* self::Foo::T*>*
-    return #C1;
-  get v4() → self::Bar<((self::Foo::T*) →* self::Foo::T*) →* self::Foo::T*>*
-    return #C1;
-  get v5() → core::List<self::Foo::T*>*
-    return #C2;
-  get v6() → core::List<(self::Foo::T*) →* self::Foo::T*>*
-    return #C2;
-  get v7() → core::Map<self::Foo::T*, self::Foo::T*>*
-    return #C3;
-  get v8() → core::Map<(self::Foo::T*) →* self::Foo::T*, self::Foo::T*>*
-    return #C3;
-  get v9() → core::Map<self::Foo::T*, (self::Foo::T*) →* self::Foo::T*>*
-    return #C3;
-}
-class Bar<T extends core::Object* = dynamic> extends core::Object {
-  const constructor •() → self::Bar<self::Bar::T*>*
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::Bar<dynamic> {}
-  #C2 = <dynamic>[]
-  #C3 = core::_ImmutableMap<dynamic, dynamic> {_kvPairs:#C2}
-}
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/const_invocation.dart.textual_outline.expect
index e44b24c..1d0b2c9 100644
--- a/pkg/front_end/testcases/inference_new/const_invocation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/const_invocation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef V F<U, V>(U u);
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/const_invocation.dart.textual_outline_modelled.expect
index ebcecde..ea29fd1 100644
--- a/pkg/front_end/testcases/inference_new/const_invocation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/const_invocation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Bar<T> {
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart.strong.expect b/pkg/front_end/testcases/inference_new/const_invocation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/const_invocation.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/const_invocation.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart.outline.expect b/pkg/front_end/testcases/inference_new/const_invocation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/const_invocation.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/const_invocation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/const_invocation.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/const_invocation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/const_invocation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/const_invocation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart
index 3f1a4c8..d00bc67 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.hierarchy.expect
deleted file mode 100644
index 295e36b..0000000
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.legacy.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.legacy.expect
deleted file mode 100644
index 3140105..0000000
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.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::•()
-    ;
-  method f<T extends core::Object* = dynamic>(self::A::f::T* t) → self::A::f::T*
-    return t;
-  method g(dynamic i) → core::int*
-    return 0;
-}
-static field dynamic a = new self::A::•();
-static field dynamic b = () → dynamic => self::a.f(self::c);
-static field dynamic c = () → dynamic => self::a.f(self::b);
-static field dynamic d = () → dynamic => self::a.f(self::e);
-static field dynamic e = () → dynamic => self::a.g(self::d);
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.legacy.transformed.expect
deleted file mode 100644
index 3140105..0000000
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.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::•()
-    ;
-  method f<T extends core::Object* = dynamic>(self::A::f::T* t) → self::A::f::T*
-    return t;
-  method g(dynamic i) → core::int*
-    return 0;
-}
-static field dynamic a = new self::A::•();
-static field dynamic b = () → dynamic => self::a.f(self::c);
-static field dynamic c = () → dynamic => self::a.f(self::b);
-static field dynamic d = () → dynamic => self::a.f(self::e);
-static field dynamic e = () → dynamic => self::a.g(self::d);
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.textual_outline.expect
index 05229f3..eb20bc7 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.textual_outline_modelled.expect
index 0f55a46..e25465f 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.outline.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/dependency_only_if_generic_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart
index 747cb3f..11dc14d 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.legacy.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.legacy.expect
deleted file mode 100644
index ec6e18b..0000000
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.legacy.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::int* intValue = 0;
-static field core::num* numValue = 0;
-static field core::double* doubleValue = 0.0;
-static field dynamic a = () → dynamic => self::intValue.+(self::b);
-static field dynamic b = self::a.call();
-static field dynamic c = () → dynamic => self::numValue.+(self::d);
-static field dynamic d = self::c.call();
-static field dynamic e = () → dynamic => self::doubleValue.+(self::f);
-static field dynamic f = self::e.call();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.legacy.transformed.expect
deleted file mode 100644
index ec6e18b..0000000
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::int* intValue = 0;
-static field core::num* numValue = 0;
-static field core::double* doubleValue = 0.0;
-static field dynamic a = () → dynamic => self::intValue.+(self::b);
-static field dynamic b = self::a.call();
-static field dynamic c = () → dynamic => self::numValue.+(self::d);
-static field dynamic d = self::c.call();
-static field dynamic e = () → dynamic => self::doubleValue.+(self::f);
-static field dynamic f = self::e.call();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.textual_outline.expect
index db69969..381ac89 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int intValue = 0;
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.textual_outline_modelled.expect
index 5009f27..d6dd90a 100644
--- a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 double doubleValue = 0.0;
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.strong.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.outline.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/dependency_only_if_overloaded.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart b/pkg/front_end/testcases/inference_new/do_loop.dart
index 15ef51f..db7e93c 100644
--- a/pkg/front_end/testcases/inference_new/do_loop.dart
+++ b/pkg/front_end/testcases/inference_new/do_loop.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart.legacy.expect b/pkg/front_end/testcases/inference_new/do_loop.dart.legacy.expect
deleted file mode 100644
index 5f6bb54..0000000
--- a/pkg/front_end/testcases/inference_new/do_loop.dart.legacy.expect
+++ /dev/null
@@ -1,13 +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 {
-  do {
-    dynamic x = 0;
-  }
-  while (self::f<dynamic>())
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/do_loop.dart.legacy.transformed.expect
deleted file mode 100644
index 5f6bb54..0000000
--- a/pkg/front_end/testcases/inference_new/do_loop.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +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 {
-  do {
-    dynamic x = 0;
-  }
-  while (self::f<dynamic>())
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/do_loop.dart.textual_outline.expect
index cdb201d..c1725cf 100644
--- a/pkg/front_end/testcases/inference_new/do_loop.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/do_loop.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/do_loop.dart.textual_outline_modelled.expect
index b66d908..f75a9d3 100644
--- a/pkg/front_end/testcases/inference_new/do_loop.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/do_loop.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart.strong.expect b/pkg/front_end/testcases/inference_new/do_loop.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/do_loop.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/do_loop.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart.outline.expect b/pkg/front_end/testcases/inference_new/do_loop.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/do_loop.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/do_loop.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/do_loop.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/do_loop.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/do_loop.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart
index 41cdc4e..98279be 100644
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart
+++ b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.hierarchy.expect
deleted file mode 100644
index 69ec6ad..0000000
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.b
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.legacy.expect
deleted file mode 100644
index ae4e6d2..0000000
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.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 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 t3 = <dynamic>[new self::B::•<dynamic>(3)];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index ae4e6d2..0000000
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.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 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 t3 = <dynamic>[new self::B::•<dynamic>(3)];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.textual_outline.expect
index d781f4d..c50a4eb 100644
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.textual_outline_modelled.expect
index 56d49b4..a4eb367 100644
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.strong.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.outline.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart
index ef47b2e..a533b3b 100644
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart
+++ b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.legacy.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.legacy.expect
deleted file mode 100644
index f4b450c..0000000
--- a/pkg/front_end/testcases/inference_new/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 t2 = <dynamic>[new self::A::•<dynamic>(2)];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.legacy.transformed.expect
deleted file mode 100644
index f4b450c..0000000
--- a/pkg/front_end/testcases/inference_new/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 t2 = <dynamic>[new self::A::•<dynamic>(2)];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.textual_outline.expect
index c5e4a4c..2f86ee7 100644
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.textual_outline_modelled.expect
index 4da7ccb..471fb75 100644
--- a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A<T> {
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.strong.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.outline.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/downwards_inference_inside_top_level_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart
index c5280e5..7b0ea41 100644
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart
+++ b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.hierarchy.expect
deleted file mode 100644
index 451a9dd..0000000
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.hierarchy.expect
+++ /dev/null
@@ -1,62 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-    B.x
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.legacy.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.legacy.expect
deleted file mode 100644
index 4e2e3ff..0000000
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.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 {
-  field dynamic x = () → dynamic => new self::B::•().x;
-  field dynamic y = () → dynamic => new self::B::•().x;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  field dynamic x = null;
-  field dynamic y = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.legacy.transformed.expect
deleted file mode 100644
index 4e2e3ff..0000000
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.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 {
-  field dynamic x = () → dynamic => new self::B::•().x;
-  field dynamic y = () → dynamic => new self::B::•().x;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends self::A {
-  field dynamic x = null;
-  field dynamic y = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.textual_outline.expect
index fa0576a..183d7ba 100644
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.textual_outline_modelled.expect
index fa0576a..183d7ba 100644
--- a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.outline.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/field_inference_circularity.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/field_inference_circularity.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/field_inference_circularity.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/folder.options b/pkg/front_end/testcases/inference_new/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/inference_new/folder.options
+++ b/pkg/front_end/testcases/inference_new/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart
index ec76db0..67ad57a 100644
--- a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart
+++ b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.hierarchy.expect
deleted file mode 100644
index 4faaf13..0000000
--- a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.aField
-    C.test
-  classSetters:
-    C.aSetter
-    C.aField
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.legacy.expect
deleted file mode 100644
index f805b67..0000000
--- a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.legacy.expect
+++ /dev/null
@@ -1,39 +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 C extends core::Object {
-  field self::A* aField = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set aSetter(self::A* value) → void {}
-  method test() → void {
-    self::A* aLocal;
-    for (final dynamic #t1 in self::f<dynamic>()) {
-      aLocal = #t1;
-    }
-    for (final dynamic #t2 in self::f<dynamic>()) {
-      this.{self::C::aField} = #t2;
-    }
-    for (final dynamic #t3 in self::f<dynamic>()) {
-      this.{self::C::aSetter} = #t3;
-    }
-    for (final dynamic #t4 in self::f<dynamic>()) {
-      self::aTopLevel = #t4;
-    }
-    for (final dynamic #t5 in self::f<dynamic>()) {
-      self::aTopLevelSetter = #t5;
-    }
-  }
-}
-static field self::A* aTopLevel;
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static set aTopLevelSetter(self::A* value) → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.legacy.transformed.expect
deleted file mode 100644
index f805b67..0000000
--- a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,39 +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 C extends core::Object {
-  field self::A* aField = null;
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  set aSetter(self::A* value) → void {}
-  method test() → void {
-    self::A* aLocal;
-    for (final dynamic #t1 in self::f<dynamic>()) {
-      aLocal = #t1;
-    }
-    for (final dynamic #t2 in self::f<dynamic>()) {
-      this.{self::C::aField} = #t2;
-    }
-    for (final dynamic #t3 in self::f<dynamic>()) {
-      this.{self::C::aSetter} = #t3;
-    }
-    for (final dynamic #t4 in self::f<dynamic>()) {
-      self::aTopLevel = #t4;
-    }
-    for (final dynamic #t5 in self::f<dynamic>()) {
-      self::aTopLevelSetter = #t5;
-    }
-  }
-}
-static field self::A* aTopLevel;
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static set aTopLevelSetter(self::A* value) → void {}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.textual_outline.expect
index 81dec4b..374f323 100644
--- a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.textual_outline_modelled.expect
index 492e0aa..321922a 100644
--- a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 A aTopLevel;
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/for_each_identifier_downwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart
index 29a09fd..8b49117 100644
--- a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart
+++ b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.legacy.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.legacy.expect
deleted file mode 100644
index 6076483..0000000
--- a/pkg/front_end/testcases/inference_new/for_each_invalid_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::String* s;
-  for (core::int* x in s) {
-  }
-  await for (core::int* x in s) {
-  }
-  core::int* y;
-  for (final dynamic #t1 in s) {
-    y = #t1;
-  }
-  await for (final dynamic #t2 in s) {
-    y = #t2;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.legacy.transformed.expect
deleted file mode 100644
index d45b363..0000000
--- a/pkg/front_end/testcases/inference_new/for_each_invalid_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::String* s;
-        for (core::int* x in s) {
-        }
-        {
-          dynamic :stream = s;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<core::int*>* :for-iterator = new asy::_StreamIterator::•<core::int*>(: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) {
-                core::int* 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 s) {
-          y = #t4;
-        }
-        {
-          dynamic :stream = s;
-          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_new/for_each_invalid_iterable.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.textual_outline.expect
index 178286b..5733dcf 100644
--- a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 test() async {}
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.textual_outline_modelled.expect
index 4791aa1..aa8a2f6 100644
--- a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.strong.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.outline.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/for_each_invalid_iterable.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart
index 3dc141e..6648037 100644
--- a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart
+++ b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.hierarchy.expect
deleted file mode 100644
index fe2fcf5..0000000
--- a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.legacy.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.legacy.expect
deleted file mode 100644
index c7bf1a8..0000000
--- a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.legacy.expect
+++ /dev/null
@@ -1,51 +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::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test() → dynamic async {
-  core::Iterable<self::A*>* iterable;
-  asy::Stream<self::A*>* stream;
-  self::A* a;
-  self::B* b;
-  core::int* i;
-  for (final dynamic #t1 in iterable) {
-    a = #t1;
-  }
-  await for (final dynamic #t2 in stream) {
-    a = #t2;
-  }
-  for (final dynamic #t3 in iterable) {
-    b = #t3;
-  }
-  await for (final dynamic #t4 in stream) {
-    b = #t4;
-  }
-  for (final dynamic #t5 in iterable) {
-    i = #t5;
-  }
-  await for (final dynamic #t6 in stream) {
-    i = #t6;
-  }
-  for (final dynamic #t7 in self::f<dynamic>()) {
-    a = #t7;
-  }
-  await for (final dynamic #t8 in self::f<dynamic>()) {
-    a = #t8;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.legacy.transformed.expect
deleted file mode 100644
index 5bfc930..0000000
--- a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,162 +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::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::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 {
-      #L1:
-      {
-        core::Iterable<self::A*>* iterable;
-        asy::Stream<self::A*>* stream;
-        self::A* a;
-        self::B* b;
-        core::int* i;
-        for (final dynamic #t1 in iterable) {
-          a = #t1;
-        }
-        {
-          dynamic :stream = stream;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L2:
-            while (true) {
-              dynamic #t2 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t3 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                final dynamic #t4 = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  a = #t4;
-                }
-              }
-              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;
-            }
-        }
-        for (final dynamic #t6 in iterable) {
-          b = #t6;
-        }
-        {
-          dynamic :stream = stream;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L3:
-            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) {
-                final dynamic #t9 = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  b = #t9;
-                }
-              }
-              else
-                break #L3;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(), :async_op_then, :async_op_error, :async_op) in null;
-              :result;
-            }
-        }
-        for (final dynamic #t11 in iterable) {
-          i = #t11;
-        }
-        {
-          dynamic :stream = stream;
-          asy::_asyncStarListenHelper(:stream, :async_op);
-          asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
-          try
-            #L4:
-            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};
-                {
-                  i = #t14;
-                }
-              }
-              else
-                break #L4;
-            }
-          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;
-            }
-        }
-        for (final dynamic #t16 in self::f<dynamic>()) {
-          a = #t16;
-        }
-        {
-          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 #t17 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t18 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(), :async_op_then, :async_op_error, :async_op) in null;
-              if(:result) {
-                final dynamic #t19 = :for-iterator.{asy::_StreamIterator::current};
-                {
-                  a = #t19;
-                }
-              }
-              else
-                break #L5;
-            }
-          finally
-            if(!:for-iterator.{asy::_StreamIterator::_subscription}.{core::Object::==}(null)) {
-              [yield] let dynamic #t20 = 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_new/for_each_outer_var_type.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.textual_outline.expect
index d166bc9..7f667e4 100644
--- a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.textual_outline_modelled.expect
index f55cead..0c16263 100644
--- a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.strong.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.outline.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/for_each_outer_var_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart
index 21e96f7..4e2ac28 100644
--- a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart
+++ b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.hierarchy.expect
deleted file mode 100644
index ca39dc1fc..0000000
--- a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.hierarchy.expect
+++ /dev/null
@@ -1,147 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    A.*
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    G.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    G.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.legacy.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.legacy.expect
deleted file mode 100644
index 129a637..0000000
--- a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.legacy.expect
+++ /dev/null
@@ -1,65 +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 +(core::int* value) → self::C*
-    return null;
-  operator *(self::D* value) → self::C*
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(core::int* value) → self::E*
-    return null;
-  operator *(self::F* value) → self::E*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object {
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-class G extends core::Object {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  operator [](core::int* i) → self::A*
-    return null;
-  operator []=(core::int* i, self::B* value) → void {}
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test1(self::G* g) → void {
-  let final dynamic #t1 = g in let final dynamic #t2 = 0 in #t1.[]=(#t2, #t1.[](#t2).*(self::f<dynamic>()));
-  dynamic x = let final dynamic #t3 = g in let final dynamic #t4 = 0 in let final dynamic #t5 = #t3.[](#t4).*(self::f<dynamic>()) in let final dynamic #t6 = #t3.[]=(#t4, #t5) in #t5;
-}
-static method test2(self::G* g) → void {
-  let final dynamic #t7 = g in let final dynamic #t8 = 0 in let final dynamic #t9 = #t7.[](#t8).+(1) in let final dynamic #t10 = #t7.[]=(#t8, #t9) in #t9;
-  dynamic x = let final dynamic #t11 = g in let final dynamic #t12 = 0 in let final dynamic #t13 = #t11.[](#t12).+(1) in let final dynamic #t14 = #t11.[]=(#t12, #t13) in #t13;
-}
-static method test3(self::G* g) → void {
-  let final dynamic #t15 = g in let final dynamic #t16 = 0 in #t15.[]=(#t16, #t15.[](#t16).+(1));
-  dynamic x = let final dynamic #t17 = g in let final dynamic #t18 = 0 in let final dynamic #t19 = #t17.[](#t18) in let final dynamic #t20 = #t17.[]=(#t18, #t19.+(1)) in #t19;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.legacy.transformed.expect
deleted file mode 100644
index 129a637..0000000
--- a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,65 +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 +(core::int* value) → self::C*
-    return null;
-  operator *(self::D* value) → self::C*
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(core::int* value) → self::E*
-    return null;
-  operator *(self::F* value) → self::E*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object {
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-class G extends core::Object {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  operator [](core::int* i) → self::A*
-    return null;
-  operator []=(core::int* i, self::B* value) → void {}
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test1(self::G* g) → void {
-  let final dynamic #t1 = g in let final dynamic #t2 = 0 in #t1.[]=(#t2, #t1.[](#t2).*(self::f<dynamic>()));
-  dynamic x = let final dynamic #t3 = g in let final dynamic #t4 = 0 in let final dynamic #t5 = #t3.[](#t4).*(self::f<dynamic>()) in let final dynamic #t6 = #t3.[]=(#t4, #t5) in #t5;
-}
-static method test2(self::G* g) → void {
-  let final dynamic #t7 = g in let final dynamic #t8 = 0 in let final dynamic #t9 = #t7.[](#t8).+(1) in let final dynamic #t10 = #t7.[]=(#t8, #t9) in #t9;
-  dynamic x = let final dynamic #t11 = g in let final dynamic #t12 = 0 in let final dynamic #t13 = #t11.[](#t12).+(1) in let final dynamic #t14 = #t11.[]=(#t12, #t13) in #t13;
-}
-static method test3(self::G* g) → void {
-  let final dynamic #t15 = g in let final dynamic #t16 = 0 in #t15.[]=(#t16, #t15.[](#t16).+(1));
-  dynamic x = let final dynamic #t17 = g in let final dynamic #t18 = 0 in let final dynamic #t19 = #t17.[](#t18) in let final dynamic #t20 = #t17.[]=(#t18, #t19.+(1)) in #t19;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.textual_outline.expect
index a7060ac..794e044 100644
--- a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.textual_outline_modelled.expect
index 0e78520..77bbecd 100644
--- a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.strong.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.outline.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/indexed_assign_combiner.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart
index 90e202f..22d5c37 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.hierarchy.expect
deleted file mode 100644
index 315581c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
-    Test.member
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.legacy.expect
deleted file mode 100644
index ecaa469..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.legacy.expect
+++ /dev/null
@@ -1,52 +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 v3 = this.{self::Test::member} = this.{self::Test::member}.+(self::f<dynamic>());
-    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_new/infer_assign_to_implicit_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.legacy.transformed.expect
deleted file mode 100644
index ecaa469..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,52 +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 v3 = this.{self::Test::member} = this.{self::Test::member}.+(self::f<dynamic>());
-    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_new/infer_assign_to_implicit_this.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.textual_outline.expect
index cce1286..fc944b3 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.textual_outline_modelled.expect
index fedf127..cb5ae88 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart
index d2dc509..c4cdedf 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.hierarchy.expect
deleted file mode 100644
index 03e1145..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test1.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-    Test1.t
-
-Test2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test2.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-    Test2.t
-
-Test3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test3.t
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Test3.test3
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Test3.t
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.legacy.expect
deleted file mode 100644
index d08f06b..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,63 +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 v2 = this.{self::Test1::t} = self::getNum();
-    dynamic v4 = let final dynamic #t1 = this.{self::Test1::t} in #t1.==(null) ? this.{self::Test1::t} = self::getInt() : #t1;
-    dynamic v5 = let final dynamic #t2 = this.{self::Test1::t} in #t2.==(null) ? this.{self::Test1::t} = self::getNum() : #t2;
-    dynamic v7 = this.{self::Test1::t} = this.{self::Test1::t}.+(self::getInt());
-    dynamic v8 = this.{self::Test1::t} = this.{self::Test1::t}.+(self::getNum());
-    dynamic v10 = this.{self::Test1::t} = this.{self::Test1::t}.+(1);
-    dynamic v11 = let final dynamic #t3 = this.{self::Test1::t} in let final dynamic #t4 = this.{self::Test1::t} = #t3.+(1) in #t3;
-  }
-}
-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 #t5 = this.{self::Test2::t} in #t5.==(null) ? this.{self::Test2::t} = self::getInt() : #t5;
-    dynamic v5 = let final dynamic #t6 = this.{self::Test2::t} in #t6.==(null) ? this.{self::Test2::t} = self::getNum() : #t6;
-    dynamic v6 = let final dynamic #t7 = this.{self::Test2::t} in #t7.==(null) ? this.{self::Test2::t} = self::getDouble() : #t7;
-    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 #t8 = this.{self::Test2::t} in let final dynamic #t9 = this.{self::Test2::t} = #t8.+(1) in #t8;
-  }
-}
-class Test3 extends core::Object {
-  field core::double* t = null;
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  method test3() → void {
-    dynamic v2 = this.{self::Test3::t} = self::getNum();
-    dynamic v3 = this.{self::Test3::t} = self::getDouble();
-    dynamic v5 = let final dynamic #t10 = this.{self::Test3::t} in #t10.==(null) ? this.{self::Test3::t} = self::getNum() : #t10;
-    dynamic v6 = let final dynamic #t11 = this.{self::Test3::t} in #t11.==(null) ? this.{self::Test3::t} = self::getDouble() : #t11;
-    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 #t12 = this.{self::Test3::t} in let final dynamic #t13 = this.{self::Test3::t} = #t12.+(1) in #t12;
-  }
-}
-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_new/infer_assign_to_implicit_this_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index d08f06b..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,63 +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 v2 = this.{self::Test1::t} = self::getNum();
-    dynamic v4 = let final dynamic #t1 = this.{self::Test1::t} in #t1.==(null) ? this.{self::Test1::t} = self::getInt() : #t1;
-    dynamic v5 = let final dynamic #t2 = this.{self::Test1::t} in #t2.==(null) ? this.{self::Test1::t} = self::getNum() : #t2;
-    dynamic v7 = this.{self::Test1::t} = this.{self::Test1::t}.+(self::getInt());
-    dynamic v8 = this.{self::Test1::t} = this.{self::Test1::t}.+(self::getNum());
-    dynamic v10 = this.{self::Test1::t} = this.{self::Test1::t}.+(1);
-    dynamic v11 = let final dynamic #t3 = this.{self::Test1::t} in let final dynamic #t4 = this.{self::Test1::t} = #t3.+(1) in #t3;
-  }
-}
-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 #t5 = this.{self::Test2::t} in #t5.==(null) ? this.{self::Test2::t} = self::getInt() : #t5;
-    dynamic v5 = let final dynamic #t6 = this.{self::Test2::t} in #t6.==(null) ? this.{self::Test2::t} = self::getNum() : #t6;
-    dynamic v6 = let final dynamic #t7 = this.{self::Test2::t} in #t7.==(null) ? this.{self::Test2::t} = self::getDouble() : #t7;
-    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 #t8 = this.{self::Test2::t} in let final dynamic #t9 = this.{self::Test2::t} = #t8.+(1) in #t8;
-  }
-}
-class Test3 extends core::Object {
-  field core::double* t = null;
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  method test3() → void {
-    dynamic v2 = this.{self::Test3::t} = self::getNum();
-    dynamic v3 = this.{self::Test3::t} = self::getDouble();
-    dynamic v5 = let final dynamic #t10 = this.{self::Test3::t} in #t10.==(null) ? this.{self::Test3::t} = self::getNum() : #t10;
-    dynamic v6 = let final dynamic #t11 = this.{self::Test3::t} in #t11.==(null) ? this.{self::Test3::t} = self::getDouble() : #t11;
-    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 #t12 = this.{self::Test3::t} in let final dynamic #t13 = this.{self::Test3::t} = #t12.+(1) in #t12;
-  }
-}
-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_new/infer_assign_to_implicit_this_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.textual_outline.expect
index 5aea77f..9d3b805 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.textual_outline_modelled.expect
index c07ae2b..843823e 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Test1 {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_implicit_this_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart
index 4b7b3b6e..6eb85e4 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.legacy.expect
deleted file mode 100644
index decafe7..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::List<core::double*>* a = <core::double*>[];
-static field dynamic b = let final dynamic #t1 = self::a in let final dynamic #t2 = 0 in let final dynamic #t3 = 1.0 in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.legacy.transformed.expect
deleted file mode 100644
index decafe7..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::List<core::double*>* a = <core::double*>[];
-static field dynamic b = let final dynamic #t1 = self::a in let final dynamic #t2 = 0 in let final dynamic #t3 = 1.0 in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.textual_outline.expect
index c70181a..f2992f2 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<double> a = <double>[];
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.textual_outline_modelled.expect
index 89115d7..e20e0c8 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<double> a = <double>[];
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart
index 9f372f0..cd0681b 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.hierarchy.expect
deleted file mode 100644
index 6e9f0e0..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.hierarchy.expect
+++ /dev/null
@@ -1,118 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Index:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.legacy.expect
deleted file mode 100644
index 74b564b..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.legacy.expect
+++ /dev/null
@@ -1,60 +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 v3 = 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 v4 = 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 v5 = let final dynamic #t34 = t in let final dynamic #t35 = self::f<dynamic>() in let final dynamic #t36 = #t34.[](#t35).&(self::f<dynamic>()) in let final dynamic #t37 = #t34.[]=(#t35, #t36) in #t36;
-    dynamic v6 = let final dynamic #t38 = t in let final dynamic #t39 = self::f<dynamic>() in let final dynamic #t40 = #t38.[](#t39).-(1) in let final dynamic #t41 = #t38.[]=(#t39, #t40) in #t40;
-    dynamic v7 = let final dynamic #t42 = t in let final dynamic #t43 = self::f<dynamic>() in let final dynamic #t44 = #t42.[](#t43) in let final dynamic #t45 = #t42.[]=(#t43, #t44.-(1)) in #t44;
-  }
-}
-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_new/infer_assign_to_index_full.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.legacy.transformed.expect
deleted file mode 100644
index 74b564b..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,60 +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 v3 = 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 v4 = 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 v5 = let final dynamic #t34 = t in let final dynamic #t35 = self::f<dynamic>() in let final dynamic #t36 = #t34.[](#t35).&(self::f<dynamic>()) in let final dynamic #t37 = #t34.[]=(#t35, #t36) in #t36;
-    dynamic v6 = let final dynamic #t38 = t in let final dynamic #t39 = self::f<dynamic>() in let final dynamic #t40 = #t38.[](#t39).-(1) in let final dynamic #t41 = #t38.[]=(#t39, #t40) in #t40;
-    dynamic v7 = let final dynamic #t42 = t in let final dynamic #t43 = self::f<dynamic>() in let final dynamic #t44 = #t42.[](#t43) in let final dynamic #t45 = #t42.[]=(#t43, #t44.-(1)) in #t44;
-  }
-}
-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_new/infer_assign_to_index_full.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.textual_outline.expect
index b37e03c..5ad8b13 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Index {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.textual_outline_modelled.expect
index e02d004..d66beca 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart
index 1920c98..5cd412f 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.hierarchy.expect
deleted file mode 100644
index 4292b72..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.hierarchy.expect
+++ /dev/null
@@ -1,185 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Index:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> A
-        -> B
-          -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> A
-        -> B
-          -> C
-            -> D
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-      -> A
-        -> B
-          -> C
-            -> D
-              -> E
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.legacy.expect
deleted file mode 100644
index ab063a7..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.legacy.expect
+++ /dev/null
@@ -1,71 +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::•()
-    ;
-  operator +(self::F* v) → self::C*
-    return null;
-  operator -(core::int* i) → self::C*
-    return null;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::E* v) → self::D*
-    return null;
-  operator -(core::int* i) → self::D*
-    return null;
-}
-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 E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-}
-class F extends self::E {
-  synthetic constructor •() → self::F*
-    : super self::E::•()
-    ;
-}
-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::A* 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 let final dynamic #t9 = #t7.[](#t8).-(1) in let final dynamic #t10 = #t7.[]=(#t8, #t9) in #t9;
-    let final dynamic #t11 = t in let final dynamic #t12 = self::f<dynamic>() in #t11.[]=(#t12, #t11.[](#t12).-(1));
-    dynamic v1 = let final dynamic #t13 = t in let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = self::f<dynamic>() in let final dynamic #t16 = #t13.[]=(#t14, #t15) in #t15;
-    dynamic v2 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = #t17.[](#t18) in #t19.==(null) ? let final dynamic #t20 = self::f<dynamic>() in let final dynamic #t21 = #t17.[]=(#t18, #t20) in #t20 : #t19;
-    dynamic v3 = let final dynamic #t22 = t in let final dynamic #t23 = self::f<dynamic>() in let final dynamic #t24 = #t22.[](#t23).+(self::f<dynamic>()) in let final dynamic #t25 = #t22.[]=(#t23, #t24) in #t24;
-    dynamic v4 = let final dynamic #t26 = t in let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = #t26.[](#t27).-(1) 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) in let final dynamic #t33 = #t30.[]=(#t31, #t32.-(1)) in #t32;
-  }
-}
-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_new/infer_assign_to_index_set_vs_get.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.legacy.transformed.expect
deleted file mode 100644
index ab063a7..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,71 +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::•()
-    ;
-  operator +(self::F* v) → self::C*
-    return null;
-  operator -(core::int* i) → self::C*
-    return null;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  operator +(self::E* v) → self::D*
-    return null;
-  operator -(core::int* i) → self::D*
-    return null;
-}
-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 E extends self::D {
-  synthetic constructor •() → self::E*
-    : super self::D::•()
-    ;
-}
-class F extends self::E {
-  synthetic constructor •() → self::F*
-    : super self::E::•()
-    ;
-}
-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::A* 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 let final dynamic #t9 = #t7.[](#t8).-(1) in let final dynamic #t10 = #t7.[]=(#t8, #t9) in #t9;
-    let final dynamic #t11 = t in let final dynamic #t12 = self::f<dynamic>() in #t11.[]=(#t12, #t11.[](#t12).-(1));
-    dynamic v1 = let final dynamic #t13 = t in let final dynamic #t14 = self::f<dynamic>() in let final dynamic #t15 = self::f<dynamic>() in let final dynamic #t16 = #t13.[]=(#t14, #t15) in #t15;
-    dynamic v2 = let final dynamic #t17 = t in let final dynamic #t18 = self::f<dynamic>() in let final dynamic #t19 = #t17.[](#t18) in #t19.==(null) ? let final dynamic #t20 = self::f<dynamic>() in let final dynamic #t21 = #t17.[]=(#t18, #t20) in #t20 : #t19;
-    dynamic v3 = let final dynamic #t22 = t in let final dynamic #t23 = self::f<dynamic>() in let final dynamic #t24 = #t22.[](#t23).+(self::f<dynamic>()) in let final dynamic #t25 = #t22.[]=(#t23, #t24) in #t24;
-    dynamic v4 = let final dynamic #t26 = t in let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = #t26.[](#t27).-(1) 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) in let final dynamic #t33 = #t30.[]=(#t31, #t32.-(1)) in #t32;
-  }
-}
-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_new/infer_assign_to_index_set_vs_get.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.textual_outline.expect
index d7ce8b5..c3cbb2f 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Index {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.textual_outline_modelled.expect
index 82d9240..1b9ab91 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_set_vs_get.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart
index 0734921..8817a4a 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.hierarchy.expect
deleted file mode 100644
index 0d88d4d..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,138 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Index:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.legacy.expect
deleted file mode 100644
index 353a342..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.legacy.expect
+++ /dev/null
@@ -1,64 +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 v3 = 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 v4 = 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 v5 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = super.{self::Base::[]}(#t24).&(self::f<dynamic>()) in let final dynamic #t26 = super.{self::Base::[]=}(#t24, #t25) in #t25;
-    dynamic v6 = let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = super.{self::Base::[]}(#t27).-(1) in let final dynamic #t29 = super.{self::Base::[]=}(#t27, #t28) in #t28;
-    dynamic v7 = let final dynamic #t30 = self::f<dynamic>() in let final dynamic #t31 = super.{self::Base::[]}(#t30) in let final dynamic #t32 = super.{self::Base::[]=}(#t30, #t31.-(1)) in #t31;
-  }
-}
-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_new/infer_assign_to_index_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.legacy.transformed.expect
deleted file mode 100644
index 353a342..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,64 +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 v3 = 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 v4 = 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 v5 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = super.{self::Base::[]}(#t24).&(self::f<dynamic>()) in let final dynamic #t26 = super.{self::Base::[]=}(#t24, #t25) in #t25;
-    dynamic v6 = let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = super.{self::Base::[]}(#t27).-(1) in let final dynamic #t29 = super.{self::Base::[]=}(#t27, #t28) in #t28;
-    dynamic v7 = let final dynamic #t30 = self::f<dynamic>() in let final dynamic #t31 = super.{self::Base::[]}(#t30) in let final dynamic #t32 = super.{self::Base::[]=}(#t30, #t31.-(1)) in #t31;
-  }
-}
-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_new/infer_assign_to_index_super.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.textual_outline.expect
index 0082739..6f0bc4d 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Index {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.textual_outline_modelled.expect
index 3153d49..9831918 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart
index 22af2a9..2caca66 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.hierarchy.expect
deleted file mode 100644
index 39baee4..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,247 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test1:
-  superclasses:
-    Object
-      -> Base<int, int>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-
-Test2:
-  superclasses:
-    Object
-      -> Base<int, num>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-
-Test3:
-  superclasses:
-    Object
-      -> Base<int, double>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test3.test
-  classSetters:
-
-Test4:
-  superclasses:
-    Object
-      -> Base<num, int>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test4.test
-  classSetters:
-
-Test5:
-  superclasses:
-    Object
-      -> Base<num, num>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test5.test
-  classSetters:
-
-Test6:
-  superclasses:
-    Object
-      -> Base<num, double>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test6.test
-  classSetters:
-
-Test7:
-  superclasses:
-    Object
-      -> Base<double, int>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test7.test
-  classSetters:
-
-Test8:
-  superclasses:
-    Object
-      -> Base<double, num>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test8.test
-  classSetters:
-
-Test9:
-  superclasses:
-    Object
-      -> Base<double, double>
-  interfaces:
-  classMembers:
-    Base.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.setValue
-    Base.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test9.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.legacy.expect
deleted file mode 100644
index adea090..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,169 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class Base<T extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Base<self::Base::T*, self::Base::U*>*
-    : super core::Object::•()
-    ;
-  operator [](core::String* s) → self::Base::T*
-    return this.{self::Base::getValue}(s);
-  operator []=(core::String* s, generic-covariant-impl self::Base::U* v) → void
-    return this.{self::Base::setValue}(s, v);
-  abstract method getValue(core::String* s) → self::Base::T*;
-  abstract method setValue(core::String* s, generic-covariant-impl self::Base::U* v) → void;
-}
-abstract class Test1 extends self::Base<core::int*, core::int*> {
-  synthetic constructor •() → self::Test1*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t1 = "x" in let final dynamic #t2 = self::getInt() in let final dynamic #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2;
-    dynamic v2 = let final dynamic #t4 = "x" in let final dynamic #t5 = self::getNum() in let final dynamic #t6 = super.{self::Base::[]=}(#t4, #t5) in #t5;
-    dynamic v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = super.{self::Base::[]}(#t7) in #t8.==(null) ? let final dynamic #t9 = self::getInt() in let final dynamic #t10 = super.{self::Base::[]=}(#t7, #t9) in #t9 : #t8;
-    dynamic v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = super.{self::Base::[]}(#t11) in #t12.==(null) ? let final dynamic #t13 = self::getNum() in let final dynamic #t14 = super.{self::Base::[]=}(#t11, #t13) in #t13 : #t12;
-    dynamic v7 = let final dynamic #t15 = "x" in let final dynamic #t16 = super.{self::Base::[]}(#t15).+(self::getInt()) in let final dynamic #t17 = super.{self::Base::[]=}(#t15, #t16) in #t16;
-    dynamic v8 = let final dynamic #t18 = "x" in let final dynamic #t19 = super.{self::Base::[]}(#t18).+(self::getNum()) in let final dynamic #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
-    dynamic v10 = let final dynamic #t21 = "x" in let final dynamic #t22 = super.{self::Base::[]}(#t21).+(1) in let final dynamic #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
-    dynamic v11 = let final dynamic #t24 = "x" in let final dynamic #t25 = super.{self::Base::[]}(#t24) in let final dynamic #t26 = super.{self::Base::[]=}(#t24, #t25.+(1)) in #t25;
-  }
-}
-abstract class Test2 extends self::Base<core::int*, core::num*> {
-  synthetic constructor •() → self::Test2*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t27 = "x" in let final dynamic #t28 = self::getInt() in let final dynamic #t29 = super.{self::Base::[]=}(#t27, #t28) in #t28;
-    dynamic v2 = let final dynamic #t30 = "x" in let final dynamic #t31 = self::getNum() in let final dynamic #t32 = super.{self::Base::[]=}(#t30, #t31) in #t31;
-    dynamic v3 = let final dynamic #t33 = "x" in let final dynamic #t34 = self::getDouble() in let final dynamic #t35 = super.{self::Base::[]=}(#t33, #t34) in #t34;
-    dynamic v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = super.{self::Base::[]}(#t36) in #t37.==(null) ? let final dynamic #t38 = self::getInt() in let final dynamic #t39 = super.{self::Base::[]=}(#t36, #t38) in #t38 : #t37;
-    dynamic v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = super.{self::Base::[]}(#t40) in #t41.==(null) ? let final dynamic #t42 = self::getNum() in let final dynamic #t43 = super.{self::Base::[]=}(#t40, #t42) in #t42 : #t41;
-    dynamic v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = super.{self::Base::[]}(#t44) in #t45.==(null) ? let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = super.{self::Base::[]=}(#t44, #t46) in #t46 : #t45;
-    dynamic v7 = let final dynamic #t48 = "x" in let final dynamic #t49 = super.{self::Base::[]}(#t48).+(self::getInt()) in let final dynamic #t50 = super.{self::Base::[]=}(#t48, #t49) in #t49;
-    dynamic v8 = let final dynamic #t51 = "x" in let final dynamic #t52 = super.{self::Base::[]}(#t51).+(self::getNum()) in let final dynamic #t53 = super.{self::Base::[]=}(#t51, #t52) in #t52;
-    dynamic v9 = let final dynamic #t54 = "x" in let final dynamic #t55 = super.{self::Base::[]}(#t54).+(self::getDouble()) in let final dynamic #t56 = super.{self::Base::[]=}(#t54, #t55) in #t55;
-    dynamic v10 = let final dynamic #t57 = "x" in let final dynamic #t58 = super.{self::Base::[]}(#t57).+(1) in let final dynamic #t59 = super.{self::Base::[]=}(#t57, #t58) in #t58;
-    dynamic v11 = let final dynamic #t60 = "x" in let final dynamic #t61 = super.{self::Base::[]}(#t60) in let final dynamic #t62 = super.{self::Base::[]=}(#t60, #t61.+(1)) in #t61;
-  }
-}
-abstract class Test3 extends self::Base<core::int*, core::double*> {
-  synthetic constructor •() → self::Test3*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v2 = let final dynamic #t63 = "x" in let final dynamic #t64 = self::getNum() in let final dynamic #t65 = super.{self::Base::[]=}(#t63, #t64) in #t64;
-    dynamic v3 = let final dynamic #t66 = "x" in let final dynamic #t67 = self::getDouble() in let final dynamic #t68 = super.{self::Base::[]=}(#t66, #t67) in #t67;
-    dynamic v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = super.{self::Base::[]}(#t69) in #t70.==(null) ? let final dynamic #t71 = self::getNum() in let final dynamic #t72 = super.{self::Base::[]=}(#t69, #t71) in #t71 : #t70;
-    dynamic v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = super.{self::Base::[]}(#t73) in #t74.==(null) ? let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = super.{self::Base::[]=}(#t73, #t75) in #t75 : #t74;
-    dynamic v7 = let final dynamic #t77 = "x" in let final dynamic #t78 = super.{self::Base::[]}(#t77).+(self::getInt()) in let final dynamic #t79 = super.{self::Base::[]=}(#t77, #t78) in #t78;
-    dynamic v8 = let final dynamic #t80 = "x" in let final dynamic #t81 = super.{self::Base::[]}(#t80).+(self::getNum()) in let final dynamic #t82 = super.{self::Base::[]=}(#t80, #t81) in #t81;
-    dynamic v9 = let final dynamic #t83 = "x" in let final dynamic #t84 = super.{self::Base::[]}(#t83).+(self::getDouble()) in let final dynamic #t85 = super.{self::Base::[]=}(#t83, #t84) in #t84;
-    dynamic v10 = let final dynamic #t86 = "x" in let final dynamic #t87 = super.{self::Base::[]}(#t86).+(1) in let final dynamic #t88 = super.{self::Base::[]=}(#t86, #t87) in #t87;
-    dynamic v11 = let final dynamic #t89 = "x" in let final dynamic #t90 = super.{self::Base::[]}(#t89) in let final dynamic #t91 = super.{self::Base::[]=}(#t89, #t90.+(1)) in #t90;
-  }
-}
-abstract class Test4 extends self::Base<core::num*, core::int*> {
-  synthetic constructor •() → self::Test4*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t92 = "x" in let final dynamic #t93 = self::getInt() in let final dynamic #t94 = super.{self::Base::[]=}(#t92, #t93) in #t93;
-    dynamic v2 = let final dynamic #t95 = "x" in let final dynamic #t96 = self::getNum() in let final dynamic #t97 = super.{self::Base::[]=}(#t95, #t96) in #t96;
-    dynamic v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = super.{self::Base::[]}(#t98) in #t99.==(null) ? let final dynamic #t100 = self::getInt() in let final dynamic #t101 = super.{self::Base::[]=}(#t98, #t100) in #t100 : #t99;
-    dynamic v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = super.{self::Base::[]}(#t102) in #t103.==(null) ? let final dynamic #t104 = self::getNum() in let final dynamic #t105 = super.{self::Base::[]=}(#t102, #t104) in #t104 : #t103;
-    dynamic v7 = let final dynamic #t106 = "x" in let final dynamic #t107 = super.{self::Base::[]}(#t106).+(self::getInt()) in let final dynamic #t108 = super.{self::Base::[]=}(#t106, #t107) in #t107;
-    dynamic v8 = let final dynamic #t109 = "x" in let final dynamic #t110 = super.{self::Base::[]}(#t109).+(self::getNum()) in let final dynamic #t111 = super.{self::Base::[]=}(#t109, #t110) in #t110;
-    dynamic v10 = let final dynamic #t112 = "x" in let final dynamic #t113 = super.{self::Base::[]}(#t112).+(1) in let final dynamic #t114 = super.{self::Base::[]=}(#t112, #t113) in #t113;
-    dynamic v11 = let final dynamic #t115 = "x" in let final dynamic #t116 = super.{self::Base::[]}(#t115) in let final dynamic #t117 = super.{self::Base::[]=}(#t115, #t116.+(1)) in #t116;
-  }
-}
-abstract class Test5 extends self::Base<core::num*, core::num*> {
-  synthetic constructor •() → self::Test5*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t118 = "x" in let final dynamic #t119 = self::getInt() in let final dynamic #t120 = super.{self::Base::[]=}(#t118, #t119) in #t119;
-    dynamic v2 = let final dynamic #t121 = "x" in let final dynamic #t122 = self::getNum() in let final dynamic #t123 = super.{self::Base::[]=}(#t121, #t122) in #t122;
-    dynamic v3 = let final dynamic #t124 = "x" in let final dynamic #t125 = self::getDouble() in let final dynamic #t126 = super.{self::Base::[]=}(#t124, #t125) in #t125;
-    dynamic v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = super.{self::Base::[]}(#t127) in #t128.==(null) ? let final dynamic #t129 = self::getInt() in let final dynamic #t130 = super.{self::Base::[]=}(#t127, #t129) in #t129 : #t128;
-    dynamic v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = super.{self::Base::[]}(#t131) in #t132.==(null) ? let final dynamic #t133 = self::getNum() in let final dynamic #t134 = super.{self::Base::[]=}(#t131, #t133) in #t133 : #t132;
-    dynamic v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = super.{self::Base::[]}(#t135) in #t136.==(null) ? let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = super.{self::Base::[]=}(#t135, #t137) in #t137 : #t136;
-    dynamic v7 = let final dynamic #t139 = "x" in let final dynamic #t140 = super.{self::Base::[]}(#t139).+(self::getInt()) in let final dynamic #t141 = super.{self::Base::[]=}(#t139, #t140) in #t140;
-    dynamic v8 = let final dynamic #t142 = "x" in let final dynamic #t143 = super.{self::Base::[]}(#t142).+(self::getNum()) in let final dynamic #t144 = super.{self::Base::[]=}(#t142, #t143) in #t143;
-    dynamic v9 = let final dynamic #t145 = "x" in let final dynamic #t146 = super.{self::Base::[]}(#t145).+(self::getDouble()) in let final dynamic #t147 = super.{self::Base::[]=}(#t145, #t146) in #t146;
-    dynamic v10 = let final dynamic #t148 = "x" in let final dynamic #t149 = super.{self::Base::[]}(#t148).+(1) in let final dynamic #t150 = super.{self::Base::[]=}(#t148, #t149) in #t149;
-    dynamic v11 = let final dynamic #t151 = "x" in let final dynamic #t152 = super.{self::Base::[]}(#t151) in let final dynamic #t153 = super.{self::Base::[]=}(#t151, #t152.+(1)) in #t152;
-  }
-}
-abstract class Test6 extends self::Base<core::num*, core::double*> {
-  synthetic constructor •() → self::Test6*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v2 = let final dynamic #t154 = "x" in let final dynamic #t155 = self::getNum() in let final dynamic #t156 = super.{self::Base::[]=}(#t154, #t155) in #t155;
-    dynamic v3 = let final dynamic #t157 = "x" in let final dynamic #t158 = self::getDouble() in let final dynamic #t159 = super.{self::Base::[]=}(#t157, #t158) in #t158;
-    dynamic v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = super.{self::Base::[]}(#t160) in #t161.==(null) ? let final dynamic #t162 = self::getNum() in let final dynamic #t163 = super.{self::Base::[]=}(#t160, #t162) in #t162 : #t161;
-    dynamic v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = super.{self::Base::[]}(#t164) in #t165.==(null) ? let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = super.{self::Base::[]=}(#t164, #t166) in #t166 : #t165;
-    dynamic v7 = let final dynamic #t168 = "x" in let final dynamic #t169 = super.{self::Base::[]}(#t168).+(self::getInt()) in let final dynamic #t170 = super.{self::Base::[]=}(#t168, #t169) in #t169;
-    dynamic v8 = let final dynamic #t171 = "x" in let final dynamic #t172 = super.{self::Base::[]}(#t171).+(self::getNum()) in let final dynamic #t173 = super.{self::Base::[]=}(#t171, #t172) in #t172;
-    dynamic v9 = let final dynamic #t174 = "x" in let final dynamic #t175 = super.{self::Base::[]}(#t174).+(self::getDouble()) in let final dynamic #t176 = super.{self::Base::[]=}(#t174, #t175) in #t175;
-    dynamic v10 = let final dynamic #t177 = "x" in let final dynamic #t178 = super.{self::Base::[]}(#t177).+(1) in let final dynamic #t179 = super.{self::Base::[]=}(#t177, #t178) in #t178;
-    dynamic v11 = let final dynamic #t180 = "x" in let final dynamic #t181 = super.{self::Base::[]}(#t180) in let final dynamic #t182 = super.{self::Base::[]=}(#t180, #t181.+(1)) in #t181;
-  }
-}
-abstract class Test7 extends self::Base<core::double*, core::int*> {
-  synthetic constructor •() → self::Test7*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t183 = "x" in let final dynamic #t184 = self::getInt() in let final dynamic #t185 = super.{self::Base::[]=}(#t183, #t184) in #t184;
-    dynamic v2 = let final dynamic #t186 = "x" in let final dynamic #t187 = self::getNum() in let final dynamic #t188 = super.{self::Base::[]=}(#t186, #t187) in #t187;
-    dynamic v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = super.{self::Base::[]}(#t189) in #t190.==(null) ? let final dynamic #t191 = self::getInt() in let final dynamic #t192 = super.{self::Base::[]=}(#t189, #t191) in #t191 : #t190;
-    dynamic v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = super.{self::Base::[]}(#t193) in #t194.==(null) ? let final dynamic #t195 = self::getNum() in let final dynamic #t196 = super.{self::Base::[]=}(#t193, #t195) in #t195 : #t194;
-    dynamic v7 = let final dynamic #t197 = "x" in let final dynamic #t198 = super.{self::Base::[]}(#t197).+(self::getInt()) in let final dynamic #t199 = super.{self::Base::[]=}(#t197, #t198) in #t198;
-    dynamic v8 = let final dynamic #t200 = "x" in let final dynamic #t201 = super.{self::Base::[]}(#t200).+(self::getNum()) in let final dynamic #t202 = super.{self::Base::[]=}(#t200, #t201) in #t201;
-    dynamic v10 = let final dynamic #t203 = "x" in let final dynamic #t204 = super.{self::Base::[]}(#t203).+(1) in let final dynamic #t205 = super.{self::Base::[]=}(#t203, #t204) in #t204;
-    dynamic v11 = let final dynamic #t206 = "x" in let final dynamic #t207 = super.{self::Base::[]}(#t206) in let final dynamic #t208 = super.{self::Base::[]=}(#t206, #t207.+(1)) in #t207;
-  }
-}
-abstract class Test8 extends self::Base<core::double*, core::num*> {
-  synthetic constructor •() → self::Test8*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t209 = "x" in let final dynamic #t210 = self::getInt() in let final dynamic #t211 = super.{self::Base::[]=}(#t209, #t210) in #t210;
-    dynamic v2 = let final dynamic #t212 = "x" in let final dynamic #t213 = self::getNum() in let final dynamic #t214 = super.{self::Base::[]=}(#t212, #t213) in #t213;
-    dynamic v3 = let final dynamic #t215 = "x" in let final dynamic #t216 = self::getDouble() in let final dynamic #t217 = super.{self::Base::[]=}(#t215, #t216) in #t216;
-    dynamic v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = super.{self::Base::[]}(#t218) in #t219.==(null) ? let final dynamic #t220 = self::getInt() in let final dynamic #t221 = super.{self::Base::[]=}(#t218, #t220) in #t220 : #t219;
-    dynamic v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = super.{self::Base::[]}(#t222) in #t223.==(null) ? let final dynamic #t224 = self::getNum() in let final dynamic #t225 = super.{self::Base::[]=}(#t222, #t224) in #t224 : #t223;
-    dynamic v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = super.{self::Base::[]}(#t226) in #t227.==(null) ? let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = super.{self::Base::[]=}(#t226, #t228) in #t228 : #t227;
-    dynamic v7 = let final dynamic #t230 = "x" in let final dynamic #t231 = super.{self::Base::[]}(#t230).+(self::getInt()) in let final dynamic #t232 = super.{self::Base::[]=}(#t230, #t231) in #t231;
-    dynamic v8 = let final dynamic #t233 = "x" in let final dynamic #t234 = super.{self::Base::[]}(#t233).+(self::getNum()) in let final dynamic #t235 = super.{self::Base::[]=}(#t233, #t234) in #t234;
-    dynamic v9 = let final dynamic #t236 = "x" in let final dynamic #t237 = super.{self::Base::[]}(#t236).+(self::getDouble()) in let final dynamic #t238 = super.{self::Base::[]=}(#t236, #t237) in #t237;
-    dynamic v10 = let final dynamic #t239 = "x" in let final dynamic #t240 = super.{self::Base::[]}(#t239).+(1) in let final dynamic #t241 = super.{self::Base::[]=}(#t239, #t240) in #t240;
-    dynamic v11 = let final dynamic #t242 = "x" in let final dynamic #t243 = super.{self::Base::[]}(#t242) in let final dynamic #t244 = super.{self::Base::[]=}(#t242, #t243.+(1)) in #t243;
-  }
-}
-abstract class Test9 extends self::Base<core::double*, core::double*> {
-  synthetic constructor •() → self::Test9*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v2 = let final dynamic #t245 = "x" in let final dynamic #t246 = self::getNum() in let final dynamic #t247 = super.{self::Base::[]=}(#t245, #t246) in #t246;
-    dynamic v3 = let final dynamic #t248 = "x" in let final dynamic #t249 = self::getDouble() in let final dynamic #t250 = super.{self::Base::[]=}(#t248, #t249) in #t249;
-    dynamic v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = super.{self::Base::[]}(#t251) in #t252.==(null) ? let final dynamic #t253 = self::getNum() in let final dynamic #t254 = super.{self::Base::[]=}(#t251, #t253) in #t253 : #t252;
-    dynamic v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = super.{self::Base::[]}(#t255) in #t256.==(null) ? let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = super.{self::Base::[]=}(#t255, #t257) in #t257 : #t256;
-    dynamic v7 = let final dynamic #t259 = "x" in let final dynamic #t260 = super.{self::Base::[]}(#t259).+(self::getInt()) in let final dynamic #t261 = super.{self::Base::[]=}(#t259, #t260) in #t260;
-    dynamic v8 = let final dynamic #t262 = "x" in let final dynamic #t263 = super.{self::Base::[]}(#t262).+(self::getNum()) in let final dynamic #t264 = super.{self::Base::[]=}(#t262, #t263) in #t263;
-    dynamic v9 = let final dynamic #t265 = "x" in let final dynamic #t266 = super.{self::Base::[]}(#t265).+(self::getDouble()) in let final dynamic #t267 = super.{self::Base::[]=}(#t265, #t266) in #t266;
-    dynamic v10 = let final dynamic #t268 = "x" in let final dynamic #t269 = super.{self::Base::[]}(#t268).+(1) in let final dynamic #t270 = super.{self::Base::[]=}(#t268, #t269) in #t269;
-    dynamic v11 = let final dynamic #t271 = "x" in let final dynamic #t272 = super.{self::Base::[]}(#t271) in let final dynamic #t273 = super.{self::Base::[]=}(#t271, #t272.+(1)) in #t272;
-  }
-}
-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_new/infer_assign_to_index_super_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index adea090..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,169 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class Base<T extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Base<self::Base::T*, self::Base::U*>*
-    : super core::Object::•()
-    ;
-  operator [](core::String* s) → self::Base::T*
-    return this.{self::Base::getValue}(s);
-  operator []=(core::String* s, generic-covariant-impl self::Base::U* v) → void
-    return this.{self::Base::setValue}(s, v);
-  abstract method getValue(core::String* s) → self::Base::T*;
-  abstract method setValue(core::String* s, generic-covariant-impl self::Base::U* v) → void;
-}
-abstract class Test1 extends self::Base<core::int*, core::int*> {
-  synthetic constructor •() → self::Test1*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t1 = "x" in let final dynamic #t2 = self::getInt() in let final dynamic #t3 = super.{self::Base::[]=}(#t1, #t2) in #t2;
-    dynamic v2 = let final dynamic #t4 = "x" in let final dynamic #t5 = self::getNum() in let final dynamic #t6 = super.{self::Base::[]=}(#t4, #t5) in #t5;
-    dynamic v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = super.{self::Base::[]}(#t7) in #t8.==(null) ? let final dynamic #t9 = self::getInt() in let final dynamic #t10 = super.{self::Base::[]=}(#t7, #t9) in #t9 : #t8;
-    dynamic v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = super.{self::Base::[]}(#t11) in #t12.==(null) ? let final dynamic #t13 = self::getNum() in let final dynamic #t14 = super.{self::Base::[]=}(#t11, #t13) in #t13 : #t12;
-    dynamic v7 = let final dynamic #t15 = "x" in let final dynamic #t16 = super.{self::Base::[]}(#t15).+(self::getInt()) in let final dynamic #t17 = super.{self::Base::[]=}(#t15, #t16) in #t16;
-    dynamic v8 = let final dynamic #t18 = "x" in let final dynamic #t19 = super.{self::Base::[]}(#t18).+(self::getNum()) in let final dynamic #t20 = super.{self::Base::[]=}(#t18, #t19) in #t19;
-    dynamic v10 = let final dynamic #t21 = "x" in let final dynamic #t22 = super.{self::Base::[]}(#t21).+(1) in let final dynamic #t23 = super.{self::Base::[]=}(#t21, #t22) in #t22;
-    dynamic v11 = let final dynamic #t24 = "x" in let final dynamic #t25 = super.{self::Base::[]}(#t24) in let final dynamic #t26 = super.{self::Base::[]=}(#t24, #t25.+(1)) in #t25;
-  }
-}
-abstract class Test2 extends self::Base<core::int*, core::num*> {
-  synthetic constructor •() → self::Test2*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t27 = "x" in let final dynamic #t28 = self::getInt() in let final dynamic #t29 = super.{self::Base::[]=}(#t27, #t28) in #t28;
-    dynamic v2 = let final dynamic #t30 = "x" in let final dynamic #t31 = self::getNum() in let final dynamic #t32 = super.{self::Base::[]=}(#t30, #t31) in #t31;
-    dynamic v3 = let final dynamic #t33 = "x" in let final dynamic #t34 = self::getDouble() in let final dynamic #t35 = super.{self::Base::[]=}(#t33, #t34) in #t34;
-    dynamic v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = super.{self::Base::[]}(#t36) in #t37.==(null) ? let final dynamic #t38 = self::getInt() in let final dynamic #t39 = super.{self::Base::[]=}(#t36, #t38) in #t38 : #t37;
-    dynamic v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = super.{self::Base::[]}(#t40) in #t41.==(null) ? let final dynamic #t42 = self::getNum() in let final dynamic #t43 = super.{self::Base::[]=}(#t40, #t42) in #t42 : #t41;
-    dynamic v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = super.{self::Base::[]}(#t44) in #t45.==(null) ? let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = super.{self::Base::[]=}(#t44, #t46) in #t46 : #t45;
-    dynamic v7 = let final dynamic #t48 = "x" in let final dynamic #t49 = super.{self::Base::[]}(#t48).+(self::getInt()) in let final dynamic #t50 = super.{self::Base::[]=}(#t48, #t49) in #t49;
-    dynamic v8 = let final dynamic #t51 = "x" in let final dynamic #t52 = super.{self::Base::[]}(#t51).+(self::getNum()) in let final dynamic #t53 = super.{self::Base::[]=}(#t51, #t52) in #t52;
-    dynamic v9 = let final dynamic #t54 = "x" in let final dynamic #t55 = super.{self::Base::[]}(#t54).+(self::getDouble()) in let final dynamic #t56 = super.{self::Base::[]=}(#t54, #t55) in #t55;
-    dynamic v10 = let final dynamic #t57 = "x" in let final dynamic #t58 = super.{self::Base::[]}(#t57).+(1) in let final dynamic #t59 = super.{self::Base::[]=}(#t57, #t58) in #t58;
-    dynamic v11 = let final dynamic #t60 = "x" in let final dynamic #t61 = super.{self::Base::[]}(#t60) in let final dynamic #t62 = super.{self::Base::[]=}(#t60, #t61.+(1)) in #t61;
-  }
-}
-abstract class Test3 extends self::Base<core::int*, core::double*> {
-  synthetic constructor •() → self::Test3*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v2 = let final dynamic #t63 = "x" in let final dynamic #t64 = self::getNum() in let final dynamic #t65 = super.{self::Base::[]=}(#t63, #t64) in #t64;
-    dynamic v3 = let final dynamic #t66 = "x" in let final dynamic #t67 = self::getDouble() in let final dynamic #t68 = super.{self::Base::[]=}(#t66, #t67) in #t67;
-    dynamic v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = super.{self::Base::[]}(#t69) in #t70.==(null) ? let final dynamic #t71 = self::getNum() in let final dynamic #t72 = super.{self::Base::[]=}(#t69, #t71) in #t71 : #t70;
-    dynamic v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = super.{self::Base::[]}(#t73) in #t74.==(null) ? let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = super.{self::Base::[]=}(#t73, #t75) in #t75 : #t74;
-    dynamic v7 = let final dynamic #t77 = "x" in let final dynamic #t78 = super.{self::Base::[]}(#t77).+(self::getInt()) in let final dynamic #t79 = super.{self::Base::[]=}(#t77, #t78) in #t78;
-    dynamic v8 = let final dynamic #t80 = "x" in let final dynamic #t81 = super.{self::Base::[]}(#t80).+(self::getNum()) in let final dynamic #t82 = super.{self::Base::[]=}(#t80, #t81) in #t81;
-    dynamic v9 = let final dynamic #t83 = "x" in let final dynamic #t84 = super.{self::Base::[]}(#t83).+(self::getDouble()) in let final dynamic #t85 = super.{self::Base::[]=}(#t83, #t84) in #t84;
-    dynamic v10 = let final dynamic #t86 = "x" in let final dynamic #t87 = super.{self::Base::[]}(#t86).+(1) in let final dynamic #t88 = super.{self::Base::[]=}(#t86, #t87) in #t87;
-    dynamic v11 = let final dynamic #t89 = "x" in let final dynamic #t90 = super.{self::Base::[]}(#t89) in let final dynamic #t91 = super.{self::Base::[]=}(#t89, #t90.+(1)) in #t90;
-  }
-}
-abstract class Test4 extends self::Base<core::num*, core::int*> {
-  synthetic constructor •() → self::Test4*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t92 = "x" in let final dynamic #t93 = self::getInt() in let final dynamic #t94 = super.{self::Base::[]=}(#t92, #t93) in #t93;
-    dynamic v2 = let final dynamic #t95 = "x" in let final dynamic #t96 = self::getNum() in let final dynamic #t97 = super.{self::Base::[]=}(#t95, #t96) in #t96;
-    dynamic v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = super.{self::Base::[]}(#t98) in #t99.==(null) ? let final dynamic #t100 = self::getInt() in let final dynamic #t101 = super.{self::Base::[]=}(#t98, #t100) in #t100 : #t99;
-    dynamic v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = super.{self::Base::[]}(#t102) in #t103.==(null) ? let final dynamic #t104 = self::getNum() in let final dynamic #t105 = super.{self::Base::[]=}(#t102, #t104) in #t104 : #t103;
-    dynamic v7 = let final dynamic #t106 = "x" in let final dynamic #t107 = super.{self::Base::[]}(#t106).+(self::getInt()) in let final dynamic #t108 = super.{self::Base::[]=}(#t106, #t107) in #t107;
-    dynamic v8 = let final dynamic #t109 = "x" in let final dynamic #t110 = super.{self::Base::[]}(#t109).+(self::getNum()) in let final dynamic #t111 = super.{self::Base::[]=}(#t109, #t110) in #t110;
-    dynamic v10 = let final dynamic #t112 = "x" in let final dynamic #t113 = super.{self::Base::[]}(#t112).+(1) in let final dynamic #t114 = super.{self::Base::[]=}(#t112, #t113) in #t113;
-    dynamic v11 = let final dynamic #t115 = "x" in let final dynamic #t116 = super.{self::Base::[]}(#t115) in let final dynamic #t117 = super.{self::Base::[]=}(#t115, #t116.+(1)) in #t116;
-  }
-}
-abstract class Test5 extends self::Base<core::num*, core::num*> {
-  synthetic constructor •() → self::Test5*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t118 = "x" in let final dynamic #t119 = self::getInt() in let final dynamic #t120 = super.{self::Base::[]=}(#t118, #t119) in #t119;
-    dynamic v2 = let final dynamic #t121 = "x" in let final dynamic #t122 = self::getNum() in let final dynamic #t123 = super.{self::Base::[]=}(#t121, #t122) in #t122;
-    dynamic v3 = let final dynamic #t124 = "x" in let final dynamic #t125 = self::getDouble() in let final dynamic #t126 = super.{self::Base::[]=}(#t124, #t125) in #t125;
-    dynamic v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = super.{self::Base::[]}(#t127) in #t128.==(null) ? let final dynamic #t129 = self::getInt() in let final dynamic #t130 = super.{self::Base::[]=}(#t127, #t129) in #t129 : #t128;
-    dynamic v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = super.{self::Base::[]}(#t131) in #t132.==(null) ? let final dynamic #t133 = self::getNum() in let final dynamic #t134 = super.{self::Base::[]=}(#t131, #t133) in #t133 : #t132;
-    dynamic v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = super.{self::Base::[]}(#t135) in #t136.==(null) ? let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = super.{self::Base::[]=}(#t135, #t137) in #t137 : #t136;
-    dynamic v7 = let final dynamic #t139 = "x" in let final dynamic #t140 = super.{self::Base::[]}(#t139).+(self::getInt()) in let final dynamic #t141 = super.{self::Base::[]=}(#t139, #t140) in #t140;
-    dynamic v8 = let final dynamic #t142 = "x" in let final dynamic #t143 = super.{self::Base::[]}(#t142).+(self::getNum()) in let final dynamic #t144 = super.{self::Base::[]=}(#t142, #t143) in #t143;
-    dynamic v9 = let final dynamic #t145 = "x" in let final dynamic #t146 = super.{self::Base::[]}(#t145).+(self::getDouble()) in let final dynamic #t147 = super.{self::Base::[]=}(#t145, #t146) in #t146;
-    dynamic v10 = let final dynamic #t148 = "x" in let final dynamic #t149 = super.{self::Base::[]}(#t148).+(1) in let final dynamic #t150 = super.{self::Base::[]=}(#t148, #t149) in #t149;
-    dynamic v11 = let final dynamic #t151 = "x" in let final dynamic #t152 = super.{self::Base::[]}(#t151) in let final dynamic #t153 = super.{self::Base::[]=}(#t151, #t152.+(1)) in #t152;
-  }
-}
-abstract class Test6 extends self::Base<core::num*, core::double*> {
-  synthetic constructor •() → self::Test6*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v2 = let final dynamic #t154 = "x" in let final dynamic #t155 = self::getNum() in let final dynamic #t156 = super.{self::Base::[]=}(#t154, #t155) in #t155;
-    dynamic v3 = let final dynamic #t157 = "x" in let final dynamic #t158 = self::getDouble() in let final dynamic #t159 = super.{self::Base::[]=}(#t157, #t158) in #t158;
-    dynamic v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = super.{self::Base::[]}(#t160) in #t161.==(null) ? let final dynamic #t162 = self::getNum() in let final dynamic #t163 = super.{self::Base::[]=}(#t160, #t162) in #t162 : #t161;
-    dynamic v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = super.{self::Base::[]}(#t164) in #t165.==(null) ? let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = super.{self::Base::[]=}(#t164, #t166) in #t166 : #t165;
-    dynamic v7 = let final dynamic #t168 = "x" in let final dynamic #t169 = super.{self::Base::[]}(#t168).+(self::getInt()) in let final dynamic #t170 = super.{self::Base::[]=}(#t168, #t169) in #t169;
-    dynamic v8 = let final dynamic #t171 = "x" in let final dynamic #t172 = super.{self::Base::[]}(#t171).+(self::getNum()) in let final dynamic #t173 = super.{self::Base::[]=}(#t171, #t172) in #t172;
-    dynamic v9 = let final dynamic #t174 = "x" in let final dynamic #t175 = super.{self::Base::[]}(#t174).+(self::getDouble()) in let final dynamic #t176 = super.{self::Base::[]=}(#t174, #t175) in #t175;
-    dynamic v10 = let final dynamic #t177 = "x" in let final dynamic #t178 = super.{self::Base::[]}(#t177).+(1) in let final dynamic #t179 = super.{self::Base::[]=}(#t177, #t178) in #t178;
-    dynamic v11 = let final dynamic #t180 = "x" in let final dynamic #t181 = super.{self::Base::[]}(#t180) in let final dynamic #t182 = super.{self::Base::[]=}(#t180, #t181.+(1)) in #t181;
-  }
-}
-abstract class Test7 extends self::Base<core::double*, core::int*> {
-  synthetic constructor •() → self::Test7*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t183 = "x" in let final dynamic #t184 = self::getInt() in let final dynamic #t185 = super.{self::Base::[]=}(#t183, #t184) in #t184;
-    dynamic v2 = let final dynamic #t186 = "x" in let final dynamic #t187 = self::getNum() in let final dynamic #t188 = super.{self::Base::[]=}(#t186, #t187) in #t187;
-    dynamic v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = super.{self::Base::[]}(#t189) in #t190.==(null) ? let final dynamic #t191 = self::getInt() in let final dynamic #t192 = super.{self::Base::[]=}(#t189, #t191) in #t191 : #t190;
-    dynamic v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = super.{self::Base::[]}(#t193) in #t194.==(null) ? let final dynamic #t195 = self::getNum() in let final dynamic #t196 = super.{self::Base::[]=}(#t193, #t195) in #t195 : #t194;
-    dynamic v7 = let final dynamic #t197 = "x" in let final dynamic #t198 = super.{self::Base::[]}(#t197).+(self::getInt()) in let final dynamic #t199 = super.{self::Base::[]=}(#t197, #t198) in #t198;
-    dynamic v8 = let final dynamic #t200 = "x" in let final dynamic #t201 = super.{self::Base::[]}(#t200).+(self::getNum()) in let final dynamic #t202 = super.{self::Base::[]=}(#t200, #t201) in #t201;
-    dynamic v10 = let final dynamic #t203 = "x" in let final dynamic #t204 = super.{self::Base::[]}(#t203).+(1) in let final dynamic #t205 = super.{self::Base::[]=}(#t203, #t204) in #t204;
-    dynamic v11 = let final dynamic #t206 = "x" in let final dynamic #t207 = super.{self::Base::[]}(#t206) in let final dynamic #t208 = super.{self::Base::[]=}(#t206, #t207.+(1)) in #t207;
-  }
-}
-abstract class Test8 extends self::Base<core::double*, core::num*> {
-  synthetic constructor •() → self::Test8*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v1 = let final dynamic #t209 = "x" in let final dynamic #t210 = self::getInt() in let final dynamic #t211 = super.{self::Base::[]=}(#t209, #t210) in #t210;
-    dynamic v2 = let final dynamic #t212 = "x" in let final dynamic #t213 = self::getNum() in let final dynamic #t214 = super.{self::Base::[]=}(#t212, #t213) in #t213;
-    dynamic v3 = let final dynamic #t215 = "x" in let final dynamic #t216 = self::getDouble() in let final dynamic #t217 = super.{self::Base::[]=}(#t215, #t216) in #t216;
-    dynamic v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = super.{self::Base::[]}(#t218) in #t219.==(null) ? let final dynamic #t220 = self::getInt() in let final dynamic #t221 = super.{self::Base::[]=}(#t218, #t220) in #t220 : #t219;
-    dynamic v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = super.{self::Base::[]}(#t222) in #t223.==(null) ? let final dynamic #t224 = self::getNum() in let final dynamic #t225 = super.{self::Base::[]=}(#t222, #t224) in #t224 : #t223;
-    dynamic v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = super.{self::Base::[]}(#t226) in #t227.==(null) ? let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = super.{self::Base::[]=}(#t226, #t228) in #t228 : #t227;
-    dynamic v7 = let final dynamic #t230 = "x" in let final dynamic #t231 = super.{self::Base::[]}(#t230).+(self::getInt()) in let final dynamic #t232 = super.{self::Base::[]=}(#t230, #t231) in #t231;
-    dynamic v8 = let final dynamic #t233 = "x" in let final dynamic #t234 = super.{self::Base::[]}(#t233).+(self::getNum()) in let final dynamic #t235 = super.{self::Base::[]=}(#t233, #t234) in #t234;
-    dynamic v9 = let final dynamic #t236 = "x" in let final dynamic #t237 = super.{self::Base::[]}(#t236).+(self::getDouble()) in let final dynamic #t238 = super.{self::Base::[]=}(#t236, #t237) in #t237;
-    dynamic v10 = let final dynamic #t239 = "x" in let final dynamic #t240 = super.{self::Base::[]}(#t239).+(1) in let final dynamic #t241 = super.{self::Base::[]=}(#t239, #t240) in #t240;
-    dynamic v11 = let final dynamic #t242 = "x" in let final dynamic #t243 = super.{self::Base::[]}(#t242) in let final dynamic #t244 = super.{self::Base::[]=}(#t242, #t243.+(1)) in #t243;
-  }
-}
-abstract class Test9 extends self::Base<core::double*, core::double*> {
-  synthetic constructor •() → self::Test9*
-    : super self::Base::•()
-    ;
-  method test() → void {
-    dynamic v2 = let final dynamic #t245 = "x" in let final dynamic #t246 = self::getNum() in let final dynamic #t247 = super.{self::Base::[]=}(#t245, #t246) in #t246;
-    dynamic v3 = let final dynamic #t248 = "x" in let final dynamic #t249 = self::getDouble() in let final dynamic #t250 = super.{self::Base::[]=}(#t248, #t249) in #t249;
-    dynamic v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = super.{self::Base::[]}(#t251) in #t252.==(null) ? let final dynamic #t253 = self::getNum() in let final dynamic #t254 = super.{self::Base::[]=}(#t251, #t253) in #t253 : #t252;
-    dynamic v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = super.{self::Base::[]}(#t255) in #t256.==(null) ? let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = super.{self::Base::[]=}(#t255, #t257) in #t257 : #t256;
-    dynamic v7 = let final dynamic #t259 = "x" in let final dynamic #t260 = super.{self::Base::[]}(#t259).+(self::getInt()) in let final dynamic #t261 = super.{self::Base::[]=}(#t259, #t260) in #t260;
-    dynamic v8 = let final dynamic #t262 = "x" in let final dynamic #t263 = super.{self::Base::[]}(#t262).+(self::getNum()) in let final dynamic #t264 = super.{self::Base::[]=}(#t262, #t263) in #t263;
-    dynamic v9 = let final dynamic #t265 = "x" in let final dynamic #t266 = super.{self::Base::[]}(#t265).+(self::getDouble()) in let final dynamic #t267 = super.{self::Base::[]=}(#t265, #t266) in #t266;
-    dynamic v10 = let final dynamic #t268 = "x" in let final dynamic #t269 = super.{self::Base::[]}(#t268).+(1) in let final dynamic #t270 = super.{self::Base::[]=}(#t268, #t269) in #t269;
-    dynamic v11 = let final dynamic #t271 = "x" in let final dynamic #t272 = super.{self::Base::[]}(#t271) in let final dynamic #t273 = super.{self::Base::[]=}(#t271, #t272.+(1)) in #t272;
-  }
-}
-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_new/infer_assign_to_index_super_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.textual_outline.expect
index 532c44a..904a78c 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.textual_outline_modelled.expect
index 8860e7d..004ff8e 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class Base<T, U> {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_super_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart
index 9575841..8684930 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.hierarchy.expect
deleted file mode 100644
index 6e9f0e0..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,118 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Index:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.legacy.expect
deleted file mode 100644
index 8563b64..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.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 {
-    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 v3 = 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 v4 = 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 v5 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = this.[](#t24).&(self::f<dynamic>()) in let final dynamic #t26 = this.[]=(#t24, #t25) in #t25;
-    dynamic v6 = let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = this.[](#t27).-(1) in let final dynamic #t29 = this.[]=(#t27, #t28) in #t28;
-    dynamic v7 = let final dynamic #t30 = self::f<dynamic>() in let final dynamic #t31 = this.[](#t30) in let final dynamic #t32 = this.[]=(#t30, #t31.-(1)) in #t31;
-  }
-}
-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_new/infer_assign_to_index_this.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.legacy.transformed.expect
deleted file mode 100644
index 8563b64..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.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 {
-    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 v3 = 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 v4 = 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 v5 = let final dynamic #t24 = self::f<dynamic>() in let final dynamic #t25 = this.[](#t24).&(self::f<dynamic>()) in let final dynamic #t26 = this.[]=(#t24, #t25) in #t25;
-    dynamic v6 = let final dynamic #t27 = self::f<dynamic>() in let final dynamic #t28 = this.[](#t27).-(1) in let final dynamic #t29 = this.[]=(#t27, #t28) in #t28;
-    dynamic v7 = let final dynamic #t30 = self::f<dynamic>() in let final dynamic #t31 = this.[](#t30) in let final dynamic #t32 = this.[]=(#t30, #t31.-(1)) in #t31;
-  }
-}
-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_new/infer_assign_to_index_this.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.outline.expect
deleted file mode 100644
index 01bd466..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.outline.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class Index extends core::Object {
-  synthetic constructor •() → self::Index*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  operator +(self::C* v) → self::A*
-    ;
-  operator -(core::int* i) → self::B*
-    ;
-  operator *(self::B* v) → self::B*
-    ;
-  operator &(self::A* v) → self::C*
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-}
-class Test extends core::Object {
-  synthetic constructor •() → self::Test*
-    ;
-  operator [](self::Index* i) → self::B*
-    ;
-  operator []=(self::Index* i, self::B* v) → void
-    ;
-  method test() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.textual_outline.expect
index b37e03c..5ad8b13 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Index {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.textual_outline_modelled.expect
index e02d004..d66beca 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference_new/infer_assign_to_index_full.dart.outline.expect
copy to pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart
index 707cc68..f9e34c4 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.hierarchy.expect
deleted file mode 100644
index 8bd8660..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,199 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test1.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test1.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-
-Test2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test2.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test2.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-
-Test3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test3.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test3.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test3.test
-  classSetters:
-
-Test4:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test4.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test4.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test4.test
-  classSetters:
-
-Test5:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test5.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test5.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test5.test
-  classSetters:
-
-Test6:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test6.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test6.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test6.test
-  classSetters:
-
-Test7:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test7.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test7.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test7.test
-  classSetters:
-
-Test8:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test8.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test8.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test8.test
-  classSetters:
-
-Test9:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test9.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test9.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test9.test
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.legacy.expect
deleted file mode 100644
index 0c652b5..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,176 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class Test1 extends core::Object {
-  synthetic constructor •() → self::Test1*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::int*;
-  abstract operator []=(core::String* s, core::int* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t1 = "x" in let final dynamic #t2 = self::getInt() in let final dynamic #t3 = this.[]=(#t1, #t2) in #t2;
-    dynamic v2 = let final dynamic #t4 = "x" in let final dynamic #t5 = self::getNum() in let final dynamic #t6 = this.[]=(#t4, #t5) in #t5;
-    dynamic v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = this.[](#t7) in #t8.==(null) ? let final dynamic #t9 = self::getInt() in let final dynamic #t10 = this.[]=(#t7, #t9) in #t9 : #t8;
-    dynamic v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = this.[](#t11) in #t12.==(null) ? let final dynamic #t13 = self::getNum() in let final dynamic #t14 = this.[]=(#t11, #t13) in #t13 : #t12;
-    dynamic v7 = let final dynamic #t15 = "x" in let final dynamic #t16 = this.[](#t15).+(self::getInt()) in let final dynamic #t17 = this.[]=(#t15, #t16) in #t16;
-    dynamic v8 = let final dynamic #t18 = "x" in let final dynamic #t19 = this.[](#t18).+(self::getNum()) in let final dynamic #t20 = this.[]=(#t18, #t19) in #t19;
-    dynamic v10 = let final dynamic #t21 = "x" in let final dynamic #t22 = this.[](#t21).+(1) in let final dynamic #t23 = this.[]=(#t21, #t22) in #t22;
-    dynamic v11 = let final dynamic #t24 = "x" in let final dynamic #t25 = this.[](#t24) in let final dynamic #t26 = this.[]=(#t24, #t25.+(1)) in #t25;
-  }
-}
-abstract class Test2 extends core::Object {
-  synthetic constructor •() → self::Test2*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::int*;
-  abstract operator []=(core::String* s, core::num* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t27 = "x" in let final dynamic #t28 = self::getInt() in let final dynamic #t29 = this.[]=(#t27, #t28) in #t28;
-    dynamic v2 = let final dynamic #t30 = "x" in let final dynamic #t31 = self::getNum() in let final dynamic #t32 = this.[]=(#t30, #t31) in #t31;
-    dynamic v3 = let final dynamic #t33 = "x" in let final dynamic #t34 = self::getDouble() in let final dynamic #t35 = this.[]=(#t33, #t34) in #t34;
-    dynamic v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = this.[](#t36) in #t37.==(null) ? let final dynamic #t38 = self::getInt() in let final dynamic #t39 = this.[]=(#t36, #t38) in #t38 : #t37;
-    dynamic v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = this.[](#t40) in #t41.==(null) ? let final dynamic #t42 = self::getNum() in let final dynamic #t43 = this.[]=(#t40, #t42) in #t42 : #t41;
-    dynamic v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = this.[](#t44) in #t45.==(null) ? let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = this.[]=(#t44, #t46) in #t46 : #t45;
-    dynamic v7 = let final dynamic #t48 = "x" in let final dynamic #t49 = this.[](#t48).+(self::getInt()) in let final dynamic #t50 = this.[]=(#t48, #t49) in #t49;
-    dynamic v8 = let final dynamic #t51 = "x" in let final dynamic #t52 = this.[](#t51).+(self::getNum()) in let final dynamic #t53 = this.[]=(#t51, #t52) in #t52;
-    dynamic v9 = let final dynamic #t54 = "x" in let final dynamic #t55 = this.[](#t54).+(self::getDouble()) in let final dynamic #t56 = this.[]=(#t54, #t55) in #t55;
-    dynamic v10 = let final dynamic #t57 = "x" in let final dynamic #t58 = this.[](#t57).+(1) in let final dynamic #t59 = this.[]=(#t57, #t58) in #t58;
-    dynamic v11 = let final dynamic #t60 = "x" in let final dynamic #t61 = this.[](#t60) in let final dynamic #t62 = this.[]=(#t60, #t61.+(1)) in #t61;
-  }
-}
-abstract class Test3 extends core::Object {
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::int*;
-  abstract operator []=(core::String* s, core::double* v) → void;
-  method test() → void {
-    dynamic v2 = let final dynamic #t63 = "x" in let final dynamic #t64 = self::getNum() in let final dynamic #t65 = this.[]=(#t63, #t64) in #t64;
-    dynamic v3 = let final dynamic #t66 = "x" in let final dynamic #t67 = self::getDouble() in let final dynamic #t68 = this.[]=(#t66, #t67) in #t67;
-    dynamic v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = this.[](#t69) in #t70.==(null) ? let final dynamic #t71 = self::getNum() in let final dynamic #t72 = this.[]=(#t69, #t71) in #t71 : #t70;
-    dynamic v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = this.[](#t73) in #t74.==(null) ? let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = this.[]=(#t73, #t75) in #t75 : #t74;
-    dynamic v7 = let final dynamic #t77 = "x" in let final dynamic #t78 = this.[](#t77).+(self::getInt()) in let final dynamic #t79 = this.[]=(#t77, #t78) in #t78;
-    dynamic v8 = let final dynamic #t80 = "x" in let final dynamic #t81 = this.[](#t80).+(self::getNum()) in let final dynamic #t82 = this.[]=(#t80, #t81) in #t81;
-    dynamic v9 = let final dynamic #t83 = "x" in let final dynamic #t84 = this.[](#t83).+(self::getDouble()) in let final dynamic #t85 = this.[]=(#t83, #t84) in #t84;
-    dynamic v10 = let final dynamic #t86 = "x" in let final dynamic #t87 = this.[](#t86).+(1) in let final dynamic #t88 = this.[]=(#t86, #t87) in #t87;
-    dynamic v11 = let final dynamic #t89 = "x" in let final dynamic #t90 = this.[](#t89) in let final dynamic #t91 = this.[]=(#t89, #t90.+(1)) in #t90;
-  }
-}
-abstract class Test4 extends core::Object {
-  synthetic constructor •() → self::Test4*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::num*;
-  abstract operator []=(core::String* s, core::int* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t92 = "x" in let final dynamic #t93 = self::getInt() in let final dynamic #t94 = this.[]=(#t92, #t93) in #t93;
-    dynamic v2 = let final dynamic #t95 = "x" in let final dynamic #t96 = self::getNum() in let final dynamic #t97 = this.[]=(#t95, #t96) in #t96;
-    dynamic v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = this.[](#t98) in #t99.==(null) ? let final dynamic #t100 = self::getInt() in let final dynamic #t101 = this.[]=(#t98, #t100) in #t100 : #t99;
-    dynamic v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = this.[](#t102) in #t103.==(null) ? let final dynamic #t104 = self::getNum() in let final dynamic #t105 = this.[]=(#t102, #t104) in #t104 : #t103;
-    dynamic v7 = let final dynamic #t106 = "x" in let final dynamic #t107 = this.[](#t106).+(self::getInt()) in let final dynamic #t108 = this.[]=(#t106, #t107) in #t107;
-    dynamic v8 = let final dynamic #t109 = "x" in let final dynamic #t110 = this.[](#t109).+(self::getNum()) in let final dynamic #t111 = this.[]=(#t109, #t110) in #t110;
-    dynamic v10 = let final dynamic #t112 = "x" in let final dynamic #t113 = this.[](#t112).+(1) in let final dynamic #t114 = this.[]=(#t112, #t113) in #t113;
-    dynamic v11 = let final dynamic #t115 = "x" in let final dynamic #t116 = this.[](#t115) in let final dynamic #t117 = this.[]=(#t115, #t116.+(1)) in #t116;
-  }
-}
-abstract class Test5 extends core::Object {
-  synthetic constructor •() → self::Test5*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::num*;
-  abstract operator []=(core::String* s, core::num* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t118 = "x" in let final dynamic #t119 = self::getInt() in let final dynamic #t120 = this.[]=(#t118, #t119) in #t119;
-    dynamic v2 = let final dynamic #t121 = "x" in let final dynamic #t122 = self::getNum() in let final dynamic #t123 = this.[]=(#t121, #t122) in #t122;
-    dynamic v3 = let final dynamic #t124 = "x" in let final dynamic #t125 = self::getDouble() in let final dynamic #t126 = this.[]=(#t124, #t125) in #t125;
-    dynamic v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = this.[](#t127) in #t128.==(null) ? let final dynamic #t129 = self::getInt() in let final dynamic #t130 = this.[]=(#t127, #t129) in #t129 : #t128;
-    dynamic v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = this.[](#t131) in #t132.==(null) ? let final dynamic #t133 = self::getNum() in let final dynamic #t134 = this.[]=(#t131, #t133) in #t133 : #t132;
-    dynamic v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = this.[](#t135) in #t136.==(null) ? let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = this.[]=(#t135, #t137) in #t137 : #t136;
-    dynamic v7 = let final dynamic #t139 = "x" in let final dynamic #t140 = this.[](#t139).+(self::getInt()) in let final dynamic #t141 = this.[]=(#t139, #t140) in #t140;
-    dynamic v8 = let final dynamic #t142 = "x" in let final dynamic #t143 = this.[](#t142).+(self::getNum()) in let final dynamic #t144 = this.[]=(#t142, #t143) in #t143;
-    dynamic v9 = let final dynamic #t145 = "x" in let final dynamic #t146 = this.[](#t145).+(self::getDouble()) in let final dynamic #t147 = this.[]=(#t145, #t146) in #t146;
-    dynamic v10 = let final dynamic #t148 = "x" in let final dynamic #t149 = this.[](#t148).+(1) in let final dynamic #t150 = this.[]=(#t148, #t149) in #t149;
-    dynamic v11 = let final dynamic #t151 = "x" in let final dynamic #t152 = this.[](#t151) in let final dynamic #t153 = this.[]=(#t151, #t152.+(1)) in #t152;
-  }
-}
-abstract class Test6 extends core::Object {
-  synthetic constructor •() → self::Test6*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::num*;
-  abstract operator []=(core::String* s, core::double* v) → void;
-  method test() → void {
-    dynamic v2 = let final dynamic #t154 = "x" in let final dynamic #t155 = self::getNum() in let final dynamic #t156 = this.[]=(#t154, #t155) in #t155;
-    dynamic v3 = let final dynamic #t157 = "x" in let final dynamic #t158 = self::getDouble() in let final dynamic #t159 = this.[]=(#t157, #t158) in #t158;
-    dynamic v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = this.[](#t160) in #t161.==(null) ? let final dynamic #t162 = self::getNum() in let final dynamic #t163 = this.[]=(#t160, #t162) in #t162 : #t161;
-    dynamic v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = this.[](#t164) in #t165.==(null) ? let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = this.[]=(#t164, #t166) in #t166 : #t165;
-    dynamic v7 = let final dynamic #t168 = "x" in let final dynamic #t169 = this.[](#t168).+(self::getInt()) in let final dynamic #t170 = this.[]=(#t168, #t169) in #t169;
-    dynamic v8 = let final dynamic #t171 = "x" in let final dynamic #t172 = this.[](#t171).+(self::getNum()) in let final dynamic #t173 = this.[]=(#t171, #t172) in #t172;
-    dynamic v9 = let final dynamic #t174 = "x" in let final dynamic #t175 = this.[](#t174).+(self::getDouble()) in let final dynamic #t176 = this.[]=(#t174, #t175) in #t175;
-    dynamic v10 = let final dynamic #t177 = "x" in let final dynamic #t178 = this.[](#t177).+(1) in let final dynamic #t179 = this.[]=(#t177, #t178) in #t178;
-    dynamic v11 = let final dynamic #t180 = "x" in let final dynamic #t181 = this.[](#t180) in let final dynamic #t182 = this.[]=(#t180, #t181.+(1)) in #t181;
-  }
-}
-abstract class Test7 extends core::Object {
-  synthetic constructor •() → self::Test7*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::double*;
-  abstract operator []=(core::String* s, core::int* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t183 = "x" in let final dynamic #t184 = self::getInt() in let final dynamic #t185 = this.[]=(#t183, #t184) in #t184;
-    dynamic v2 = let final dynamic #t186 = "x" in let final dynamic #t187 = self::getNum() in let final dynamic #t188 = this.[]=(#t186, #t187) in #t187;
-    dynamic v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = this.[](#t189) in #t190.==(null) ? let final dynamic #t191 = self::getInt() in let final dynamic #t192 = this.[]=(#t189, #t191) in #t191 : #t190;
-    dynamic v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = this.[](#t193) in #t194.==(null) ? let final dynamic #t195 = self::getNum() in let final dynamic #t196 = this.[]=(#t193, #t195) in #t195 : #t194;
-    dynamic v7 = let final dynamic #t197 = "x" in let final dynamic #t198 = this.[](#t197).+(self::getInt()) in let final dynamic #t199 = this.[]=(#t197, #t198) in #t198;
-    dynamic v8 = let final dynamic #t200 = "x" in let final dynamic #t201 = this.[](#t200).+(self::getNum()) in let final dynamic #t202 = this.[]=(#t200, #t201) in #t201;
-    dynamic v10 = let final dynamic #t203 = "x" in let final dynamic #t204 = this.[](#t203).+(1) in let final dynamic #t205 = this.[]=(#t203, #t204) in #t204;
-    dynamic v11 = let final dynamic #t206 = "x" in let final dynamic #t207 = this.[](#t206) in let final dynamic #t208 = this.[]=(#t206, #t207.+(1)) in #t207;
-  }
-}
-abstract class Test8 extends core::Object {
-  synthetic constructor •() → self::Test8*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::double*;
-  abstract operator []=(core::String* s, core::num* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t209 = "x" in let final dynamic #t210 = self::getInt() in let final dynamic #t211 = this.[]=(#t209, #t210) in #t210;
-    dynamic v2 = let final dynamic #t212 = "x" in let final dynamic #t213 = self::getNum() in let final dynamic #t214 = this.[]=(#t212, #t213) in #t213;
-    dynamic v3 = let final dynamic #t215 = "x" in let final dynamic #t216 = self::getDouble() in let final dynamic #t217 = this.[]=(#t215, #t216) in #t216;
-    dynamic v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = this.[](#t218) in #t219.==(null) ? let final dynamic #t220 = self::getInt() in let final dynamic #t221 = this.[]=(#t218, #t220) in #t220 : #t219;
-    dynamic v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = this.[](#t222) in #t223.==(null) ? let final dynamic #t224 = self::getNum() in let final dynamic #t225 = this.[]=(#t222, #t224) in #t224 : #t223;
-    dynamic v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = this.[](#t226) in #t227.==(null) ? let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = this.[]=(#t226, #t228) in #t228 : #t227;
-    dynamic v7 = let final dynamic #t230 = "x" in let final dynamic #t231 = this.[](#t230).+(self::getInt()) in let final dynamic #t232 = this.[]=(#t230, #t231) in #t231;
-    dynamic v8 = let final dynamic #t233 = "x" in let final dynamic #t234 = this.[](#t233).+(self::getNum()) in let final dynamic #t235 = this.[]=(#t233, #t234) in #t234;
-    dynamic v9 = let final dynamic #t236 = "x" in let final dynamic #t237 = this.[](#t236).+(self::getDouble()) in let final dynamic #t238 = this.[]=(#t236, #t237) in #t237;
-    dynamic v10 = let final dynamic #t239 = "x" in let final dynamic #t240 = this.[](#t239).+(1) in let final dynamic #t241 = this.[]=(#t239, #t240) in #t240;
-    dynamic v11 = let final dynamic #t242 = "x" in let final dynamic #t243 = this.[](#t242) in let final dynamic #t244 = this.[]=(#t242, #t243.+(1)) in #t243;
-  }
-}
-abstract class Test9 extends core::Object {
-  synthetic constructor •() → self::Test9*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::double*;
-  abstract operator []=(core::String* s, core::double* v) → void;
-  method test() → void {
-    dynamic v2 = let final dynamic #t245 = "x" in let final dynamic #t246 = self::getNum() in let final dynamic #t247 = this.[]=(#t245, #t246) in #t246;
-    dynamic v3 = let final dynamic #t248 = "x" in let final dynamic #t249 = self::getDouble() in let final dynamic #t250 = this.[]=(#t248, #t249) in #t249;
-    dynamic v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = this.[](#t251) in #t252.==(null) ? let final dynamic #t253 = self::getNum() in let final dynamic #t254 = this.[]=(#t251, #t253) in #t253 : #t252;
-    dynamic v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = this.[](#t255) in #t256.==(null) ? let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = this.[]=(#t255, #t257) in #t257 : #t256;
-    dynamic v7 = let final dynamic #t259 = "x" in let final dynamic #t260 = this.[](#t259).+(self::getInt()) in let final dynamic #t261 = this.[]=(#t259, #t260) in #t260;
-    dynamic v8 = let final dynamic #t262 = "x" in let final dynamic #t263 = this.[](#t262).+(self::getNum()) in let final dynamic #t264 = this.[]=(#t262, #t263) in #t263;
-    dynamic v9 = let final dynamic #t265 = "x" in let final dynamic #t266 = this.[](#t265).+(self::getDouble()) in let final dynamic #t267 = this.[]=(#t265, #t266) in #t266;
-    dynamic v10 = let final dynamic #t268 = "x" in let final dynamic #t269 = this.[](#t268).+(1) in let final dynamic #t270 = this.[]=(#t268, #t269) in #t269;
-    dynamic v11 = let final dynamic #t271 = "x" in let final dynamic #t272 = this.[](#t271) in let final dynamic #t273 = this.[]=(#t271, #t272.+(1)) in #t272;
-  }
-}
-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_new/infer_assign_to_index_this_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 0c652b5..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,176 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class Test1 extends core::Object {
-  synthetic constructor •() → self::Test1*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::int*;
-  abstract operator []=(core::String* s, core::int* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t1 = "x" in let final dynamic #t2 = self::getInt() in let final dynamic #t3 = this.[]=(#t1, #t2) in #t2;
-    dynamic v2 = let final dynamic #t4 = "x" in let final dynamic #t5 = self::getNum() in let final dynamic #t6 = this.[]=(#t4, #t5) in #t5;
-    dynamic v4 = let final dynamic #t7 = "x" in let final dynamic #t8 = this.[](#t7) in #t8.==(null) ? let final dynamic #t9 = self::getInt() in let final dynamic #t10 = this.[]=(#t7, #t9) in #t9 : #t8;
-    dynamic v5 = let final dynamic #t11 = "x" in let final dynamic #t12 = this.[](#t11) in #t12.==(null) ? let final dynamic #t13 = self::getNum() in let final dynamic #t14 = this.[]=(#t11, #t13) in #t13 : #t12;
-    dynamic v7 = let final dynamic #t15 = "x" in let final dynamic #t16 = this.[](#t15).+(self::getInt()) in let final dynamic #t17 = this.[]=(#t15, #t16) in #t16;
-    dynamic v8 = let final dynamic #t18 = "x" in let final dynamic #t19 = this.[](#t18).+(self::getNum()) in let final dynamic #t20 = this.[]=(#t18, #t19) in #t19;
-    dynamic v10 = let final dynamic #t21 = "x" in let final dynamic #t22 = this.[](#t21).+(1) in let final dynamic #t23 = this.[]=(#t21, #t22) in #t22;
-    dynamic v11 = let final dynamic #t24 = "x" in let final dynamic #t25 = this.[](#t24) in let final dynamic #t26 = this.[]=(#t24, #t25.+(1)) in #t25;
-  }
-}
-abstract class Test2 extends core::Object {
-  synthetic constructor •() → self::Test2*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::int*;
-  abstract operator []=(core::String* s, core::num* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t27 = "x" in let final dynamic #t28 = self::getInt() in let final dynamic #t29 = this.[]=(#t27, #t28) in #t28;
-    dynamic v2 = let final dynamic #t30 = "x" in let final dynamic #t31 = self::getNum() in let final dynamic #t32 = this.[]=(#t30, #t31) in #t31;
-    dynamic v3 = let final dynamic #t33 = "x" in let final dynamic #t34 = self::getDouble() in let final dynamic #t35 = this.[]=(#t33, #t34) in #t34;
-    dynamic v4 = let final dynamic #t36 = "x" in let final dynamic #t37 = this.[](#t36) in #t37.==(null) ? let final dynamic #t38 = self::getInt() in let final dynamic #t39 = this.[]=(#t36, #t38) in #t38 : #t37;
-    dynamic v5 = let final dynamic #t40 = "x" in let final dynamic #t41 = this.[](#t40) in #t41.==(null) ? let final dynamic #t42 = self::getNum() in let final dynamic #t43 = this.[]=(#t40, #t42) in #t42 : #t41;
-    dynamic v6 = let final dynamic #t44 = "x" in let final dynamic #t45 = this.[](#t44) in #t45.==(null) ? let final dynamic #t46 = self::getDouble() in let final dynamic #t47 = this.[]=(#t44, #t46) in #t46 : #t45;
-    dynamic v7 = let final dynamic #t48 = "x" in let final dynamic #t49 = this.[](#t48).+(self::getInt()) in let final dynamic #t50 = this.[]=(#t48, #t49) in #t49;
-    dynamic v8 = let final dynamic #t51 = "x" in let final dynamic #t52 = this.[](#t51).+(self::getNum()) in let final dynamic #t53 = this.[]=(#t51, #t52) in #t52;
-    dynamic v9 = let final dynamic #t54 = "x" in let final dynamic #t55 = this.[](#t54).+(self::getDouble()) in let final dynamic #t56 = this.[]=(#t54, #t55) in #t55;
-    dynamic v10 = let final dynamic #t57 = "x" in let final dynamic #t58 = this.[](#t57).+(1) in let final dynamic #t59 = this.[]=(#t57, #t58) in #t58;
-    dynamic v11 = let final dynamic #t60 = "x" in let final dynamic #t61 = this.[](#t60) in let final dynamic #t62 = this.[]=(#t60, #t61.+(1)) in #t61;
-  }
-}
-abstract class Test3 extends core::Object {
-  synthetic constructor •() → self::Test3*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::int*;
-  abstract operator []=(core::String* s, core::double* v) → void;
-  method test() → void {
-    dynamic v2 = let final dynamic #t63 = "x" in let final dynamic #t64 = self::getNum() in let final dynamic #t65 = this.[]=(#t63, #t64) in #t64;
-    dynamic v3 = let final dynamic #t66 = "x" in let final dynamic #t67 = self::getDouble() in let final dynamic #t68 = this.[]=(#t66, #t67) in #t67;
-    dynamic v5 = let final dynamic #t69 = "x" in let final dynamic #t70 = this.[](#t69) in #t70.==(null) ? let final dynamic #t71 = self::getNum() in let final dynamic #t72 = this.[]=(#t69, #t71) in #t71 : #t70;
-    dynamic v6 = let final dynamic #t73 = "x" in let final dynamic #t74 = this.[](#t73) in #t74.==(null) ? let final dynamic #t75 = self::getDouble() in let final dynamic #t76 = this.[]=(#t73, #t75) in #t75 : #t74;
-    dynamic v7 = let final dynamic #t77 = "x" in let final dynamic #t78 = this.[](#t77).+(self::getInt()) in let final dynamic #t79 = this.[]=(#t77, #t78) in #t78;
-    dynamic v8 = let final dynamic #t80 = "x" in let final dynamic #t81 = this.[](#t80).+(self::getNum()) in let final dynamic #t82 = this.[]=(#t80, #t81) in #t81;
-    dynamic v9 = let final dynamic #t83 = "x" in let final dynamic #t84 = this.[](#t83).+(self::getDouble()) in let final dynamic #t85 = this.[]=(#t83, #t84) in #t84;
-    dynamic v10 = let final dynamic #t86 = "x" in let final dynamic #t87 = this.[](#t86).+(1) in let final dynamic #t88 = this.[]=(#t86, #t87) in #t87;
-    dynamic v11 = let final dynamic #t89 = "x" in let final dynamic #t90 = this.[](#t89) in let final dynamic #t91 = this.[]=(#t89, #t90.+(1)) in #t90;
-  }
-}
-abstract class Test4 extends core::Object {
-  synthetic constructor •() → self::Test4*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::num*;
-  abstract operator []=(core::String* s, core::int* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t92 = "x" in let final dynamic #t93 = self::getInt() in let final dynamic #t94 = this.[]=(#t92, #t93) in #t93;
-    dynamic v2 = let final dynamic #t95 = "x" in let final dynamic #t96 = self::getNum() in let final dynamic #t97 = this.[]=(#t95, #t96) in #t96;
-    dynamic v4 = let final dynamic #t98 = "x" in let final dynamic #t99 = this.[](#t98) in #t99.==(null) ? let final dynamic #t100 = self::getInt() in let final dynamic #t101 = this.[]=(#t98, #t100) in #t100 : #t99;
-    dynamic v5 = let final dynamic #t102 = "x" in let final dynamic #t103 = this.[](#t102) in #t103.==(null) ? let final dynamic #t104 = self::getNum() in let final dynamic #t105 = this.[]=(#t102, #t104) in #t104 : #t103;
-    dynamic v7 = let final dynamic #t106 = "x" in let final dynamic #t107 = this.[](#t106).+(self::getInt()) in let final dynamic #t108 = this.[]=(#t106, #t107) in #t107;
-    dynamic v8 = let final dynamic #t109 = "x" in let final dynamic #t110 = this.[](#t109).+(self::getNum()) in let final dynamic #t111 = this.[]=(#t109, #t110) in #t110;
-    dynamic v10 = let final dynamic #t112 = "x" in let final dynamic #t113 = this.[](#t112).+(1) in let final dynamic #t114 = this.[]=(#t112, #t113) in #t113;
-    dynamic v11 = let final dynamic #t115 = "x" in let final dynamic #t116 = this.[](#t115) in let final dynamic #t117 = this.[]=(#t115, #t116.+(1)) in #t116;
-  }
-}
-abstract class Test5 extends core::Object {
-  synthetic constructor •() → self::Test5*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::num*;
-  abstract operator []=(core::String* s, core::num* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t118 = "x" in let final dynamic #t119 = self::getInt() in let final dynamic #t120 = this.[]=(#t118, #t119) in #t119;
-    dynamic v2 = let final dynamic #t121 = "x" in let final dynamic #t122 = self::getNum() in let final dynamic #t123 = this.[]=(#t121, #t122) in #t122;
-    dynamic v3 = let final dynamic #t124 = "x" in let final dynamic #t125 = self::getDouble() in let final dynamic #t126 = this.[]=(#t124, #t125) in #t125;
-    dynamic v4 = let final dynamic #t127 = "x" in let final dynamic #t128 = this.[](#t127) in #t128.==(null) ? let final dynamic #t129 = self::getInt() in let final dynamic #t130 = this.[]=(#t127, #t129) in #t129 : #t128;
-    dynamic v5 = let final dynamic #t131 = "x" in let final dynamic #t132 = this.[](#t131) in #t132.==(null) ? let final dynamic #t133 = self::getNum() in let final dynamic #t134 = this.[]=(#t131, #t133) in #t133 : #t132;
-    dynamic v6 = let final dynamic #t135 = "x" in let final dynamic #t136 = this.[](#t135) in #t136.==(null) ? let final dynamic #t137 = self::getDouble() in let final dynamic #t138 = this.[]=(#t135, #t137) in #t137 : #t136;
-    dynamic v7 = let final dynamic #t139 = "x" in let final dynamic #t140 = this.[](#t139).+(self::getInt()) in let final dynamic #t141 = this.[]=(#t139, #t140) in #t140;
-    dynamic v8 = let final dynamic #t142 = "x" in let final dynamic #t143 = this.[](#t142).+(self::getNum()) in let final dynamic #t144 = this.[]=(#t142, #t143) in #t143;
-    dynamic v9 = let final dynamic #t145 = "x" in let final dynamic #t146 = this.[](#t145).+(self::getDouble()) in let final dynamic #t147 = this.[]=(#t145, #t146) in #t146;
-    dynamic v10 = let final dynamic #t148 = "x" in let final dynamic #t149 = this.[](#t148).+(1) in let final dynamic #t150 = this.[]=(#t148, #t149) in #t149;
-    dynamic v11 = let final dynamic #t151 = "x" in let final dynamic #t152 = this.[](#t151) in let final dynamic #t153 = this.[]=(#t151, #t152.+(1)) in #t152;
-  }
-}
-abstract class Test6 extends core::Object {
-  synthetic constructor •() → self::Test6*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::num*;
-  abstract operator []=(core::String* s, core::double* v) → void;
-  method test() → void {
-    dynamic v2 = let final dynamic #t154 = "x" in let final dynamic #t155 = self::getNum() in let final dynamic #t156 = this.[]=(#t154, #t155) in #t155;
-    dynamic v3 = let final dynamic #t157 = "x" in let final dynamic #t158 = self::getDouble() in let final dynamic #t159 = this.[]=(#t157, #t158) in #t158;
-    dynamic v5 = let final dynamic #t160 = "x" in let final dynamic #t161 = this.[](#t160) in #t161.==(null) ? let final dynamic #t162 = self::getNum() in let final dynamic #t163 = this.[]=(#t160, #t162) in #t162 : #t161;
-    dynamic v6 = let final dynamic #t164 = "x" in let final dynamic #t165 = this.[](#t164) in #t165.==(null) ? let final dynamic #t166 = self::getDouble() in let final dynamic #t167 = this.[]=(#t164, #t166) in #t166 : #t165;
-    dynamic v7 = let final dynamic #t168 = "x" in let final dynamic #t169 = this.[](#t168).+(self::getInt()) in let final dynamic #t170 = this.[]=(#t168, #t169) in #t169;
-    dynamic v8 = let final dynamic #t171 = "x" in let final dynamic #t172 = this.[](#t171).+(self::getNum()) in let final dynamic #t173 = this.[]=(#t171, #t172) in #t172;
-    dynamic v9 = let final dynamic #t174 = "x" in let final dynamic #t175 = this.[](#t174).+(self::getDouble()) in let final dynamic #t176 = this.[]=(#t174, #t175) in #t175;
-    dynamic v10 = let final dynamic #t177 = "x" in let final dynamic #t178 = this.[](#t177).+(1) in let final dynamic #t179 = this.[]=(#t177, #t178) in #t178;
-    dynamic v11 = let final dynamic #t180 = "x" in let final dynamic #t181 = this.[](#t180) in let final dynamic #t182 = this.[]=(#t180, #t181.+(1)) in #t181;
-  }
-}
-abstract class Test7 extends core::Object {
-  synthetic constructor •() → self::Test7*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::double*;
-  abstract operator []=(core::String* s, core::int* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t183 = "x" in let final dynamic #t184 = self::getInt() in let final dynamic #t185 = this.[]=(#t183, #t184) in #t184;
-    dynamic v2 = let final dynamic #t186 = "x" in let final dynamic #t187 = self::getNum() in let final dynamic #t188 = this.[]=(#t186, #t187) in #t187;
-    dynamic v4 = let final dynamic #t189 = "x" in let final dynamic #t190 = this.[](#t189) in #t190.==(null) ? let final dynamic #t191 = self::getInt() in let final dynamic #t192 = this.[]=(#t189, #t191) in #t191 : #t190;
-    dynamic v5 = let final dynamic #t193 = "x" in let final dynamic #t194 = this.[](#t193) in #t194.==(null) ? let final dynamic #t195 = self::getNum() in let final dynamic #t196 = this.[]=(#t193, #t195) in #t195 : #t194;
-    dynamic v7 = let final dynamic #t197 = "x" in let final dynamic #t198 = this.[](#t197).+(self::getInt()) in let final dynamic #t199 = this.[]=(#t197, #t198) in #t198;
-    dynamic v8 = let final dynamic #t200 = "x" in let final dynamic #t201 = this.[](#t200).+(self::getNum()) in let final dynamic #t202 = this.[]=(#t200, #t201) in #t201;
-    dynamic v10 = let final dynamic #t203 = "x" in let final dynamic #t204 = this.[](#t203).+(1) in let final dynamic #t205 = this.[]=(#t203, #t204) in #t204;
-    dynamic v11 = let final dynamic #t206 = "x" in let final dynamic #t207 = this.[](#t206) in let final dynamic #t208 = this.[]=(#t206, #t207.+(1)) in #t207;
-  }
-}
-abstract class Test8 extends core::Object {
-  synthetic constructor •() → self::Test8*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::double*;
-  abstract operator []=(core::String* s, core::num* v) → void;
-  method test() → void {
-    dynamic v1 = let final dynamic #t209 = "x" in let final dynamic #t210 = self::getInt() in let final dynamic #t211 = this.[]=(#t209, #t210) in #t210;
-    dynamic v2 = let final dynamic #t212 = "x" in let final dynamic #t213 = self::getNum() in let final dynamic #t214 = this.[]=(#t212, #t213) in #t213;
-    dynamic v3 = let final dynamic #t215 = "x" in let final dynamic #t216 = self::getDouble() in let final dynamic #t217 = this.[]=(#t215, #t216) in #t216;
-    dynamic v4 = let final dynamic #t218 = "x" in let final dynamic #t219 = this.[](#t218) in #t219.==(null) ? let final dynamic #t220 = self::getInt() in let final dynamic #t221 = this.[]=(#t218, #t220) in #t220 : #t219;
-    dynamic v5 = let final dynamic #t222 = "x" in let final dynamic #t223 = this.[](#t222) in #t223.==(null) ? let final dynamic #t224 = self::getNum() in let final dynamic #t225 = this.[]=(#t222, #t224) in #t224 : #t223;
-    dynamic v6 = let final dynamic #t226 = "x" in let final dynamic #t227 = this.[](#t226) in #t227.==(null) ? let final dynamic #t228 = self::getDouble() in let final dynamic #t229 = this.[]=(#t226, #t228) in #t228 : #t227;
-    dynamic v7 = let final dynamic #t230 = "x" in let final dynamic #t231 = this.[](#t230).+(self::getInt()) in let final dynamic #t232 = this.[]=(#t230, #t231) in #t231;
-    dynamic v8 = let final dynamic #t233 = "x" in let final dynamic #t234 = this.[](#t233).+(self::getNum()) in let final dynamic #t235 = this.[]=(#t233, #t234) in #t234;
-    dynamic v9 = let final dynamic #t236 = "x" in let final dynamic #t237 = this.[](#t236).+(self::getDouble()) in let final dynamic #t238 = this.[]=(#t236, #t237) in #t237;
-    dynamic v10 = let final dynamic #t239 = "x" in let final dynamic #t240 = this.[](#t239).+(1) in let final dynamic #t241 = this.[]=(#t239, #t240) in #t240;
-    dynamic v11 = let final dynamic #t242 = "x" in let final dynamic #t243 = this.[](#t242) in let final dynamic #t244 = this.[]=(#t242, #t243.+(1)) in #t243;
-  }
-}
-abstract class Test9 extends core::Object {
-  synthetic constructor •() → self::Test9*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → core::double*;
-  abstract operator []=(core::String* s, core::double* v) → void;
-  method test() → void {
-    dynamic v2 = let final dynamic #t245 = "x" in let final dynamic #t246 = self::getNum() in let final dynamic #t247 = this.[]=(#t245, #t246) in #t246;
-    dynamic v3 = let final dynamic #t248 = "x" in let final dynamic #t249 = self::getDouble() in let final dynamic #t250 = this.[]=(#t248, #t249) in #t249;
-    dynamic v5 = let final dynamic #t251 = "x" in let final dynamic #t252 = this.[](#t251) in #t252.==(null) ? let final dynamic #t253 = self::getNum() in let final dynamic #t254 = this.[]=(#t251, #t253) in #t253 : #t252;
-    dynamic v6 = let final dynamic #t255 = "x" in let final dynamic #t256 = this.[](#t255) in #t256.==(null) ? let final dynamic #t257 = self::getDouble() in let final dynamic #t258 = this.[]=(#t255, #t257) in #t257 : #t256;
-    dynamic v7 = let final dynamic #t259 = "x" in let final dynamic #t260 = this.[](#t259).+(self::getInt()) in let final dynamic #t261 = this.[]=(#t259, #t260) in #t260;
-    dynamic v8 = let final dynamic #t262 = "x" in let final dynamic #t263 = this.[](#t262).+(self::getNum()) in let final dynamic #t264 = this.[]=(#t262, #t263) in #t263;
-    dynamic v9 = let final dynamic #t265 = "x" in let final dynamic #t266 = this.[](#t265).+(self::getDouble()) in let final dynamic #t267 = this.[]=(#t265, #t266) in #t266;
-    dynamic v10 = let final dynamic #t268 = "x" in let final dynamic #t269 = this.[](#t268).+(1) in let final dynamic #t270 = this.[]=(#t268, #t269) in #t269;
-    dynamic v11 = let final dynamic #t271 = "x" in let final dynamic #t272 = this.[](#t271) in let final dynamic #t273 = this.[]=(#t271, #t272.+(1)) in #t272;
-  }
-}
-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_new/infer_assign_to_index_this_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.textual_outline.expect
index d4cf186..54c093a 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.textual_outline_modelled.expect
index 97ebc39..7266f8c 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class Test1 {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_this_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart
index 7c7e04b..caebb26 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.hierarchy.expect
deleted file mode 100644
index 38b0b8c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Test.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.legacy.expect
deleted file mode 100644
index 17b808c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,120 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class Test<T extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Test<self::Test::T*, self::Test::U*>*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → self::Test::T*;
-  abstract operator []=(core::String* s, generic-covariant-impl self::Test::U* v) → void;
-}
-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(self::Test<core::int*, core::int*>* t) → void {
-  dynamic v1 = let final dynamic #t1 = t in let final dynamic #t2 = "x" in let final dynamic #t3 = self::getInt() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3;
-  dynamic v2 = let final dynamic #t5 = t in let final dynamic #t6 = "x" in let final dynamic #t7 = self::getNum() in let final dynamic #t8 = #t5.[]=(#t6, #t7) in #t7;
-  dynamic v4 = let final dynamic #t9 = t in let final dynamic #t10 = "x" in let final dynamic #t11 = #t9.[](#t10) in #t11.==(null) ? let final dynamic #t12 = self::getInt() in let final dynamic #t13 = #t9.[]=(#t10, #t12) in #t12 : #t11;
-  dynamic v5 = let final dynamic #t14 = t in let final dynamic #t15 = "x" in let final dynamic #t16 = #t14.[](#t15) in #t16.==(null) ? let final dynamic #t17 = self::getNum() in let final dynamic #t18 = #t14.[]=(#t15, #t17) in #t17 : #t16;
-  dynamic v7 = let final dynamic #t19 = t in let final dynamic #t20 = "x" in let final dynamic #t21 = #t19.[](#t20).+(self::getInt()) in let final dynamic #t22 = #t19.[]=(#t20, #t21) in #t21;
-  dynamic v8 = let final dynamic #t23 = t in let final dynamic #t24 = "x" in let final dynamic #t25 = #t23.[](#t24).+(self::getNum()) in let final dynamic #t26 = #t23.[]=(#t24, #t25) in #t25;
-  dynamic v10 = let final dynamic #t27 = t in let final dynamic #t28 = "x" in let final dynamic #t29 = #t27.[](#t28).+(1) in let final dynamic #t30 = #t27.[]=(#t28, #t29) in #t29;
-  dynamic v11 = let final dynamic #t31 = t in let final dynamic #t32 = "x" in let final dynamic #t33 = #t31.[](#t32) in let final dynamic #t34 = #t31.[]=(#t32, #t33.+(1)) in #t33;
-}
-static method test2(self::Test<core::int*, core::num*>* t) → void {
-  dynamic v1 = let final dynamic #t35 = t in let final dynamic #t36 = "x" in let final dynamic #t37 = self::getInt() in let final dynamic #t38 = #t35.[]=(#t36, #t37) in #t37;
-  dynamic v2 = let final dynamic #t39 = t in let final dynamic #t40 = "x" in let final dynamic #t41 = self::getNum() in let final dynamic #t42 = #t39.[]=(#t40, #t41) in #t41;
-  dynamic v3 = let final dynamic #t43 = t in let final dynamic #t44 = "x" in let final dynamic #t45 = self::getDouble() in let final dynamic #t46 = #t43.[]=(#t44, #t45) in #t45;
-  dynamic v4 = let final dynamic #t47 = t in let final dynamic #t48 = "x" in let final dynamic #t49 = #t47.[](#t48) in #t49.==(null) ? let final dynamic #t50 = self::getInt() in let final dynamic #t51 = #t47.[]=(#t48, #t50) in #t50 : #t49;
-  dynamic v5 = let final dynamic #t52 = t in let final dynamic #t53 = "x" in let final dynamic #t54 = #t52.[](#t53) in #t54.==(null) ? let final dynamic #t55 = self::getNum() in let final dynamic #t56 = #t52.[]=(#t53, #t55) in #t55 : #t54;
-  dynamic v6 = let final dynamic #t57 = t in let final dynamic #t58 = "x" in let final dynamic #t59 = #t57.[](#t58) in #t59.==(null) ? let final dynamic #t60 = self::getDouble() in let final dynamic #t61 = #t57.[]=(#t58, #t60) in #t60 : #t59;
-  dynamic v7 = let final dynamic #t62 = t in let final dynamic #t63 = "x" in let final dynamic #t64 = #t62.[](#t63).+(self::getInt()) in let final dynamic #t65 = #t62.[]=(#t63, #t64) in #t64;
-  dynamic v8 = let final dynamic #t66 = t in let final dynamic #t67 = "x" in let final dynamic #t68 = #t66.[](#t67).+(self::getNum()) in let final dynamic #t69 = #t66.[]=(#t67, #t68) in #t68;
-  dynamic v9 = let final dynamic #t70 = t in let final dynamic #t71 = "x" in let final dynamic #t72 = #t70.[](#t71).+(self::getDouble()) in let final dynamic #t73 = #t70.[]=(#t71, #t72) in #t72;
-  dynamic v10 = let final dynamic #t74 = t in let final dynamic #t75 = "x" in let final dynamic #t76 = #t74.[](#t75).+(1) in let final dynamic #t77 = #t74.[]=(#t75, #t76) in #t76;
-  dynamic v11 = let final dynamic #t78 = t in let final dynamic #t79 = "x" in let final dynamic #t80 = #t78.[](#t79) in let final dynamic #t81 = #t78.[]=(#t79, #t80.+(1)) in #t80;
-}
-static method test3(self::Test<core::int*, core::double*>* t) → void {
-  dynamic v2 = let final dynamic #t82 = t in let final dynamic #t83 = "x" in let final dynamic #t84 = self::getNum() in let final dynamic #t85 = #t82.[]=(#t83, #t84) in #t84;
-  dynamic v3 = let final dynamic #t86 = t in let final dynamic #t87 = "x" in let final dynamic #t88 = self::getDouble() in let final dynamic #t89 = #t86.[]=(#t87, #t88) in #t88;
-  dynamic v5 = let final dynamic #t90 = t in let final dynamic #t91 = "x" in let final dynamic #t92 = #t90.[](#t91) in #t92.==(null) ? let final dynamic #t93 = self::getNum() in let final dynamic #t94 = #t90.[]=(#t91, #t93) in #t93 : #t92;
-  dynamic v6 = let final dynamic #t95 = t in let final dynamic #t96 = "x" in let final dynamic #t97 = #t95.[](#t96) in #t97.==(null) ? let final dynamic #t98 = self::getDouble() in let final dynamic #t99 = #t95.[]=(#t96, #t98) in #t98 : #t97;
-  dynamic v7 = let final dynamic #t100 = t in let final dynamic #t101 = "x" in let final dynamic #t102 = #t100.[](#t101).+(self::getInt()) in let final dynamic #t103 = #t100.[]=(#t101, #t102) in #t102;
-  dynamic v8 = let final dynamic #t104 = t in let final dynamic #t105 = "x" in let final dynamic #t106 = #t104.[](#t105).+(self::getNum()) in let final dynamic #t107 = #t104.[]=(#t105, #t106) in #t106;
-  dynamic v9 = let final dynamic #t108 = t in let final dynamic #t109 = "x" in let final dynamic #t110 = #t108.[](#t109).+(self::getDouble()) in let final dynamic #t111 = #t108.[]=(#t109, #t110) in #t110;
-  dynamic v10 = let final dynamic #t112 = t in let final dynamic #t113 = "x" in let final dynamic #t114 = #t112.[](#t113).+(1) in let final dynamic #t115 = #t112.[]=(#t113, #t114) in #t114;
-  dynamic v11 = let final dynamic #t116 = t in let final dynamic #t117 = "x" in let final dynamic #t118 = #t116.[](#t117) in let final dynamic #t119 = #t116.[]=(#t117, #t118.+(1)) in #t118;
-}
-static method test4(self::Test<core::num*, core::int*>* t) → void {
-  dynamic v1 = let final dynamic #t120 = t in let final dynamic #t121 = "x" in let final dynamic #t122 = self::getInt() in let final dynamic #t123 = #t120.[]=(#t121, #t122) in #t122;
-  dynamic v2 = let final dynamic #t124 = t in let final dynamic #t125 = "x" in let final dynamic #t126 = self::getNum() in let final dynamic #t127 = #t124.[]=(#t125, #t126) in #t126;
-  dynamic v4 = let final dynamic #t128 = t in let final dynamic #t129 = "x" in let final dynamic #t130 = #t128.[](#t129) in #t130.==(null) ? let final dynamic #t131 = self::getInt() in let final dynamic #t132 = #t128.[]=(#t129, #t131) in #t131 : #t130;
-  dynamic v5 = let final dynamic #t133 = t in let final dynamic #t134 = "x" in let final dynamic #t135 = #t133.[](#t134) in #t135.==(null) ? let final dynamic #t136 = self::getNum() in let final dynamic #t137 = #t133.[]=(#t134, #t136) in #t136 : #t135;
-  dynamic v7 = let final dynamic #t138 = t in let final dynamic #t139 = "x" in let final dynamic #t140 = #t138.[](#t139).+(self::getInt()) in let final dynamic #t141 = #t138.[]=(#t139, #t140) in #t140;
-  dynamic v8 = let final dynamic #t142 = t in let final dynamic #t143 = "x" in let final dynamic #t144 = #t142.[](#t143).+(self::getNum()) in let final dynamic #t145 = #t142.[]=(#t143, #t144) in #t144;
-  dynamic v10 = let final dynamic #t146 = t in let final dynamic #t147 = "x" in let final dynamic #t148 = #t146.[](#t147).+(1) in let final dynamic #t149 = #t146.[]=(#t147, #t148) in #t148;
-  dynamic v11 = let final dynamic #t150 = t in let final dynamic #t151 = "x" in let final dynamic #t152 = #t150.[](#t151) in let final dynamic #t153 = #t150.[]=(#t151, #t152.+(1)) in #t152;
-}
-static method test5(self::Test<core::num*, core::num*>* t) → void {
-  dynamic v1 = let final dynamic #t154 = t in let final dynamic #t155 = "x" in let final dynamic #t156 = self::getInt() in let final dynamic #t157 = #t154.[]=(#t155, #t156) in #t156;
-  dynamic v2 = let final dynamic #t158 = t in let final dynamic #t159 = "x" in let final dynamic #t160 = self::getNum() in let final dynamic #t161 = #t158.[]=(#t159, #t160) in #t160;
-  dynamic v3 = let final dynamic #t162 = t in let final dynamic #t163 = "x" in let final dynamic #t164 = self::getDouble() in let final dynamic #t165 = #t162.[]=(#t163, #t164) in #t164;
-  dynamic v4 = let final dynamic #t166 = t in let final dynamic #t167 = "x" in let final dynamic #t168 = #t166.[](#t167) in #t168.==(null) ? let final dynamic #t169 = self::getInt() in let final dynamic #t170 = #t166.[]=(#t167, #t169) in #t169 : #t168;
-  dynamic v5 = let final dynamic #t171 = t in let final dynamic #t172 = "x" in let final dynamic #t173 = #t171.[](#t172) in #t173.==(null) ? let final dynamic #t174 = self::getNum() in let final dynamic #t175 = #t171.[]=(#t172, #t174) in #t174 : #t173;
-  dynamic v6 = let final dynamic #t176 = t in let final dynamic #t177 = "x" in let final dynamic #t178 = #t176.[](#t177) in #t178.==(null) ? let final dynamic #t179 = self::getDouble() in let final dynamic #t180 = #t176.[]=(#t177, #t179) in #t179 : #t178;
-  dynamic v7 = let final dynamic #t181 = t in let final dynamic #t182 = "x" in let final dynamic #t183 = #t181.[](#t182).+(self::getInt()) in let final dynamic #t184 = #t181.[]=(#t182, #t183) in #t183;
-  dynamic v8 = let final dynamic #t185 = t in let final dynamic #t186 = "x" in let final dynamic #t187 = #t185.[](#t186).+(self::getNum()) in let final dynamic #t188 = #t185.[]=(#t186, #t187) in #t187;
-  dynamic v9 = let final dynamic #t189 = t in let final dynamic #t190 = "x" in let final dynamic #t191 = #t189.[](#t190).+(self::getDouble()) in let final dynamic #t192 = #t189.[]=(#t190, #t191) in #t191;
-  dynamic v10 = let final dynamic #t193 = t in let final dynamic #t194 = "x" in let final dynamic #t195 = #t193.[](#t194).+(1) in let final dynamic #t196 = #t193.[]=(#t194, #t195) in #t195;
-  dynamic v11 = let final dynamic #t197 = t in let final dynamic #t198 = "x" in let final dynamic #t199 = #t197.[](#t198) in let final dynamic #t200 = #t197.[]=(#t198, #t199.+(1)) in #t199;
-}
-static method test6(self::Test<core::num*, core::double*>* t) → void {
-  dynamic v2 = let final dynamic #t201 = t in let final dynamic #t202 = "x" in let final dynamic #t203 = self::getNum() in let final dynamic #t204 = #t201.[]=(#t202, #t203) in #t203;
-  dynamic v3 = let final dynamic #t205 = t in let final dynamic #t206 = "x" in let final dynamic #t207 = self::getDouble() in let final dynamic #t208 = #t205.[]=(#t206, #t207) in #t207;
-  dynamic v5 = let final dynamic #t209 = t in let final dynamic #t210 = "x" in let final dynamic #t211 = #t209.[](#t210) in #t211.==(null) ? let final dynamic #t212 = self::getNum() in let final dynamic #t213 = #t209.[]=(#t210, #t212) in #t212 : #t211;
-  dynamic v6 = let final dynamic #t214 = t in let final dynamic #t215 = "x" in let final dynamic #t216 = #t214.[](#t215) in #t216.==(null) ? let final dynamic #t217 = self::getDouble() in let final dynamic #t218 = #t214.[]=(#t215, #t217) in #t217 : #t216;
-  dynamic v7 = let final dynamic #t219 = t in let final dynamic #t220 = "x" in let final dynamic #t221 = #t219.[](#t220).+(self::getInt()) in let final dynamic #t222 = #t219.[]=(#t220, #t221) in #t221;
-  dynamic v8 = let final dynamic #t223 = t in let final dynamic #t224 = "x" in let final dynamic #t225 = #t223.[](#t224).+(self::getNum()) in let final dynamic #t226 = #t223.[]=(#t224, #t225) in #t225;
-  dynamic v9 = let final dynamic #t227 = t in let final dynamic #t228 = "x" in let final dynamic #t229 = #t227.[](#t228).+(self::getDouble()) in let final dynamic #t230 = #t227.[]=(#t228, #t229) in #t229;
-  dynamic v10 = let final dynamic #t231 = t in let final dynamic #t232 = "x" in let final dynamic #t233 = #t231.[](#t232).+(1) in let final dynamic #t234 = #t231.[]=(#t232, #t233) in #t233;
-  dynamic v11 = let final dynamic #t235 = t in let final dynamic #t236 = "x" in let final dynamic #t237 = #t235.[](#t236) in let final dynamic #t238 = #t235.[]=(#t236, #t237.+(1)) in #t237;
-}
-static method test7(self::Test<core::double*, core::int*>* t) → void {
-  dynamic v1 = let final dynamic #t239 = t in let final dynamic #t240 = "x" in let final dynamic #t241 = self::getInt() in let final dynamic #t242 = #t239.[]=(#t240, #t241) in #t241;
-  dynamic v2 = let final dynamic #t243 = t in let final dynamic #t244 = "x" in let final dynamic #t245 = self::getNum() in let final dynamic #t246 = #t243.[]=(#t244, #t245) in #t245;
-  dynamic v4 = let final dynamic #t247 = t in let final dynamic #t248 = "x" in let final dynamic #t249 = #t247.[](#t248) in #t249.==(null) ? let final dynamic #t250 = self::getInt() in let final dynamic #t251 = #t247.[]=(#t248, #t250) in #t250 : #t249;
-  dynamic v5 = let final dynamic #t252 = t in let final dynamic #t253 = "x" in let final dynamic #t254 = #t252.[](#t253) in #t254.==(null) ? let final dynamic #t255 = self::getNum() in let final dynamic #t256 = #t252.[]=(#t253, #t255) in #t255 : #t254;
-  dynamic v7 = let final dynamic #t257 = t in let final dynamic #t258 = "x" in let final dynamic #t259 = #t257.[](#t258).+(self::getInt()) in let final dynamic #t260 = #t257.[]=(#t258, #t259) in #t259;
-  dynamic v8 = let final dynamic #t261 = t in let final dynamic #t262 = "x" in let final dynamic #t263 = #t261.[](#t262).+(self::getNum()) in let final dynamic #t264 = #t261.[]=(#t262, #t263) in #t263;
-  dynamic v10 = let final dynamic #t265 = t in let final dynamic #t266 = "x" in let final dynamic #t267 = #t265.[](#t266).+(1) in let final dynamic #t268 = #t265.[]=(#t266, #t267) in #t267;
-  dynamic v11 = let final dynamic #t269 = t in let final dynamic #t270 = "x" in let final dynamic #t271 = #t269.[](#t270) in let final dynamic #t272 = #t269.[]=(#t270, #t271.+(1)) in #t271;
-}
-static method test8(self::Test<core::double*, core::num*>* t) → void {
-  dynamic v1 = let final dynamic #t273 = t in let final dynamic #t274 = "x" in let final dynamic #t275 = self::getInt() in let final dynamic #t276 = #t273.[]=(#t274, #t275) in #t275;
-  dynamic v2 = let final dynamic #t277 = t in let final dynamic #t278 = "x" in let final dynamic #t279 = self::getNum() in let final dynamic #t280 = #t277.[]=(#t278, #t279) in #t279;
-  dynamic v3 = let final dynamic #t281 = t in let final dynamic #t282 = "x" in let final dynamic #t283 = self::getDouble() in let final dynamic #t284 = #t281.[]=(#t282, #t283) in #t283;
-  dynamic v4 = let final dynamic #t285 = t in let final dynamic #t286 = "x" in let final dynamic #t287 = #t285.[](#t286) in #t287.==(null) ? let final dynamic #t288 = self::getInt() in let final dynamic #t289 = #t285.[]=(#t286, #t288) in #t288 : #t287;
-  dynamic v5 = let final dynamic #t290 = t in let final dynamic #t291 = "x" in let final dynamic #t292 = #t290.[](#t291) in #t292.==(null) ? let final dynamic #t293 = self::getNum() in let final dynamic #t294 = #t290.[]=(#t291, #t293) in #t293 : #t292;
-  dynamic v6 = let final dynamic #t295 = t in let final dynamic #t296 = "x" in let final dynamic #t297 = #t295.[](#t296) in #t297.==(null) ? let final dynamic #t298 = self::getDouble() in let final dynamic #t299 = #t295.[]=(#t296, #t298) in #t298 : #t297;
-  dynamic v7 = let final dynamic #t300 = t in let final dynamic #t301 = "x" in let final dynamic #t302 = #t300.[](#t301).+(self::getInt()) in let final dynamic #t303 = #t300.[]=(#t301, #t302) in #t302;
-  dynamic v8 = let final dynamic #t304 = t in let final dynamic #t305 = "x" in let final dynamic #t306 = #t304.[](#t305).+(self::getNum()) in let final dynamic #t307 = #t304.[]=(#t305, #t306) in #t306;
-  dynamic v9 = let final dynamic #t308 = t in let final dynamic #t309 = "x" in let final dynamic #t310 = #t308.[](#t309).+(self::getDouble()) in let final dynamic #t311 = #t308.[]=(#t309, #t310) in #t310;
-  dynamic v10 = let final dynamic #t312 = t in let final dynamic #t313 = "x" in let final dynamic #t314 = #t312.[](#t313).+(1) in let final dynamic #t315 = #t312.[]=(#t313, #t314) in #t314;
-  dynamic v11 = let final dynamic #t316 = t in let final dynamic #t317 = "x" in let final dynamic #t318 = #t316.[](#t317) in let final dynamic #t319 = #t316.[]=(#t317, #t318.+(1)) in #t318;
-}
-static method test9(self::Test<core::double*, core::double*>* t) → void {
-  dynamic v2 = let final dynamic #t320 = t in let final dynamic #t321 = "x" in let final dynamic #t322 = self::getNum() in let final dynamic #t323 = #t320.[]=(#t321, #t322) in #t322;
-  dynamic v3 = let final dynamic #t324 = t in let final dynamic #t325 = "x" in let final dynamic #t326 = self::getDouble() in let final dynamic #t327 = #t324.[]=(#t325, #t326) in #t326;
-  dynamic v5 = let final dynamic #t328 = t in let final dynamic #t329 = "x" in let final dynamic #t330 = #t328.[](#t329) in #t330.==(null) ? let final dynamic #t331 = self::getNum() in let final dynamic #t332 = #t328.[]=(#t329, #t331) in #t331 : #t330;
-  dynamic v6 = let final dynamic #t333 = t in let final dynamic #t334 = "x" in let final dynamic #t335 = #t333.[](#t334) in #t335.==(null) ? let final dynamic #t336 = self::getDouble() in let final dynamic #t337 = #t333.[]=(#t334, #t336) in #t336 : #t335;
-  dynamic v7 = let final dynamic #t338 = t in let final dynamic #t339 = "x" in let final dynamic #t340 = #t338.[](#t339).+(self::getInt()) in let final dynamic #t341 = #t338.[]=(#t339, #t340) in #t340;
-  dynamic v8 = let final dynamic #t342 = t in let final dynamic #t343 = "x" in let final dynamic #t344 = #t342.[](#t343).+(self::getNum()) in let final dynamic #t345 = #t342.[]=(#t343, #t344) in #t344;
-  dynamic v9 = let final dynamic #t346 = t in let final dynamic #t347 = "x" in let final dynamic #t348 = #t346.[](#t347).+(self::getDouble()) in let final dynamic #t349 = #t346.[]=(#t347, #t348) in #t348;
-  dynamic v10 = let final dynamic #t350 = t in let final dynamic #t351 = "x" in let final dynamic #t352 = #t350.[](#t351).+(1) in let final dynamic #t353 = #t350.[]=(#t351, #t352) in #t352;
-  dynamic v11 = let final dynamic #t354 = t in let final dynamic #t355 = "x" in let final dynamic #t356 = #t354.[](#t355) in let final dynamic #t357 = #t354.[]=(#t355, #t356.+(1)) in #t356;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 17b808c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,120 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class Test<T extends core::Object* = dynamic, U extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::Test<self::Test::T*, self::Test::U*>*
-    : super core::Object::•()
-    ;
-  abstract operator [](core::String* s) → self::Test::T*;
-  abstract operator []=(core::String* s, generic-covariant-impl self::Test::U* v) → void;
-}
-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(self::Test<core::int*, core::int*>* t) → void {
-  dynamic v1 = let final dynamic #t1 = t in let final dynamic #t2 = "x" in let final dynamic #t3 = self::getInt() in let final dynamic #t4 = #t1.[]=(#t2, #t3) in #t3;
-  dynamic v2 = let final dynamic #t5 = t in let final dynamic #t6 = "x" in let final dynamic #t7 = self::getNum() in let final dynamic #t8 = #t5.[]=(#t6, #t7) in #t7;
-  dynamic v4 = let final dynamic #t9 = t in let final dynamic #t10 = "x" in let final dynamic #t11 = #t9.[](#t10) in #t11.==(null) ? let final dynamic #t12 = self::getInt() in let final dynamic #t13 = #t9.[]=(#t10, #t12) in #t12 : #t11;
-  dynamic v5 = let final dynamic #t14 = t in let final dynamic #t15 = "x" in let final dynamic #t16 = #t14.[](#t15) in #t16.==(null) ? let final dynamic #t17 = self::getNum() in let final dynamic #t18 = #t14.[]=(#t15, #t17) in #t17 : #t16;
-  dynamic v7 = let final dynamic #t19 = t in let final dynamic #t20 = "x" in let final dynamic #t21 = #t19.[](#t20).+(self::getInt()) in let final dynamic #t22 = #t19.[]=(#t20, #t21) in #t21;
-  dynamic v8 = let final dynamic #t23 = t in let final dynamic #t24 = "x" in let final dynamic #t25 = #t23.[](#t24).+(self::getNum()) in let final dynamic #t26 = #t23.[]=(#t24, #t25) in #t25;
-  dynamic v10 = let final dynamic #t27 = t in let final dynamic #t28 = "x" in let final dynamic #t29 = #t27.[](#t28).+(1) in let final dynamic #t30 = #t27.[]=(#t28, #t29) in #t29;
-  dynamic v11 = let final dynamic #t31 = t in let final dynamic #t32 = "x" in let final dynamic #t33 = #t31.[](#t32) in let final dynamic #t34 = #t31.[]=(#t32, #t33.+(1)) in #t33;
-}
-static method test2(self::Test<core::int*, core::num*>* t) → void {
-  dynamic v1 = let final dynamic #t35 = t in let final dynamic #t36 = "x" in let final dynamic #t37 = self::getInt() in let final dynamic #t38 = #t35.[]=(#t36, #t37) in #t37;
-  dynamic v2 = let final dynamic #t39 = t in let final dynamic #t40 = "x" in let final dynamic #t41 = self::getNum() in let final dynamic #t42 = #t39.[]=(#t40, #t41) in #t41;
-  dynamic v3 = let final dynamic #t43 = t in let final dynamic #t44 = "x" in let final dynamic #t45 = self::getDouble() in let final dynamic #t46 = #t43.[]=(#t44, #t45) in #t45;
-  dynamic v4 = let final dynamic #t47 = t in let final dynamic #t48 = "x" in let final dynamic #t49 = #t47.[](#t48) in #t49.==(null) ? let final dynamic #t50 = self::getInt() in let final dynamic #t51 = #t47.[]=(#t48, #t50) in #t50 : #t49;
-  dynamic v5 = let final dynamic #t52 = t in let final dynamic #t53 = "x" in let final dynamic #t54 = #t52.[](#t53) in #t54.==(null) ? let final dynamic #t55 = self::getNum() in let final dynamic #t56 = #t52.[]=(#t53, #t55) in #t55 : #t54;
-  dynamic v6 = let final dynamic #t57 = t in let final dynamic #t58 = "x" in let final dynamic #t59 = #t57.[](#t58) in #t59.==(null) ? let final dynamic #t60 = self::getDouble() in let final dynamic #t61 = #t57.[]=(#t58, #t60) in #t60 : #t59;
-  dynamic v7 = let final dynamic #t62 = t in let final dynamic #t63 = "x" in let final dynamic #t64 = #t62.[](#t63).+(self::getInt()) in let final dynamic #t65 = #t62.[]=(#t63, #t64) in #t64;
-  dynamic v8 = let final dynamic #t66 = t in let final dynamic #t67 = "x" in let final dynamic #t68 = #t66.[](#t67).+(self::getNum()) in let final dynamic #t69 = #t66.[]=(#t67, #t68) in #t68;
-  dynamic v9 = let final dynamic #t70 = t in let final dynamic #t71 = "x" in let final dynamic #t72 = #t70.[](#t71).+(self::getDouble()) in let final dynamic #t73 = #t70.[]=(#t71, #t72) in #t72;
-  dynamic v10 = let final dynamic #t74 = t in let final dynamic #t75 = "x" in let final dynamic #t76 = #t74.[](#t75).+(1) in let final dynamic #t77 = #t74.[]=(#t75, #t76) in #t76;
-  dynamic v11 = let final dynamic #t78 = t in let final dynamic #t79 = "x" in let final dynamic #t80 = #t78.[](#t79) in let final dynamic #t81 = #t78.[]=(#t79, #t80.+(1)) in #t80;
-}
-static method test3(self::Test<core::int*, core::double*>* t) → void {
-  dynamic v2 = let final dynamic #t82 = t in let final dynamic #t83 = "x" in let final dynamic #t84 = self::getNum() in let final dynamic #t85 = #t82.[]=(#t83, #t84) in #t84;
-  dynamic v3 = let final dynamic #t86 = t in let final dynamic #t87 = "x" in let final dynamic #t88 = self::getDouble() in let final dynamic #t89 = #t86.[]=(#t87, #t88) in #t88;
-  dynamic v5 = let final dynamic #t90 = t in let final dynamic #t91 = "x" in let final dynamic #t92 = #t90.[](#t91) in #t92.==(null) ? let final dynamic #t93 = self::getNum() in let final dynamic #t94 = #t90.[]=(#t91, #t93) in #t93 : #t92;
-  dynamic v6 = let final dynamic #t95 = t in let final dynamic #t96 = "x" in let final dynamic #t97 = #t95.[](#t96) in #t97.==(null) ? let final dynamic #t98 = self::getDouble() in let final dynamic #t99 = #t95.[]=(#t96, #t98) in #t98 : #t97;
-  dynamic v7 = let final dynamic #t100 = t in let final dynamic #t101 = "x" in let final dynamic #t102 = #t100.[](#t101).+(self::getInt()) in let final dynamic #t103 = #t100.[]=(#t101, #t102) in #t102;
-  dynamic v8 = let final dynamic #t104 = t in let final dynamic #t105 = "x" in let final dynamic #t106 = #t104.[](#t105).+(self::getNum()) in let final dynamic #t107 = #t104.[]=(#t105, #t106) in #t106;
-  dynamic v9 = let final dynamic #t108 = t in let final dynamic #t109 = "x" in let final dynamic #t110 = #t108.[](#t109).+(self::getDouble()) in let final dynamic #t111 = #t108.[]=(#t109, #t110) in #t110;
-  dynamic v10 = let final dynamic #t112 = t in let final dynamic #t113 = "x" in let final dynamic #t114 = #t112.[](#t113).+(1) in let final dynamic #t115 = #t112.[]=(#t113, #t114) in #t114;
-  dynamic v11 = let final dynamic #t116 = t in let final dynamic #t117 = "x" in let final dynamic #t118 = #t116.[](#t117) in let final dynamic #t119 = #t116.[]=(#t117, #t118.+(1)) in #t118;
-}
-static method test4(self::Test<core::num*, core::int*>* t) → void {
-  dynamic v1 = let final dynamic #t120 = t in let final dynamic #t121 = "x" in let final dynamic #t122 = self::getInt() in let final dynamic #t123 = #t120.[]=(#t121, #t122) in #t122;
-  dynamic v2 = let final dynamic #t124 = t in let final dynamic #t125 = "x" in let final dynamic #t126 = self::getNum() in let final dynamic #t127 = #t124.[]=(#t125, #t126) in #t126;
-  dynamic v4 = let final dynamic #t128 = t in let final dynamic #t129 = "x" in let final dynamic #t130 = #t128.[](#t129) in #t130.==(null) ? let final dynamic #t131 = self::getInt() in let final dynamic #t132 = #t128.[]=(#t129, #t131) in #t131 : #t130;
-  dynamic v5 = let final dynamic #t133 = t in let final dynamic #t134 = "x" in let final dynamic #t135 = #t133.[](#t134) in #t135.==(null) ? let final dynamic #t136 = self::getNum() in let final dynamic #t137 = #t133.[]=(#t134, #t136) in #t136 : #t135;
-  dynamic v7 = let final dynamic #t138 = t in let final dynamic #t139 = "x" in let final dynamic #t140 = #t138.[](#t139).+(self::getInt()) in let final dynamic #t141 = #t138.[]=(#t139, #t140) in #t140;
-  dynamic v8 = let final dynamic #t142 = t in let final dynamic #t143 = "x" in let final dynamic #t144 = #t142.[](#t143).+(self::getNum()) in let final dynamic #t145 = #t142.[]=(#t143, #t144) in #t144;
-  dynamic v10 = let final dynamic #t146 = t in let final dynamic #t147 = "x" in let final dynamic #t148 = #t146.[](#t147).+(1) in let final dynamic #t149 = #t146.[]=(#t147, #t148) in #t148;
-  dynamic v11 = let final dynamic #t150 = t in let final dynamic #t151 = "x" in let final dynamic #t152 = #t150.[](#t151) in let final dynamic #t153 = #t150.[]=(#t151, #t152.+(1)) in #t152;
-}
-static method test5(self::Test<core::num*, core::num*>* t) → void {
-  dynamic v1 = let final dynamic #t154 = t in let final dynamic #t155 = "x" in let final dynamic #t156 = self::getInt() in let final dynamic #t157 = #t154.[]=(#t155, #t156) in #t156;
-  dynamic v2 = let final dynamic #t158 = t in let final dynamic #t159 = "x" in let final dynamic #t160 = self::getNum() in let final dynamic #t161 = #t158.[]=(#t159, #t160) in #t160;
-  dynamic v3 = let final dynamic #t162 = t in let final dynamic #t163 = "x" in let final dynamic #t164 = self::getDouble() in let final dynamic #t165 = #t162.[]=(#t163, #t164) in #t164;
-  dynamic v4 = let final dynamic #t166 = t in let final dynamic #t167 = "x" in let final dynamic #t168 = #t166.[](#t167) in #t168.==(null) ? let final dynamic #t169 = self::getInt() in let final dynamic #t170 = #t166.[]=(#t167, #t169) in #t169 : #t168;
-  dynamic v5 = let final dynamic #t171 = t in let final dynamic #t172 = "x" in let final dynamic #t173 = #t171.[](#t172) in #t173.==(null) ? let final dynamic #t174 = self::getNum() in let final dynamic #t175 = #t171.[]=(#t172, #t174) in #t174 : #t173;
-  dynamic v6 = let final dynamic #t176 = t in let final dynamic #t177 = "x" in let final dynamic #t178 = #t176.[](#t177) in #t178.==(null) ? let final dynamic #t179 = self::getDouble() in let final dynamic #t180 = #t176.[]=(#t177, #t179) in #t179 : #t178;
-  dynamic v7 = let final dynamic #t181 = t in let final dynamic #t182 = "x" in let final dynamic #t183 = #t181.[](#t182).+(self::getInt()) in let final dynamic #t184 = #t181.[]=(#t182, #t183) in #t183;
-  dynamic v8 = let final dynamic #t185 = t in let final dynamic #t186 = "x" in let final dynamic #t187 = #t185.[](#t186).+(self::getNum()) in let final dynamic #t188 = #t185.[]=(#t186, #t187) in #t187;
-  dynamic v9 = let final dynamic #t189 = t in let final dynamic #t190 = "x" in let final dynamic #t191 = #t189.[](#t190).+(self::getDouble()) in let final dynamic #t192 = #t189.[]=(#t190, #t191) in #t191;
-  dynamic v10 = let final dynamic #t193 = t in let final dynamic #t194 = "x" in let final dynamic #t195 = #t193.[](#t194).+(1) in let final dynamic #t196 = #t193.[]=(#t194, #t195) in #t195;
-  dynamic v11 = let final dynamic #t197 = t in let final dynamic #t198 = "x" in let final dynamic #t199 = #t197.[](#t198) in let final dynamic #t200 = #t197.[]=(#t198, #t199.+(1)) in #t199;
-}
-static method test6(self::Test<core::num*, core::double*>* t) → void {
-  dynamic v2 = let final dynamic #t201 = t in let final dynamic #t202 = "x" in let final dynamic #t203 = self::getNum() in let final dynamic #t204 = #t201.[]=(#t202, #t203) in #t203;
-  dynamic v3 = let final dynamic #t205 = t in let final dynamic #t206 = "x" in let final dynamic #t207 = self::getDouble() in let final dynamic #t208 = #t205.[]=(#t206, #t207) in #t207;
-  dynamic v5 = let final dynamic #t209 = t in let final dynamic #t210 = "x" in let final dynamic #t211 = #t209.[](#t210) in #t211.==(null) ? let final dynamic #t212 = self::getNum() in let final dynamic #t213 = #t209.[]=(#t210, #t212) in #t212 : #t211;
-  dynamic v6 = let final dynamic #t214 = t in let final dynamic #t215 = "x" in let final dynamic #t216 = #t214.[](#t215) in #t216.==(null) ? let final dynamic #t217 = self::getDouble() in let final dynamic #t218 = #t214.[]=(#t215, #t217) in #t217 : #t216;
-  dynamic v7 = let final dynamic #t219 = t in let final dynamic #t220 = "x" in let final dynamic #t221 = #t219.[](#t220).+(self::getInt()) in let final dynamic #t222 = #t219.[]=(#t220, #t221) in #t221;
-  dynamic v8 = let final dynamic #t223 = t in let final dynamic #t224 = "x" in let final dynamic #t225 = #t223.[](#t224).+(self::getNum()) in let final dynamic #t226 = #t223.[]=(#t224, #t225) in #t225;
-  dynamic v9 = let final dynamic #t227 = t in let final dynamic #t228 = "x" in let final dynamic #t229 = #t227.[](#t228).+(self::getDouble()) in let final dynamic #t230 = #t227.[]=(#t228, #t229) in #t229;
-  dynamic v10 = let final dynamic #t231 = t in let final dynamic #t232 = "x" in let final dynamic #t233 = #t231.[](#t232).+(1) in let final dynamic #t234 = #t231.[]=(#t232, #t233) in #t233;
-  dynamic v11 = let final dynamic #t235 = t in let final dynamic #t236 = "x" in let final dynamic #t237 = #t235.[](#t236) in let final dynamic #t238 = #t235.[]=(#t236, #t237.+(1)) in #t237;
-}
-static method test7(self::Test<core::double*, core::int*>* t) → void {
-  dynamic v1 = let final dynamic #t239 = t in let final dynamic #t240 = "x" in let final dynamic #t241 = self::getInt() in let final dynamic #t242 = #t239.[]=(#t240, #t241) in #t241;
-  dynamic v2 = let final dynamic #t243 = t in let final dynamic #t244 = "x" in let final dynamic #t245 = self::getNum() in let final dynamic #t246 = #t243.[]=(#t244, #t245) in #t245;
-  dynamic v4 = let final dynamic #t247 = t in let final dynamic #t248 = "x" in let final dynamic #t249 = #t247.[](#t248) in #t249.==(null) ? let final dynamic #t250 = self::getInt() in let final dynamic #t251 = #t247.[]=(#t248, #t250) in #t250 : #t249;
-  dynamic v5 = let final dynamic #t252 = t in let final dynamic #t253 = "x" in let final dynamic #t254 = #t252.[](#t253) in #t254.==(null) ? let final dynamic #t255 = self::getNum() in let final dynamic #t256 = #t252.[]=(#t253, #t255) in #t255 : #t254;
-  dynamic v7 = let final dynamic #t257 = t in let final dynamic #t258 = "x" in let final dynamic #t259 = #t257.[](#t258).+(self::getInt()) in let final dynamic #t260 = #t257.[]=(#t258, #t259) in #t259;
-  dynamic v8 = let final dynamic #t261 = t in let final dynamic #t262 = "x" in let final dynamic #t263 = #t261.[](#t262).+(self::getNum()) in let final dynamic #t264 = #t261.[]=(#t262, #t263) in #t263;
-  dynamic v10 = let final dynamic #t265 = t in let final dynamic #t266 = "x" in let final dynamic #t267 = #t265.[](#t266).+(1) in let final dynamic #t268 = #t265.[]=(#t266, #t267) in #t267;
-  dynamic v11 = let final dynamic #t269 = t in let final dynamic #t270 = "x" in let final dynamic #t271 = #t269.[](#t270) in let final dynamic #t272 = #t269.[]=(#t270, #t271.+(1)) in #t271;
-}
-static method test8(self::Test<core::double*, core::num*>* t) → void {
-  dynamic v1 = let final dynamic #t273 = t in let final dynamic #t274 = "x" in let final dynamic #t275 = self::getInt() in let final dynamic #t276 = #t273.[]=(#t274, #t275) in #t275;
-  dynamic v2 = let final dynamic #t277 = t in let final dynamic #t278 = "x" in let final dynamic #t279 = self::getNum() in let final dynamic #t280 = #t277.[]=(#t278, #t279) in #t279;
-  dynamic v3 = let final dynamic #t281 = t in let final dynamic #t282 = "x" in let final dynamic #t283 = self::getDouble() in let final dynamic #t284 = #t281.[]=(#t282, #t283) in #t283;
-  dynamic v4 = let final dynamic #t285 = t in let final dynamic #t286 = "x" in let final dynamic #t287 = #t285.[](#t286) in #t287.==(null) ? let final dynamic #t288 = self::getInt() in let final dynamic #t289 = #t285.[]=(#t286, #t288) in #t288 : #t287;
-  dynamic v5 = let final dynamic #t290 = t in let final dynamic #t291 = "x" in let final dynamic #t292 = #t290.[](#t291) in #t292.==(null) ? let final dynamic #t293 = self::getNum() in let final dynamic #t294 = #t290.[]=(#t291, #t293) in #t293 : #t292;
-  dynamic v6 = let final dynamic #t295 = t in let final dynamic #t296 = "x" in let final dynamic #t297 = #t295.[](#t296) in #t297.==(null) ? let final dynamic #t298 = self::getDouble() in let final dynamic #t299 = #t295.[]=(#t296, #t298) in #t298 : #t297;
-  dynamic v7 = let final dynamic #t300 = t in let final dynamic #t301 = "x" in let final dynamic #t302 = #t300.[](#t301).+(self::getInt()) in let final dynamic #t303 = #t300.[]=(#t301, #t302) in #t302;
-  dynamic v8 = let final dynamic #t304 = t in let final dynamic #t305 = "x" in let final dynamic #t306 = #t304.[](#t305).+(self::getNum()) in let final dynamic #t307 = #t304.[]=(#t305, #t306) in #t306;
-  dynamic v9 = let final dynamic #t308 = t in let final dynamic #t309 = "x" in let final dynamic #t310 = #t308.[](#t309).+(self::getDouble()) in let final dynamic #t311 = #t308.[]=(#t309, #t310) in #t310;
-  dynamic v10 = let final dynamic #t312 = t in let final dynamic #t313 = "x" in let final dynamic #t314 = #t312.[](#t313).+(1) in let final dynamic #t315 = #t312.[]=(#t313, #t314) in #t314;
-  dynamic v11 = let final dynamic #t316 = t in let final dynamic #t317 = "x" in let final dynamic #t318 = #t316.[](#t317) in let final dynamic #t319 = #t316.[]=(#t317, #t318.+(1)) in #t318;
-}
-static method test9(self::Test<core::double*, core::double*>* t) → void {
-  dynamic v2 = let final dynamic #t320 = t in let final dynamic #t321 = "x" in let final dynamic #t322 = self::getNum() in let final dynamic #t323 = #t320.[]=(#t321, #t322) in #t322;
-  dynamic v3 = let final dynamic #t324 = t in let final dynamic #t325 = "x" in let final dynamic #t326 = self::getDouble() in let final dynamic #t327 = #t324.[]=(#t325, #t326) in #t326;
-  dynamic v5 = let final dynamic #t328 = t in let final dynamic #t329 = "x" in let final dynamic #t330 = #t328.[](#t329) in #t330.==(null) ? let final dynamic #t331 = self::getNum() in let final dynamic #t332 = #t328.[]=(#t329, #t331) in #t331 : #t330;
-  dynamic v6 = let final dynamic #t333 = t in let final dynamic #t334 = "x" in let final dynamic #t335 = #t333.[](#t334) in #t335.==(null) ? let final dynamic #t336 = self::getDouble() in let final dynamic #t337 = #t333.[]=(#t334, #t336) in #t336 : #t335;
-  dynamic v7 = let final dynamic #t338 = t in let final dynamic #t339 = "x" in let final dynamic #t340 = #t338.[](#t339).+(self::getInt()) in let final dynamic #t341 = #t338.[]=(#t339, #t340) in #t340;
-  dynamic v8 = let final dynamic #t342 = t in let final dynamic #t343 = "x" in let final dynamic #t344 = #t342.[](#t343).+(self::getNum()) in let final dynamic #t345 = #t342.[]=(#t343, #t344) in #t344;
-  dynamic v9 = let final dynamic #t346 = t in let final dynamic #t347 = "x" in let final dynamic #t348 = #t346.[](#t347).+(self::getDouble()) in let final dynamic #t349 = #t346.[]=(#t347, #t348) in #t348;
-  dynamic v10 = let final dynamic #t350 = t in let final dynamic #t351 = "x" in let final dynamic #t352 = #t350.[](#t351).+(1) in let final dynamic #t353 = #t350.[]=(#t351, #t352) in #t352;
-  dynamic v11 = let final dynamic #t354 = t in let final dynamic #t355 = "x" in let final dynamic #t356 = #t354.[](#t355) in let final dynamic #t357 = #t354.[]=(#t355, #t356.+(1)) in #t356;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.textual_outline.expect
index 3217b84..d0da1f4 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.textual_outline_modelled.expect
index db75467..9985141 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class Test<T, U> {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_index_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart
index 17beb65..17b741e 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.hierarchy.expect
deleted file mode 100644
index 103f020..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.hierarchy.expect
+++ /dev/null
@@ -1,81 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.legacy.expect
deleted file mode 100644
index 93ed918..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.legacy.expect
+++ /dev/null
@@ -1,47 +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 v3 = local = local.+(self::f<dynamic>());
-  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_new/infer_assign_to_local.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.legacy.transformed.expect
deleted file mode 100644
index 93ed918..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,47 +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 v3 = local = local.+(self::f<dynamic>());
-  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_new/infer_assign_to_local.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.textual_outline.expect
index 54818ba..9444b89 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.textual_outline_modelled.expect
index 370d98d..0ce4bfc 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_local.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart
index 39e0b15..52101cc 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.legacy.expect
deleted file mode 100644
index 802d524..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,45 +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 v2 = t = self::getNum();
-  dynamic v4 = let final dynamic #t1 = t in #t1.==(null) ? t = self::getInt() : #t1;
-  dynamic v5 = let final dynamic #t2 = t in #t2.==(null) ? t = self::getNum() : #t2;
-  dynamic v7 = t = t.+(self::getInt());
-  dynamic v8 = t = t.+(self::getNum());
-  dynamic v10 = t = t.+(1);
-  dynamic v11 = let final dynamic #t3 = t in let final dynamic #t4 = t = #t3.+(1) in #t3;
-}
-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 #t5 = t in #t5.==(null) ? t = self::getInt() : #t5;
-  dynamic v5 = let final dynamic #t6 = t in #t6.==(null) ? t = self::getNum() : #t6;
-  dynamic v6 = let final dynamic #t7 = t in #t7.==(null) ? t = self::getDouble() : #t7;
-  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 #t8 = t in let final dynamic #t9 = t = #t8.+(1) in #t8;
-}
-static method test3(core::double* t) → void {
-  dynamic v2 = t = self::getNum();
-  dynamic v3 = t = self::getDouble();
-  dynamic v5 = let final dynamic #t10 = t in #t10.==(null) ? t = self::getNum() : #t10;
-  dynamic v6 = let final dynamic #t11 = t in #t11.==(null) ? t = self::getDouble() : #t11;
-  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 #t12 = t in let final dynamic #t13 = t = #t12.+(1) in #t12;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 802d524..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,45 +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 v2 = t = self::getNum();
-  dynamic v4 = let final dynamic #t1 = t in #t1.==(null) ? t = self::getInt() : #t1;
-  dynamic v5 = let final dynamic #t2 = t in #t2.==(null) ? t = self::getNum() : #t2;
-  dynamic v7 = t = t.+(self::getInt());
-  dynamic v8 = t = t.+(self::getNum());
-  dynamic v10 = t = t.+(1);
-  dynamic v11 = let final dynamic #t3 = t in let final dynamic #t4 = t = #t3.+(1) in #t3;
-}
-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 #t5 = t in #t5.==(null) ? t = self::getInt() : #t5;
-  dynamic v5 = let final dynamic #t6 = t in #t6.==(null) ? t = self::getNum() : #t6;
-  dynamic v6 = let final dynamic #t7 = t in #t7.==(null) ? t = self::getDouble() : #t7;
-  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 #t8 = t in let final dynamic #t9 = t = #t8.+(1) in #t8;
-}
-static method test3(core::double* t) → void {
-  dynamic v2 = t = self::getNum();
-  dynamic v3 = t = self::getDouble();
-  dynamic v5 = let final dynamic #t10 = t in #t10.==(null) ? t = self::getNum() : #t10;
-  dynamic v6 = let final dynamic #t11 = t in #t11.==(null) ? t = self::getDouble() : #t11;
-  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 #t12 = t in let final dynamic #t13 = t = #t12.+(1) in #t12;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.textual_outline.expect
index d9659ac..adecc78 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.textual_outline_modelled.expect
index f01f8e9..0907a6c 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 double getDouble() => 0.0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_local_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart
index 70d06ae..d9e5815 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.hierarchy.expect
deleted file mode 100644
index 5ab98e7..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.f
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.legacy.expect
deleted file mode 100644
index 2a9f8dd..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property.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 {
-  field core::int* f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v_assign = new self::A::•().f = 1;
-static field dynamic v_plus = let final dynamic #t1 = new self::A::•() in #t1.f = #t1.f.+(1);
-static field dynamic v_minus = let final dynamic #t2 = new self::A::•() in #t2.f = #t2.f.-(1);
-static field dynamic v_multiply = let final dynamic #t3 = new self::A::•() in #t3.f = #t3.f.*(1);
-static field dynamic v_prefix_pp = let final dynamic #t4 = new self::A::•() in #t4.f = #t4.f.+(1);
-static field dynamic v_prefix_mm = let final dynamic #t5 = new self::A::•() in #t5.f = #t5.f.-(1);
-static field dynamic v_postfix_pp = let final dynamic #t6 = new self::A::•() in let final dynamic #t7 = #t6.f in let final dynamic #t8 = #t6.f = #t7.+(1) in #t7;
-static field dynamic v_postfix_mm = let final dynamic #t9 = new self::A::•() in let final dynamic #t10 = #t9.f in let final dynamic #t11 = #t9.f = #t10.-(1) in #t10;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.legacy.transformed.expect
deleted file mode 100644
index 2a9f8dd..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property.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 {
-  field core::int* f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v_assign = new self::A::•().f = 1;
-static field dynamic v_plus = let final dynamic #t1 = new self::A::•() in #t1.f = #t1.f.+(1);
-static field dynamic v_minus = let final dynamic #t2 = new self::A::•() in #t2.f = #t2.f.-(1);
-static field dynamic v_multiply = let final dynamic #t3 = new self::A::•() in #t3.f = #t3.f.*(1);
-static field dynamic v_prefix_pp = let final dynamic #t4 = new self::A::•() in #t4.f = #t4.f.+(1);
-static field dynamic v_prefix_mm = let final dynamic #t5 = new self::A::•() in #t5.f = #t5.f.-(1);
-static field dynamic v_postfix_pp = let final dynamic #t6 = new self::A::•() in let final dynamic #t7 = #t6.f in let final dynamic #t8 = #t6.f = #t7.+(1) in #t7;
-static field dynamic v_postfix_mm = let final dynamic #t9 = new self::A::•() in let final dynamic #t10 = #t9.f in let final dynamic #t11 = #t9.f = #t10.-(1) in #t10;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.textual_outline.expect
index 578332f..f8430e7 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.textual_outline_modelled.expect
index 35df05a..0c17d98 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart
index 99f6754..b4dd357 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.hierarchy.expect
deleted file mode 100644
index 220819f..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.a
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.legacy.expect
deleted file mode 100644
index 038f2f9..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.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 {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → core::int*
-    return 1;
-  operator -(dynamic other) → core::double*
-    return 2.0;
-}
-class B extends core::Object {
-  field self::A* a = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v_prefix_pp = let final dynamic #t1 = new self::B::•() in #t1.a = #t1.a.+(1);
-static field dynamic v_prefix_mm = let final dynamic #t2 = new self::B::•() in #t2.a = #t2.a.-(1);
-static field dynamic v_postfix_pp = let final dynamic #t3 = new self::B::•() in let final dynamic #t4 = #t3.a in let final dynamic #t5 = #t3.a = #t4.+(1) in #t4;
-static field dynamic v_postfix_mm = let final dynamic #t6 = new self::B::•() in let final dynamic #t7 = #t6.a in let final dynamic #t8 = #t6.a = #t7.-(1) in #t7;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.legacy.transformed.expect
deleted file mode 100644
index 038f2f9..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.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 {
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-  operator +(dynamic other) → core::int*
-    return 1;
-  operator -(dynamic other) → core::double*
-    return 2.0;
-}
-class B extends core::Object {
-  field self::A* a = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-static field dynamic v_prefix_pp = let final dynamic #t1 = new self::B::•() in #t1.a = #t1.a.+(1);
-static field dynamic v_prefix_mm = let final dynamic #t2 = new self::B::•() in #t2.a = #t2.a.-(1);
-static field dynamic v_postfix_pp = let final dynamic #t3 = new self::B::•() in let final dynamic #t4 = #t3.a in let final dynamic #t5 = #t3.a = #t4.+(1) in #t4;
-static field dynamic v_postfix_mm = let final dynamic #t6 = new self::B::•() in let final dynamic #t7 = #t6.a in let final dynamic #t8 = #t6.a = #t7.-(1) in #t7;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.strong.transformed.expect
deleted file mode 100644
index 2d70eeb..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.strong.transformed.expect
+++ /dev/null
@@ -1,36 +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;
-}
-class B extends core::Object {
-  field self::A a = null;
-  synthetic constructor •() → self::B
-    : super core::Object::•()
-    ;
-}
-static field core::int v_prefix_pp = let final self::B #t1 = new self::B::•() in #t1.{self::B::a} = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:17:37: Error: A value of type 'dart.core::int' can't be assigned to a variable of type 'test::A'.
-Try changing the type of the left hand side, or casting the right hand side to 'test::A'.
-var  v_prefix_pp = (++new B(). /*@target=B::a*/ a);
-                                    ^" in #t1.{self::B::a}.{self::A::+}(1) as{TypeError} <BottomType>;
-static field core::double v_prefix_mm = let final self::B #t3 = new self::B::•() in #t3.{self::B::a} = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:18:40: Error: A value of type 'dart.core::double' can't be assigned to a variable of type 'test::A'.
-Try changing the type of the left hand side, or casting the right hand side to 'test::A'.
-var  v_prefix_mm = (--new B(). /*@target=B::a*/ a);
-                                       ^" in #t3.{self::B::a}.{self::A::-}(1) as{TypeError} <BottomType>;
-static field self::A v_postfix_pp = let final self::B #t5 = new self::B::•() in let final self::A #t6 = #t5.{self::B::a} in let final core::int #t7 = #t5.{self::B::a} = let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:19:63: Error: A value of type 'dart.core::int' can't be assigned to a variable of type 'test::A'.
-Try changing the type of the left hand side, or casting the right hand side to 'test::A'.
-var  v_postfix_pp = (new B(). /*@target=B::a*/ a++);
-                                                              ^" in #t6.{self::A::+}(1) as{TypeError} <BottomType>in #t6;
-static field self::A v_postfix_mm = let final self::B #t9 = new self::B::•() in let final self::A #t10 = #t9.{self::B::a} in let final core::double #t11 = #t9.{self::B::a} = let final<BottomType> #t12 = invalid-expression "pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart:20:63: Error: A value of type 'dart.core::double' can't be assigned to a variable of type 'test::A'.
-Try changing the type of the left hand side, or casting the right hand side to 'test::A'.
-var  v_postfix_mm = (new B(). /*@target=B::a*/ a--);
-                                                              ^" in #t10.{self::A::-}(1) as{TypeError} <BottomType>in #t10;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.textual_outline.expect
index 7edc4ca..a7fbd9f 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.textual_outline_modelled.expect
index 50cda50..d08a97e 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_custom.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart
index 39b30e6..c112d9c 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.hierarchy.expect
deleted file mode 100644
index 315581c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
-    Test.member
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.legacy.expect
deleted file mode 100644
index e4830c2..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.legacy.expect
+++ /dev/null
@@ -1,52 +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 v3 = let final dynamic #t9 = t in #t9.member = #t9.member.+(self::f<dynamic>());
-    dynamic v4 = let final dynamic #t10 = t in #t10.member = #t10.member.*(self::f<dynamic>());
-    dynamic v5 = let final dynamic #t11 = t in #t11.member = #t11.member.&(self::f<dynamic>());
-    dynamic v6 = let final dynamic #t12 = t in #t12.member = #t12.member.-(1);
-    dynamic v7 = let final dynamic #t13 = t in let final dynamic #t14 = #t13.member in let final dynamic #t15 = #t13.member = #t14.-(1) in #t14;
-  }
-}
-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_new/infer_assign_to_property_full.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.legacy.transformed.expect
deleted file mode 100644
index e4830c2..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,52 +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 v3 = let final dynamic #t9 = t in #t9.member = #t9.member.+(self::f<dynamic>());
-    dynamic v4 = let final dynamic #t10 = t in #t10.member = #t10.member.*(self::f<dynamic>());
-    dynamic v5 = let final dynamic #t11 = t in #t11.member = #t11.member.&(self::f<dynamic>());
-    dynamic v6 = let final dynamic #t12 = t in #t12.member = #t12.member.-(1);
-    dynamic v7 = let final dynamic #t13 = t in let final dynamic #t14 = #t13.member in let final dynamic #t15 = #t13.member = #t14.-(1) in #t14;
-  }
-}
-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_new/infer_assign_to_property_full.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.textual_outline.expect
index f1916a0..0330c3e 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.textual_outline_modelled.expect
index 1ddd4b1..1583cfc 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart
index 4449b88..5719c09 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.hierarchy.expect
deleted file mode 100644
index 315581c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.hierarchy.expect
+++ /dev/null
@@ -1,101 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
-    Test.member
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.legacy.expect
deleted file mode 100644
index 80c1b3f..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.legacy.expect
+++ /dev/null
@@ -1,52 +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 v3 = let final dynamic #t11 = t in #t11.==(null) ? null : #t11.member = #t11.member.+(self::f<dynamic>());
-    dynamic v4 = let final dynamic #t12 = t in #t12.==(null) ? null : #t12.member = #t12.member.*(self::f<dynamic>());
-    dynamic v5 = let final dynamic #t13 = t in #t13.==(null) ? null : #t13.member = #t13.member.&(self::f<dynamic>());
-    dynamic v6 = let final dynamic #t14 = t in #t14.==(null) ? null : #t14.member = #t14.member.-(1);
-    dynamic v7 = let final dynamic #t15 = t in #t15.==(null) ? null : let final dynamic #t16 = #t15.member in let final dynamic #t17 = #t15.member = #t16.-(1) in #t16;
-  }
-}
-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_new/infer_assign_to_property_null_aware.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.legacy.transformed.expect
deleted file mode 100644
index 80c1b3f..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,52 +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 v3 = let final dynamic #t11 = t in #t11.==(null) ? null : #t11.member = #t11.member.+(self::f<dynamic>());
-    dynamic v4 = let final dynamic #t12 = t in #t12.==(null) ? null : #t12.member = #t12.member.*(self::f<dynamic>());
-    dynamic v5 = let final dynamic #t13 = t in #t13.==(null) ? null : #t13.member = #t13.member.&(self::f<dynamic>());
-    dynamic v6 = let final dynamic #t14 = t in #t14.==(null) ? null : #t14.member = #t14.member.-(1);
-    dynamic v7 = let final dynamic #t15 = t in #t15.==(null) ? null : let final dynamic #t16 = #t15.member in let final dynamic #t17 = #t15.member = #t16.-(1) in #t16;
-  }
-}
-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_new/infer_assign_to_property_null_aware.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.outline.expect
deleted file mode 100644
index 7206086..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.outline.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends self::A {
-  synthetic constructor •() → self::B*
-    ;
-  operator +(self::C* v) → self::A*
-    ;
-  operator -(core::int* i) → self::B*
-    ;
-  operator *(self::B* v) → self::B*
-    ;
-  operator &(self::A* v) → self::C*
-    ;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    ;
-}
-class Test extends core::Object {
-  field self::B* member;
-  synthetic constructor •() → self::Test*
-    ;
-  static method test(self::Test* t) → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.textual_outline.expect
index f1916a0..0330c3e 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.textual_outline_modelled.expect
index 1ddd4b1..1583cfc 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference_new/infer_assign_to_property_full.dart.outline.expect
copy to pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart
index 1bb125b..b72b887 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.hierarchy.expect
deleted file mode 100644
index d489c28..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test1.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-    Test1.prop
-
-Test2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test2.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-    Test2.prop
-
-Test3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test3.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Test3.test3
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Test3.prop
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.legacy.expect
deleted file mode 100644
index 72b447d..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,63 +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 v2 = let final dynamic #t2 = t in #t2.==(null) ? null : #t2.prop = self::getNum();
-    dynamic v4 = let final dynamic #t3 = t in #t3.==(null) ? null : let final dynamic #t4 = #t3.prop in #t4.==(null) ? #t3.prop = self::getInt() : #t4;
-    dynamic v5 = let final dynamic #t5 = t in #t5.==(null) ? null : let final dynamic #t6 = #t5.prop in #t6.==(null) ? #t5.prop = self::getNum() : #t6;
-    dynamic v7 = let final dynamic #t7 = t in #t7.==(null) ? null : #t7.prop = #t7.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t8 = t in #t8.==(null) ? null : #t8.prop = #t8.prop.+(self::getNum());
-    dynamic v10 = let final dynamic #t9 = t in #t9.==(null) ? null : #t9.prop = #t9.prop.+(1);
-    dynamic v11 = let final dynamic #t10 = t in #t10.==(null) ? null : let final dynamic #t11 = #t10.prop in let final dynamic #t12 = #t10.prop = #t11.+(1) in #t11;
-  }
-}
-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 #t13 = t in #t13.==(null) ? null : #t13.prop = self::getInt();
-    dynamic v2 = let final dynamic #t14 = t in #t14.==(null) ? null : #t14.prop = self::getNum();
-    dynamic v3 = let final dynamic #t15 = t in #t15.==(null) ? null : #t15.prop = self::getDouble();
-    dynamic v4 = let final dynamic #t16 = t in #t16.==(null) ? null : let final dynamic #t17 = #t16.prop in #t17.==(null) ? #t16.prop = self::getInt() : #t17;
-    dynamic v5 = let final dynamic #t18 = t in #t18.==(null) ? null : let final dynamic #t19 = #t18.prop in #t19.==(null) ? #t18.prop = self::getNum() : #t19;
-    dynamic v6 = let final dynamic #t20 = t in #t20.==(null) ? null : let final dynamic #t21 = #t20.prop in #t21.==(null) ? #t20.prop = self::getDouble() : #t21;
-    dynamic v7 = let final dynamic #t22 = t in #t22.==(null) ? null : #t22.prop = #t22.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t23 = t in #t23.==(null) ? null : #t23.prop = #t23.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t24 = t in #t24.==(null) ? null : #t24.prop = #t24.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t25 = t in #t25.==(null) ? null : #t25.prop = #t25.prop.+(1);
-    dynamic v11 = let final dynamic #t26 = t in #t26.==(null) ? null : let final dynamic #t27 = #t26.prop in let final dynamic #t28 = #t26.prop = #t27.+(1) in #t27;
-  }
-}
-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 v2 = let final dynamic #t29 = t in #t29.==(null) ? null : #t29.prop = self::getNum();
-    dynamic v3 = let final dynamic #t30 = t in #t30.==(null) ? null : #t30.prop = self::getDouble();
-    dynamic v5 = let final dynamic #t31 = t in #t31.==(null) ? null : let final dynamic #t32 = #t31.prop in #t32.==(null) ? #t31.prop = self::getNum() : #t32;
-    dynamic v6 = let final dynamic #t33 = t in #t33.==(null) ? null : let final dynamic #t34 = #t33.prop in #t34.==(null) ? #t33.prop = self::getDouble() : #t34;
-    dynamic v7 = let final dynamic #t35 = t in #t35.==(null) ? null : #t35.prop = #t35.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t36 = t in #t36.==(null) ? null : #t36.prop = #t36.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t37 = t in #t37.==(null) ? null : #t37.prop = #t37.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t38 = t in #t38.==(null) ? null : #t38.prop = #t38.prop.+(1);
-    dynamic v11 = let final dynamic #t39 = t in #t39.==(null) ? null : let final dynamic #t40 = #t39.prop in let final dynamic #t41 = #t39.prop = #t40.+(1) in #t40;
-  }
-}
-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_new/infer_assign_to_property_null_aware_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 72b447d..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,63 +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 v2 = let final dynamic #t2 = t in #t2.==(null) ? null : #t2.prop = self::getNum();
-    dynamic v4 = let final dynamic #t3 = t in #t3.==(null) ? null : let final dynamic #t4 = #t3.prop in #t4.==(null) ? #t3.prop = self::getInt() : #t4;
-    dynamic v5 = let final dynamic #t5 = t in #t5.==(null) ? null : let final dynamic #t6 = #t5.prop in #t6.==(null) ? #t5.prop = self::getNum() : #t6;
-    dynamic v7 = let final dynamic #t7 = t in #t7.==(null) ? null : #t7.prop = #t7.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t8 = t in #t8.==(null) ? null : #t8.prop = #t8.prop.+(self::getNum());
-    dynamic v10 = let final dynamic #t9 = t in #t9.==(null) ? null : #t9.prop = #t9.prop.+(1);
-    dynamic v11 = let final dynamic #t10 = t in #t10.==(null) ? null : let final dynamic #t11 = #t10.prop in let final dynamic #t12 = #t10.prop = #t11.+(1) in #t11;
-  }
-}
-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 #t13 = t in #t13.==(null) ? null : #t13.prop = self::getInt();
-    dynamic v2 = let final dynamic #t14 = t in #t14.==(null) ? null : #t14.prop = self::getNum();
-    dynamic v3 = let final dynamic #t15 = t in #t15.==(null) ? null : #t15.prop = self::getDouble();
-    dynamic v4 = let final dynamic #t16 = t in #t16.==(null) ? null : let final dynamic #t17 = #t16.prop in #t17.==(null) ? #t16.prop = self::getInt() : #t17;
-    dynamic v5 = let final dynamic #t18 = t in #t18.==(null) ? null : let final dynamic #t19 = #t18.prop in #t19.==(null) ? #t18.prop = self::getNum() : #t19;
-    dynamic v6 = let final dynamic #t20 = t in #t20.==(null) ? null : let final dynamic #t21 = #t20.prop in #t21.==(null) ? #t20.prop = self::getDouble() : #t21;
-    dynamic v7 = let final dynamic #t22 = t in #t22.==(null) ? null : #t22.prop = #t22.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t23 = t in #t23.==(null) ? null : #t23.prop = #t23.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t24 = t in #t24.==(null) ? null : #t24.prop = #t24.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t25 = t in #t25.==(null) ? null : #t25.prop = #t25.prop.+(1);
-    dynamic v11 = let final dynamic #t26 = t in #t26.==(null) ? null : let final dynamic #t27 = #t26.prop in let final dynamic #t28 = #t26.prop = #t27.+(1) in #t27;
-  }
-}
-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 v2 = let final dynamic #t29 = t in #t29.==(null) ? null : #t29.prop = self::getNum();
-    dynamic v3 = let final dynamic #t30 = t in #t30.==(null) ? null : #t30.prop = self::getDouble();
-    dynamic v5 = let final dynamic #t31 = t in #t31.==(null) ? null : let final dynamic #t32 = #t31.prop in #t32.==(null) ? #t31.prop = self::getNum() : #t32;
-    dynamic v6 = let final dynamic #t33 = t in #t33.==(null) ? null : let final dynamic #t34 = #t33.prop in #t34.==(null) ? #t33.prop = self::getDouble() : #t34;
-    dynamic v7 = let final dynamic #t35 = t in #t35.==(null) ? null : #t35.prop = #t35.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t36 = t in #t36.==(null) ? null : #t36.prop = #t36.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t37 = t in #t37.==(null) ? null : #t37.prop = #t37.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t38 = t in #t38.==(null) ? null : #t38.prop = #t38.prop.+(1);
-    dynamic v11 = let final dynamic #t39 = t in #t39.==(null) ? null : let final dynamic #t40 = #t39.prop in let final dynamic #t41 = #t39.prop = #t40.+(1) in #t40;
-  }
-}
-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_new/infer_assign_to_property_null_aware_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.textual_outline.expect
index 0757142..d232d96 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.textual_outline_modelled.expect
index 265e693..5ff5dff 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Test1 {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_null_aware_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart
index 553dbee..48ef55d 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.hierarchy.expect
deleted file mode 100644
index 7cf7949..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,121 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Base.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Base.member
-
-Test:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.member
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test.test
-  classSetters:
-    Base.member
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.legacy.expect
deleted file mode 100644
index bd125f4..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.legacy.expect
+++ /dev/null
@@ -1,57 +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 v3 = super.{self::Base::member} = super.{self::Base::member}.+(self::f<dynamic>());
-    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_new/infer_assign_to_property_super.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.legacy.transformed.expect
deleted file mode 100644
index bd125f4..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,57 +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 v3 = super.{self::Base::member} = super.{self::Base::member}.+(self::f<dynamic>());
-    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_new/infer_assign_to_property_super.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.textual_outline.expect
index 2d1227e..7b0fe2a 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.textual_outline_modelled.expect
index cdf4959..df2928f 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart
index ef3dee1..c04c80e 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.hierarchy.expect
deleted file mode 100644
index 2c693c5..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,117 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Base.intProp
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.numProp
-    Base.doubleProp
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Base.intProp
-    Base.numProp
-    Base.doubleProp
-
-Test1:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.intProp
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.numProp
-    Base.doubleProp
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-    Base.intProp
-    Base.numProp
-    Base.doubleProp
-
-Test2:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.intProp
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.numProp
-    Base.doubleProp
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-    Base.intProp
-    Base.numProp
-    Base.doubleProp
-
-Test3:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Base.intProp
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Base.numProp
-    Test3.test3
-    Base.doubleProp
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Base.intProp
-    Base.numProp
-    Base.doubleProp
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.legacy.expect
deleted file mode 100644
index 1c5f31c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,68 +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 v2 = super.{self::Base::intProp} = self::getNum();
-    dynamic v4 = let final dynamic #t1 = super.{self::Base::intProp} in #t1.==(null) ? super.{self::Base::intProp} = self::getInt() : #t1;
-    dynamic v5 = let final dynamic #t2 = super.{self::Base::intProp} in #t2.==(null) ? super.{self::Base::intProp} = self::getNum() : #t2;
-    dynamic v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(self::getInt());
-    dynamic v8 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(self::getNum());
-    dynamic v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(1);
-    dynamic v11 = let final dynamic #t3 = super.{self::Base::intProp} in let final dynamic #t4 = super.{self::Base::intProp} = #t3.+(1) in #t3;
-  }
-}
-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 #t5 = super.{self::Base::numProp} in #t5.==(null) ? super.{self::Base::numProp} = self::getInt() : #t5;
-    dynamic v5 = let final dynamic #t6 = super.{self::Base::numProp} in #t6.==(null) ? super.{self::Base::numProp} = self::getNum() : #t6;
-    dynamic v6 = let final dynamic #t7 = super.{self::Base::numProp} in #t7.==(null) ? super.{self::Base::numProp} = self::getDouble() : #t7;
-    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 #t8 = super.{self::Base::numProp} in let final dynamic #t9 = super.{self::Base::numProp} = #t8.+(1) in #t8;
-  }
-}
-class Test3 extends self::Base {
-  synthetic constructor •() → self::Test3*
-    : super self::Base::•()
-    ;
-  method test3() → void {
-    dynamic v2 = super.{self::Base::doubleProp} = self::getNum();
-    dynamic v3 = super.{self::Base::doubleProp} = self::getDouble();
-    dynamic v5 = let final dynamic #t10 = super.{self::Base::doubleProp} in #t10.==(null) ? super.{self::Base::doubleProp} = self::getNum() : #t10;
-    dynamic v6 = let final dynamic #t11 = super.{self::Base::doubleProp} in #t11.==(null) ? super.{self::Base::doubleProp} = self::getDouble() : #t11;
-    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 #t12 = super.{self::Base::doubleProp} in let final dynamic #t13 = super.{self::Base::doubleProp} = #t12.+(1) in #t12;
-  }
-}
-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_new/infer_assign_to_property_super_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 1c5f31c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,68 +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 v2 = super.{self::Base::intProp} = self::getNum();
-    dynamic v4 = let final dynamic #t1 = super.{self::Base::intProp} in #t1.==(null) ? super.{self::Base::intProp} = self::getInt() : #t1;
-    dynamic v5 = let final dynamic #t2 = super.{self::Base::intProp} in #t2.==(null) ? super.{self::Base::intProp} = self::getNum() : #t2;
-    dynamic v7 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(self::getInt());
-    dynamic v8 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(self::getNum());
-    dynamic v10 = super.{self::Base::intProp} = super.{self::Base::intProp}.+(1);
-    dynamic v11 = let final dynamic #t3 = super.{self::Base::intProp} in let final dynamic #t4 = super.{self::Base::intProp} = #t3.+(1) in #t3;
-  }
-}
-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 #t5 = super.{self::Base::numProp} in #t5.==(null) ? super.{self::Base::numProp} = self::getInt() : #t5;
-    dynamic v5 = let final dynamic #t6 = super.{self::Base::numProp} in #t6.==(null) ? super.{self::Base::numProp} = self::getNum() : #t6;
-    dynamic v6 = let final dynamic #t7 = super.{self::Base::numProp} in #t7.==(null) ? super.{self::Base::numProp} = self::getDouble() : #t7;
-    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 #t8 = super.{self::Base::numProp} in let final dynamic #t9 = super.{self::Base::numProp} = #t8.+(1) in #t8;
-  }
-}
-class Test3 extends self::Base {
-  synthetic constructor •() → self::Test3*
-    : super self::Base::•()
-    ;
-  method test3() → void {
-    dynamic v2 = super.{self::Base::doubleProp} = self::getNum();
-    dynamic v3 = super.{self::Base::doubleProp} = self::getDouble();
-    dynamic v5 = let final dynamic #t10 = super.{self::Base::doubleProp} in #t10.==(null) ? super.{self::Base::doubleProp} = self::getNum() : #t10;
-    dynamic v6 = let final dynamic #t11 = super.{self::Base::doubleProp} in #t11.==(null) ? super.{self::Base::doubleProp} = self::getDouble() : #t11;
-    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 #t12 = super.{self::Base::doubleProp} in let final dynamic #t13 = super.{self::Base::doubleProp} = #t12.+(1) in #t12;
-  }
-}
-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_new/infer_assign_to_property_super_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.textual_outline.expect
index 31af0c8..4fafcad 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.textual_outline_modelled.expect
index 5d5e219..4aefd1c 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Base {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_super_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart
index 15bfd3c..e7d6d4b 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.hierarchy.expect
deleted file mode 100644
index d489c28..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.hierarchy.expect
+++ /dev/null
@@ -1,79 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test1.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test1.test
-  classSetters:
-    Test1.prop
-
-Test2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test2.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Test2.test
-  classSetters:
-    Test2.prop
-
-Test3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Test3.prop
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Test3.test3
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Test3.prop
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.legacy.expect
deleted file mode 100644
index 6f81144..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,63 +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 v2 = t.prop = self::getNum();
-    dynamic v4 = let final dynamic #t1 = t in let final dynamic #t2 = #t1.prop in #t2.==(null) ? #t1.prop = self::getInt() : #t2;
-    dynamic v5 = let final dynamic #t3 = t in let final dynamic #t4 = #t3.prop in #t4.==(null) ? #t3.prop = self::getNum() : #t4;
-    dynamic v7 = let final dynamic #t5 = t in #t5.prop = #t5.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t6 = t in #t6.prop = #t6.prop.+(self::getNum());
-    dynamic v10 = let final dynamic #t7 = t in #t7.prop = #t7.prop.+(1);
-    dynamic v11 = let final dynamic #t8 = t in let final dynamic #t9 = #t8.prop in let final dynamic #t10 = #t8.prop = #t9.+(1) in #t9;
-  }
-}
-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 #t11 = t in let final dynamic #t12 = #t11.prop in #t12.==(null) ? #t11.prop = self::getInt() : #t12;
-    dynamic v5 = let final dynamic #t13 = t in let final dynamic #t14 = #t13.prop in #t14.==(null) ? #t13.prop = self::getNum() : #t14;
-    dynamic v6 = let final dynamic #t15 = t in let final dynamic #t16 = #t15.prop in #t16.==(null) ? #t15.prop = self::getDouble() : #t16;
-    dynamic v7 = let final dynamic #t17 = t in #t17.prop = #t17.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t18 = t in #t18.prop = #t18.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t19 = t in #t19.prop = #t19.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t20 = t in #t20.prop = #t20.prop.+(1);
-    dynamic v11 = let final dynamic #t21 = t in let final dynamic #t22 = #t21.prop in let final dynamic #t23 = #t21.prop = #t22.+(1) in #t22;
-  }
-}
-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 v2 = t.prop = self::getNum();
-    dynamic v3 = t.prop = self::getDouble();
-    dynamic v5 = let final dynamic #t24 = t in let final dynamic #t25 = #t24.prop in #t25.==(null) ? #t24.prop = self::getNum() : #t25;
-    dynamic v6 = let final dynamic #t26 = t in let final dynamic #t27 = #t26.prop in #t27.==(null) ? #t26.prop = self::getDouble() : #t27;
-    dynamic v7 = let final dynamic #t28 = t in #t28.prop = #t28.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t29 = t in #t29.prop = #t29.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t30 = t in #t30.prop = #t30.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t31 = t in #t31.prop = #t31.prop.+(1);
-    dynamic v11 = let final dynamic #t32 = t in 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_new/infer_assign_to_property_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 6f81144..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,63 +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 v2 = t.prop = self::getNum();
-    dynamic v4 = let final dynamic #t1 = t in let final dynamic #t2 = #t1.prop in #t2.==(null) ? #t1.prop = self::getInt() : #t2;
-    dynamic v5 = let final dynamic #t3 = t in let final dynamic #t4 = #t3.prop in #t4.==(null) ? #t3.prop = self::getNum() : #t4;
-    dynamic v7 = let final dynamic #t5 = t in #t5.prop = #t5.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t6 = t in #t6.prop = #t6.prop.+(self::getNum());
-    dynamic v10 = let final dynamic #t7 = t in #t7.prop = #t7.prop.+(1);
-    dynamic v11 = let final dynamic #t8 = t in let final dynamic #t9 = #t8.prop in let final dynamic #t10 = #t8.prop = #t9.+(1) in #t9;
-  }
-}
-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 #t11 = t in let final dynamic #t12 = #t11.prop in #t12.==(null) ? #t11.prop = self::getInt() : #t12;
-    dynamic v5 = let final dynamic #t13 = t in let final dynamic #t14 = #t13.prop in #t14.==(null) ? #t13.prop = self::getNum() : #t14;
-    dynamic v6 = let final dynamic #t15 = t in let final dynamic #t16 = #t15.prop in #t16.==(null) ? #t15.prop = self::getDouble() : #t16;
-    dynamic v7 = let final dynamic #t17 = t in #t17.prop = #t17.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t18 = t in #t18.prop = #t18.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t19 = t in #t19.prop = #t19.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t20 = t in #t20.prop = #t20.prop.+(1);
-    dynamic v11 = let final dynamic #t21 = t in let final dynamic #t22 = #t21.prop in let final dynamic #t23 = #t21.prop = #t22.+(1) in #t22;
-  }
-}
-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 v2 = t.prop = self::getNum();
-    dynamic v3 = t.prop = self::getDouble();
-    dynamic v5 = let final dynamic #t24 = t in let final dynamic #t25 = #t24.prop in #t25.==(null) ? #t24.prop = self::getNum() : #t25;
-    dynamic v6 = let final dynamic #t26 = t in let final dynamic #t27 = #t26.prop in #t27.==(null) ? #t26.prop = self::getDouble() : #t27;
-    dynamic v7 = let final dynamic #t28 = t in #t28.prop = #t28.prop.+(self::getInt());
-    dynamic v8 = let final dynamic #t29 = t in #t29.prop = #t29.prop.+(self::getNum());
-    dynamic v9 = let final dynamic #t30 = t in #t30.prop = #t30.prop.+(self::getDouble());
-    dynamic v10 = let final dynamic #t31 = t in #t31.prop = #t31.prop.+(1);
-    dynamic v11 = let final dynamic #t32 = t in 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_new/infer_assign_to_property_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.textual_outline.expect
index 0757142..d232d96 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.textual_outline_modelled.expect
index 265e693..5ff5dff 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Test1 {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_property_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart
index 574a106..46289ff 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.hierarchy.expect
deleted file mode 100644
index 5ab98e7..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.f
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.legacy.expect
deleted file mode 100644
index ffa1f78..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.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 {
-  field core::int* f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field self::A* a = new self::A::•();
-static field dynamic b = self::a.f = 1;
-static field dynamic c = 0;
-static field dynamic d = self::c = 1;
-static method main() → dynamic {
-  self::a;
-  self::b;
-  self::c;
-  self::d;
-}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.legacy.transformed.expect
deleted file mode 100644
index ffa1f78..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.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 {
-  field core::int* f = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field self::A* a = new self::A::•();
-static field dynamic b = self::a.f = 1;
-static field dynamic c = 0;
-static field dynamic d = self::c = 1;
-static method main() → dynamic {
-  self::a;
-  self::b;
-  self::c;
-  self::d;
-}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.textual_outline.expect
index 433e168..5bccd027 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.textual_outline_modelled.expect
index d1ca26e..5f20dcf 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 A a = new A();
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_ref.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart
index 3476095..1f4c19b 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.hierarchy.expect
deleted file mode 100644
index 9240a15..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.hierarchy.expect
+++ /dev/null
@@ -1,83 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.staticVariable
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-    B.staticVariable
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.&
-    B.-
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.legacy.expect
deleted file mode 100644
index b6c1574..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.legacy.expect
+++ /dev/null
@@ -1,64 +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 v3 = self::topLevelVariable = self::topLevelVariable.+(self::f<dynamic>());
-  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 v3 = self::B::staticVariable = self::B::staticVariable.+(self::f<dynamic>());
-  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_new/infer_assign_to_static.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.legacy.transformed.expect
deleted file mode 100644
index b6c1574..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,64 +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 v3 = self::topLevelVariable = self::topLevelVariable.+(self::f<dynamic>());
-  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 v3 = self::B::staticVariable = self::B::staticVariable.+(self::f<dynamic>());
-  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_new/infer_assign_to_static.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.textual_outline.expect
index 3ee6268..2da76c2 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.textual_outline_modelled.expect
index 667b734..741c9e1 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 B topLevelVariable;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_static.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart
index f79bce3..4b22632 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.legacy.expect
deleted file mode 100644
index 363be7c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.legacy.expect
+++ /dev/null
@@ -1,48 +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 v2 = self::topLevelInt = self::getNum();
-  dynamic v4 = let final dynamic #t1 = self::topLevelInt in #t1.==(null) ? self::topLevelInt = self::getInt() : #t1;
-  dynamic v5 = let final dynamic #t2 = self::topLevelInt in #t2.==(null) ? self::topLevelInt = self::getNum() : #t2;
-  dynamic v7 = self::topLevelInt = self::topLevelInt.+(self::getInt());
-  dynamic v8 = self::topLevelInt = self::topLevelInt.+(self::getNum());
-  dynamic v10 = self::topLevelInt = self::topLevelInt.+(1);
-  dynamic v11 = let final dynamic #t3 = self::topLevelInt in let final dynamic #t4 = self::topLevelInt = #t3.+(1) in #t3;
-}
-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 #t5 = self::topLevelNum in #t5.==(null) ? self::topLevelNum = self::getInt() : #t5;
-  dynamic v5 = let final dynamic #t6 = self::topLevelNum in #t6.==(null) ? self::topLevelNum = self::getNum() : #t6;
-  dynamic v6 = let final dynamic #t7 = self::topLevelNum in #t7.==(null) ? self::topLevelNum = self::getDouble() : #t7;
-  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 #t8 = self::topLevelNum in let final dynamic #t9 = self::topLevelNum = #t8.+(1) in #t8;
-}
-static method test3() → void {
-  dynamic v2 = self::topLevelDouble = self::getNum();
-  dynamic v3 = self::topLevelDouble = self::getDouble();
-  dynamic v5 = let final dynamic #t10 = self::topLevelDouble in #t10.==(null) ? self::topLevelDouble = self::getNum() : #t10;
-  dynamic v6 = let final dynamic #t11 = self::topLevelDouble in #t11.==(null) ? self::topLevelDouble = self::getDouble() : #t11;
-  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 #t12 = self::topLevelDouble in let final dynamic #t13 = self::topLevelDouble = #t12.+(1) in #t12;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.legacy.transformed.expect
deleted file mode 100644
index 363be7c..0000000
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,48 +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 v2 = self::topLevelInt = self::getNum();
-  dynamic v4 = let final dynamic #t1 = self::topLevelInt in #t1.==(null) ? self::topLevelInt = self::getInt() : #t1;
-  dynamic v5 = let final dynamic #t2 = self::topLevelInt in #t2.==(null) ? self::topLevelInt = self::getNum() : #t2;
-  dynamic v7 = self::topLevelInt = self::topLevelInt.+(self::getInt());
-  dynamic v8 = self::topLevelInt = self::topLevelInt.+(self::getNum());
-  dynamic v10 = self::topLevelInt = self::topLevelInt.+(1);
-  dynamic v11 = let final dynamic #t3 = self::topLevelInt in let final dynamic #t4 = self::topLevelInt = #t3.+(1) in #t3;
-}
-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 #t5 = self::topLevelNum in #t5.==(null) ? self::topLevelNum = self::getInt() : #t5;
-  dynamic v5 = let final dynamic #t6 = self::topLevelNum in #t6.==(null) ? self::topLevelNum = self::getNum() : #t6;
-  dynamic v6 = let final dynamic #t7 = self::topLevelNum in #t7.==(null) ? self::topLevelNum = self::getDouble() : #t7;
-  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 #t8 = self::topLevelNum in let final dynamic #t9 = self::topLevelNum = #t8.+(1) in #t8;
-}
-static method test3() → void {
-  dynamic v2 = self::topLevelDouble = self::getNum();
-  dynamic v3 = self::topLevelDouble = self::getDouble();
-  dynamic v5 = let final dynamic #t10 = self::topLevelDouble in #t10.==(null) ? self::topLevelDouble = self::getNum() : #t10;
-  dynamic v6 = let final dynamic #t11 = self::topLevelDouble in #t11.==(null) ? self::topLevelDouble = self::getDouble() : #t11;
-  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 #t12 = self::topLevelDouble in let final dynamic #t13 = self::topLevelDouble = #t12.+(1) in #t12;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.textual_outline.expect
index 13362e8..a6d579a 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 int getInt() => 0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.textual_outline_modelled.expect
index 2b31b13..2e57621 100644
--- a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 double getDouble() => 0.0;
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_assign_to_static_upwards.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart
index 33c324d..77332c3 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart
+++ b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.hierarchy.expect
deleted file mode 100644
index cf2893f..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.hierarchy.expect
+++ /dev/null
@@ -1,515 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-double:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    double.~/
-    double.minPositive
-    num.<=
-    num._equalToInteger
-    double.maxFinite
-    num.isInfinite
-    num.<
-    double._tryParseDouble
-    double.Object.toString%double.toString
-    double.+
-    double.negativeInfinity
-    num.clamp
-    num.toDouble
-    double._nativeParse
-    double.ceil
-    double.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    double./
-    double.abs
-    double.nan
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    double.remainder
-    double.infinity
-    num.isFinite
-    num.toInt
-    double.%
-    double.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    double.floorToDouble
-    Object._identityHashCode
-    num.>
-    double.roundToDouble
-    double.round
-    double.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    double.truncate
-    double.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    double.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    double.truncateToDouble
-    double.parse
-    double.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    double._parse
-    double.*
-  classSetters:
-  interfaceMembers:
-    double.~/
-    double.minPositive
-    num.<=
-    num._equalToInteger
-    double.maxFinite
-    num.isInfinite
-    num.<
-    double._tryParseDouble
-    double.Object.toString%double.toString
-    double.+
-    double.negativeInfinity
-    num.clamp
-    num.toDouble
-    double._nativeParse
-    double.ceil
-    double.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    double./
-    double.abs
-    double.nan
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    double.remainder
-    double.infinity
-    num.isFinite
-    num.toInt
-    double.%
-    double.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    double.floorToDouble
-    Object._identityHashCode
-    num.>
-    double.roundToDouble
-    double.round
-    double.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    double.truncate
-    double.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    double.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    double.truncateToDouble
-    double.parse
-    double.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    double._parse
-    double.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.expect
deleted file mode 100644
index 4b59c09..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart:16: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 set x(core::double* value) → void;
-}
-class B extends self::A {
-  field invalid-type x = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.transformed.expect
deleted file mode 100644
index 4b59c09..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart:16: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 set x(core::double* value) → void;
-}
-class B extends self::A {
-  field invalid-type x = null;
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.textual_outline.expect
index b979107..c1b0b53 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.textual_outline_modelled.expect
index b979107..c1b0b53 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_field_getter_setter_mismatch.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart
index d6f3096..39da6b2 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 abstract class A {
   A get x;
   void set x(B value);
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.hierarchy.expect
deleted file mode 100644
index b7417eb..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.hierarchy.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    A.y
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.y
-    A.x
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
-    C.x
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.expect
deleted file mode 100644
index 1f6563a..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:17:7: Error: Can't infer a type for 'y' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   var y;
-//       ^
-//
-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() → self::A*;
-  abstract set x(self::B* value) → void;
-  abstract get y() → self::B*;
-  abstract set y(self::A* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::B {
-  field self::A* x = null;
-  field invalid-type y = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.transformed.expect
deleted file mode 100644
index 1f6563a..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart:17:7: Error: Can't infer a type for 'y' as some of the inherited members have different types.
-// Try adding an explicit type.
-//   var y;
-//       ^
-//
-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() → self::A*;
-  abstract set x(self::B* value) → void;
-  abstract get y() → self::B*;
-  abstract set y(self::A* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-}
-class C extends self::B {
-  field self::A* x = null;
-  field invalid-type y = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.textual_outline.expect
index 0edf6d2..82cf977 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   A get x;
   void set x(B value);
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.textual_outline_modelled.expect
index 4747c1a..36712bf 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   A get x;
   B get y;
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_accessors.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart
index 7ebfa01..e7d9344 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.hierarchy.expect
deleted file mode 100644
index b0e92da..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,402 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.expect
deleted file mode 100644
index cbb9102..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart:19: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 set x(core::num* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract get x() → core::int*;
-}
-class C extends self::B {
-  field invalid-type x = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.transformed.expect
deleted file mode 100644
index cbb9102..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart:19: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 set x(core::num* value) → void;
-}
-abstract class B extends self::A {
-  synthetic constructor •() → self::B*
-    : super self::A::•()
-    ;
-  abstract get x() → core::int*;
-}
-class C extends self::B {
-  field invalid-type x = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.textual_outline.expect
index 305abb9..3cd11b9 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.textual_outline_modelled.expect
index 305abb9..3cd11b9 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_getter_overrides_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart
index 8e774ec..fb0921a 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.hierarchy.expect
deleted file mode 100644
index 6c951d9..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,402 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.expect
deleted file mode 100644
index 5cdec7f..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.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 set x(core::int* value) → void;
-}
-class C extends self::B {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.legacy.transformed.expect
deleted file mode 100644
index 5cdec7f..0000000
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.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 set x(core::int* value) → void;
-}
-class C extends self::B {
-  field core::num* x = null;
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.textual_outline.expect
index bd5d090..7dfa297 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.textual_outline_modelled.expect
index bd5d090..7dfa297 100644
--- a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_field_override_setter_overrides_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart
index 60d0690..7478374 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart
+++ b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.hierarchy.expect
deleted file mode 100644
index 17adc4f..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.hierarchy.expect
+++ /dev/null
@@ -1,92 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.b
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.c
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.c
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.legacy.expect
deleted file mode 100644
index 34dec34..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.legacy.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get c() → self::C*
-    return null;
-  set c(self::C* value) → void {}
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static field dynamic a = new self::A::•();
-static field dynamic x = self::a.b.c;
-static field dynamic y = let final dynamic #t1 = self::a.b in let final dynamic #t2 = #t1.c in #t2.==(null) ? #t1.c = new self::D::•() : #t2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.legacy.transformed.expect
deleted file mode 100644
index 34dec34..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  get c() → self::C*
-    return null;
-  set c(self::C* value) → void {}
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static field dynamic a = new self::A::•();
-static field dynamic x = self::a.b.c;
-static field dynamic y = let final dynamic #t1 = self::a.b in let final dynamic #t2 = #t1.c in #t2.==(null) ? #t1.c = new self::D::•() : #t2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.textual_outline.expect
index 2f8867c..eac6ba0 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.textual_outline_modelled.expect
index 4dbc562..aadf0b1 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_accessor_ref.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart
index c05b4e9..c7d7e2b 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.hierarchy.expect
deleted file mode 100644
index 17adc4f..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.hierarchy.expect
+++ /dev/null
@@ -1,92 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.b
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.c
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.c
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.legacy.expect
deleted file mode 100644
index d55cc2e..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.legacy.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  field self::C* c = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static field dynamic a = new self::A::•();
-static field dynamic x = self::a.b.c;
-static field dynamic y = let final dynamic #t1 = self::a.b in let final dynamic #t2 = #t1.c in #t2.==(null) ? #t1.c = new self::D::•() : #t2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.legacy.transformed.expect
deleted file mode 100644
index d55cc2e..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field self::B* b = null;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-class B extends core::Object {
-  field self::C* c = null;
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-}
-class C extends core::Object {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-}
-static field dynamic a = new self::A::•();
-static field dynamic x = self::a.b.c;
-static field dynamic y = let final dynamic #t1 = self::a.b in let final dynamic #t2 = #t1.c in #t2.==(null) ? #t1.c = new self::D::•() : #t2;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.textual_outline.expect
index 1c47cb0..67bf68d 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.textual_outline_modelled.expect
index 83d5264..fe63aea 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_field_ref.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart
index c89d738..0bb8cd3 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.hierarchy.expect
deleted file mode 100644
index f609d2a..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    A.c
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.b
-    A.c
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.legacy.expect
deleted file mode 100644
index 94bd700..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.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 {
-  field dynamic b = () → dynamic => self::x;
-  field dynamic c = () → dynamic => self::x;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field dynamic a = new self::A::•();
-static field dynamic x = () → dynamic => self::a.b;
-static field dynamic y = () → dynamic => self::a.c;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.legacy.transformed.expect
deleted file mode 100644
index 94bd700..0000000
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.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 {
-  field dynamic b = () → dynamic => self::x;
-  field dynamic c = () → dynamic => self::x;
-  synthetic constructor •() → self::A*
-    : super core::Object::•()
-    ;
-}
-static field dynamic a = new self::A::•();
-static field dynamic x = () → dynamic => self::a.b;
-static field dynamic y = () → dynamic => self::a.c;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.textual_outline.expect
index 1d3b6a2..04056f2 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.textual_outline_modelled.expect
index 9e8f476..57a8d15 100644
--- a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_instance_field_ref_circular.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_logical.dart b/pkg/front_end/testcases/inference_new/infer_logical.dart
index d7823ec..0ac3f2b 100644
--- a/pkg/front_end/testcases/inference_new/infer_logical.dart
+++ b/pkg/front_end/testcases/inference_new/infer_logical.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_logical.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_logical.dart.legacy.expect
deleted file mode 100644
index 52f3998..0000000
--- a/pkg/front_end/testcases/inference_new/infer_logical.dart.legacy.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = self::f<dynamic>() || self::f<dynamic>();
-static field dynamic y = self::f<dynamic>() && self::f<dynamic>();
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test() → void {
-  dynamic x = self::f<dynamic>() || self::f<dynamic>();
-  dynamic y = self::f<dynamic>() && self::f<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_logical.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_logical.dart.legacy.transformed.expect
deleted file mode 100644
index 52f3998..0000000
--- a/pkg/front_end/testcases/inference_new/infer_logical.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,13 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = self::f<dynamic>() || self::f<dynamic>();
-static field dynamic y = self::f<dynamic>() && self::f<dynamic>();
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test() → void {
-  dynamic x = self::f<dynamic>() || self::f<dynamic>();
-  dynamic y = self::f<dynamic>() && self::f<dynamic>();
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/infer_logical.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_logical.dart.textual_outline.expect
index a739ce7..8269fd0 100644
--- a/pkg/front_end/testcases/inference_new/infer_logical.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_logical.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_logical.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_logical.dart.textual_outline_modelled.expect
index 15d8c5f..f6cf705 100644
--- a/pkg/front_end/testcases/inference_new/infer_logical.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_logical.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/infer_logical.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_logical.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_logical.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_logical.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_logical.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_logical.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_logical.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_logical.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_logical.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_logical.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_logical.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_logical.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart
index 5c8e415..d5fe17c 100644
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart
+++ b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.hierarchy.expect
deleted file mode 100644
index 3bf59e5..0000000
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.expect
deleted file mode 100644
index ff91341..0000000
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.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::•()
-    ;
-  method f() → void {}
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method f() → void {}
-}
-static field dynamic x = new self::C::•().f();
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.legacy.transformed.expect
deleted file mode 100644
index ff91341..0000000
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.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::•()
-    ;
-  method f() → void {}
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  method f() → void {}
-}
-static field dynamic x = new self::C::•().f();
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.textual_outline.expect
index fccbad0..276af4e 100644
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.textual_outline_modelled.expect
index deba2e5..699b12b 100644
--- a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.strong.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_use_of_void.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.outline.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_use_of_void.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/infer_use_of_void.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/infer_use_of_void.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart
index 6b14c21..3a6562d 100644
--- a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart
+++ b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 
 int i;
diff --git a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.legacy.expect b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.legacy.expect
deleted file mode 100644
index d04529a..0000000
--- a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.legacy.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::int* i;
-static field core::String* s;
-static field dynamic x = self::i = self::s;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.legacy.transformed.expect
deleted file mode 100644
index d04529a..0000000
--- a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,8 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::int* i;
-static field core::String* s;
-static field dynamic x = self::i = self::s;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.strong.transformed.expect
deleted file mode 100644
index 4b4d6da..0000000
--- a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.strong.transformed.expect
+++ /dev/null
@@ -1,11 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-static field core::int i;
-static field core::String s;
-static field core::String x = self::i = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart:9:62: Error: A value of type 'dart.core::String' can't be assigned to a variable of type 'dart.core::int'.
-Try changing the type of the left hand side, or casting the right hand side to 'dart.core::int'.
-var  x = i = /*@error=InvalidAssignment*/ s;
-                                                             ^" in self::s as{TypeError} <BottomType>;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.textual_outline.expect
index 7981f61..1330573 100644
--- a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 int i;
 String s;
 var x = i = s;
diff --git a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.textual_outline_modelled.expect
index 46ffb37..4349743 100644
--- a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 String s;
 int i;
 main() {}
diff --git a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.strong.expect b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.outline.expect b/pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/invalid_assignment_during_toplevel_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart
index 95a8a3b..44d091e 100644
--- a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart
+++ b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.legacy.expect
deleted file mode 100644
index c2df0e3..0000000
--- a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = <dynamic>[null];
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index c2df0e3..0000000
--- a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = <dynamic>[null];
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.textual_outline.expect
index 38b2446..e352ea2 100644
--- a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x = [null];
diff --git a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.textual_outline_modelled.expect
index 9294248..a043852 100644
--- a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.strong.expect b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.outline.expect b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/list_literals_can_infer_null_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart
index 4acd9c4..49da973 100644
--- a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart
+++ b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.legacy.expect b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.legacy.expect
deleted file mode 100644
index aaecc4d..0000000
--- a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.legacy.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = <dynamic, dynamic>{null: null};
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.legacy.transformed.expect
deleted file mode 100644
index aaecc4d..0000000
--- a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library test;
-import self as self;
-
-static field dynamic x = <dynamic, dynamic>{null: null};
-static method main() → dynamic {
-  self::x;
-}
diff --git a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.textual_outline.expect
index 1954ad0..3329d4e 100644
--- a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var x = {null: null};
diff --git a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.textual_outline_modelled.expect
index 412a917..e7a37b5 100644
--- a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.strong.expect b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.outline.expect b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/map_literals_can_infer_null_top_level.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart
index d1f1fe7..013c8c7 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.hierarchy.expect
deleted file mode 100644
index 5a9daa5..0000000
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.hierarchy.expect
+++ /dev/null
@@ -1,507 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I1.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I2.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I1, I2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.I1.f%I2.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> C
-  interfaces: I1, I2
-  classMembers:
-    D.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    D.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-E:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I2, I1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    E.I2.f%I1.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-F:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> E
-  interfaces: I2, I1
-  classMembers:
-    F.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    F.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.expect
deleted file mode 100644
index 14f8b14..0000000
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class I1 extends core::Object {
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* i) → void;
-}
-abstract class I2 extends core::Object {
-  synthetic constructor •() → self::I2*
-    : super core::Object::•()
-    ;
-  abstract method f(core::Object* o) → void;
-}
-abstract class C extends core::Object implements self::I1, self::I2 {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub method f(core::Object* o) → void;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f(core::Object* o) → void {}
-}
-abstract class E extends core::Object implements self::I2, self::I1 {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends self::E {
-  synthetic constructor •() → self::F*
-    : super self::E::•()
-    ;
-  method f(core::Object* o) → void {}
-}
-static method g1(self::C* c) → void {
-  c.f("hi");
-}
-static method g2(self::E* e) → void {
-  e.f("hi");
-}
-static method main() → dynamic {
-  self::g1(new self::D::•());
-  self::g2(new self::F::•());
-}
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.transformed.expect
deleted file mode 100644
index 14f8b14..0000000
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-abstract class I1 extends core::Object {
-  synthetic constructor •() → self::I1*
-    : super core::Object::•()
-    ;
-  abstract method f(core::int* i) → void;
-}
-abstract class I2 extends core::Object {
-  synthetic constructor •() → self::I2*
-    : super core::Object::•()
-    ;
-  abstract method f(core::Object* o) → void;
-}
-abstract class C extends core::Object implements self::I1, self::I2 {
-  synthetic constructor •() → self::C*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub method f(core::Object* o) → void;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D*
-    : super self::C::•()
-    ;
-  method f(core::Object* o) → void {}
-}
-abstract class E extends core::Object implements self::I2, self::I1 {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends self::E {
-  synthetic constructor •() → self::F*
-    : super self::E::•()
-    ;
-  method f(core::Object* o) → void {}
-}
-static method g1(self::C* c) → void {
-  c.f("hi");
-}
-static method g2(self::E* e) → void {
-  e.f("hi");
-}
-static method main() → dynamic {
-  self::g1(new self::D::•());
-  self::g2(new self::F::•());
-}
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.textual_outline.expect
index b52257c..a3dc615 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I1 {
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.textual_outline_modelled.expect
index fa895e1..2245528 100644
--- a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C implements I1, I2 {}
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.strong.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.outline.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/multiple_interface_inheritance.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart
index a7b2434..9722b96 100644
--- a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart
+++ b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.textual_outline.expect
index f19d7b2..bcce8ba 100644
--- a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Class {
diff --git a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.textual_outline_modelled.expect
index f19d7b2..bcce8ba 100644
--- a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class Class {
diff --git a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.strong.expect b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/null_aware_property_get.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.outline.expect b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/null_aware_property_get.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/null_aware_property_get.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/null_aware_property_get.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart
index 71adde7..7676f3f 100644
--- a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart
+++ b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.hierarchy.expect
deleted file mode 100644
index b8aaea1..0000000
--- a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.hierarchy.expect
+++ /dev/null
@@ -1,147 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    A.*
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    G.target
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    G.target
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.legacy.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.legacy.expect
deleted file mode 100644
index 556c8d1..0000000
--- a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.legacy.expect
+++ /dev/null
@@ -1,65 +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 +(core::int* value) → self::C*
-    return null;
-  operator *(self::D* value) → self::C*
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(core::int* value) → self::E*
-    return null;
-  operator *(self::F* value) → self::E*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object {
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-class G extends core::Object {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  get target() → self::A*
-    return null;
-  set target(self::B* value) → void {}
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test1(self::G* g) → void {
-  let final dynamic #t1 = g in #t1.target = #t1.target.*(self::f<dynamic>());
-  dynamic x = let final dynamic #t2 = g in #t2.target = #t2.target.*(self::f<dynamic>());
-}
-static method test2(self::G* g) → void {
-  let final dynamic #t3 = g in #t3.target = #t3.target.+(1);
-  dynamic x = let final dynamic #t4 = g in #t4.target = #t4.target.+(1);
-}
-static method test3(self::G* g) → void {
-  let final dynamic #t5 = g in #t5.target = #t5.target.+(1);
-  dynamic x = let final dynamic #t6 = g in let final dynamic #t7 = #t6.target in let final dynamic #t8 = #t6.target = #t7.+(1) in #t7;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.legacy.transformed.expect
deleted file mode 100644
index 556c8d1..0000000
--- a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,65 +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 +(core::int* value) → self::C*
-    return null;
-  operator *(self::D* value) → self::C*
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(core::int* value) → self::E*
-    return null;
-  operator *(self::F* value) → self::E*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object {
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-class G extends core::Object {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  get target() → self::A*
-    return null;
-  set target(self::B* value) → void {}
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test1(self::G* g) → void {
-  let final dynamic #t1 = g in #t1.target = #t1.target.*(self::f<dynamic>());
-  dynamic x = let final dynamic #t2 = g in #t2.target = #t2.target.*(self::f<dynamic>());
-}
-static method test2(self::G* g) → void {
-  let final dynamic #t3 = g in #t3.target = #t3.target.+(1);
-  dynamic x = let final dynamic #t4 = g in #t4.target = #t4.target.+(1);
-}
-static method test3(self::G* g) → void {
-  let final dynamic #t5 = g in #t5.target = #t5.target.+(1);
-  dynamic x = let final dynamic #t6 = g in let final dynamic #t7 = #t6.target in let final dynamic #t8 = #t6.target = #t7.+(1) in #t7;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.textual_outline.expect
index 530257a..dfd5284 100644
--- a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.textual_outline_modelled.expect
index fdf8b09..09bae58 100644
--- a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.strong.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/property_assign_combiner.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.outline.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/property_assign_combiner.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/property_assign_combiner.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/property_assign_combiner.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart
index cdea649..1c61afa 100644
--- a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart
+++ b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.hierarchy.expect
deleted file mode 100644
index 38a3d58..0000000
--- a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.getter
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.function
-    C.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.field
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.legacy.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.legacy.expect
deleted file mode 100644
index 35e3047..0000000
--- a/pkg/front_end/testcases/inference_new/property_get_toplevel.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 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 field_ref = self::c.field;
-static field dynamic getter_ref = self::c.getter;
-static field dynamic function_ref = self::c.function;
-static field dynamic field_ref_list = <dynamic>[self::c.field];
-static field dynamic getter_ref_list = <dynamic>[self::c.getter];
-static field dynamic function_ref_list = <dynamic>[self::c.function];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.legacy.transformed.expect
deleted file mode 100644
index 35e3047..0000000
--- a/pkg/front_end/testcases/inference_new/property_get_toplevel.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 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 field_ref = self::c.field;
-static field dynamic getter_ref = self::c.getter;
-static field dynamic function_ref = self::c.function;
-static field dynamic field_ref_list = <dynamic>[self::c.field];
-static field dynamic getter_ref_list = <dynamic>[self::c.getter];
-static field dynamic function_ref_list = <dynamic>[self::c.function];
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.textual_outline.expect
index efab0ad..ff89627 100644
--- a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.textual_outline_modelled.expect
index 4e1e6c5..e7fed9c 100644
--- a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 C c = new C();
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.strong.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/property_get_toplevel.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.outline.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/property_get_toplevel.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/property_get_toplevel.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/property_get_toplevel.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart
index f0b39e9..6fc21ac 100644
--- a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart
+++ b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.hierarchy.expect
deleted file mode 100644
index ddb6412..0000000
--- a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.hierarchy.expect
+++ /dev/null
@@ -1,128 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    A.*
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    B.*
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.legacy.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.legacy.expect
deleted file mode 100644
index e507598..0000000
--- a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.legacy.expect
+++ /dev/null
@@ -1,60 +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 +(core::int* value) → self::C*
-    return null;
-  operator *(self::D* value) → self::C*
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(core::int* value) → self::E*
-    return null;
-  operator *(self::F* value) → self::E*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object {
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static get target() → self::A*
-  return null;
-static set target(self::B* value) → void {}
-static method test1() → void {
-  self::target = self::target.*(self::f<dynamic>());
-  dynamic x = self::target = self::target.*(self::f<dynamic>());
-}
-static method test2() → void {
-  self::target = self::target.+(1);
-  dynamic x = self::target = self::target.+(1);
-}
-static method test3() → void {
-  self::target = self::target.+(1);
-  dynamic x = let final dynamic #t1 = self::target in let final dynamic #t2 = self::target = #t1.+(1) in #t1;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.legacy.transformed.expect
deleted file mode 100644
index e507598..0000000
--- a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,60 +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 +(core::int* value) → self::C*
-    return null;
-  operator *(self::D* value) → self::C*
-    return null;
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    : super core::Object::•()
-    ;
-  operator +(core::int* value) → self::E*
-    return null;
-  operator *(self::F* value) → self::E*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-}
-class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-}
-class F extends core::Object {
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-}
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static get target() → self::A*
-  return null;
-static set target(self::B* value) → void {}
-static method test1() → void {
-  self::target = self::target.*(self::f<dynamic>());
-  dynamic x = self::target = self::target.*(self::f<dynamic>());
-}
-static method test2() → void {
-  self::target = self::target.+(1);
-  dynamic x = self::target = self::target.+(1);
-}
-static method test3() → void {
-  self::target = self::target.+(1);
-  dynamic x = let final dynamic #t1 = self::target in let final dynamic #t2 = self::target = #t1.+(1) in #t1;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.textual_outline.expect
index f23864b..4682e12 100644
--- a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.textual_outline_modelled.expect
index 1fbf16f..d1ab390 100644
--- a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 A get target => null;
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.strong.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/static_assign_combiner.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.outline.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/static_assign_combiner.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/static_assign_combiner.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/static_assign_combiner.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart
index e4e45fa..0ab4f9a 100644
--- a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart
+++ b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.legacy.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.legacy.expect
deleted file mode 100644
index 7897141..0000000
--- a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.legacy.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = () → dynamic => self::f() ? self::y : self::z;
-static field dynamic y = () → dynamic => self::x;
-static field dynamic z = () → dynamic => self::x;
-static method f() → core::bool*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.legacy.transformed.expect
deleted file mode 100644
index 7897141..0000000
--- a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic x = () → dynamic => self::f() ? self::y : self::z;
-static field dynamic y = () → dynamic => self::x;
-static field dynamic z = () → dynamic => self::x;
-static method f() → core::bool*
-  return null;
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.textual_outline.expect
index d4c04a6..a20ce2a 100644
--- a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 bool f() => null;
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.textual_outline_modelled.expect
index 667ba69..a5de498 100644
--- a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 bool f() => null;
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/strongly_connected_component.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.outline.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/strongly_connected_component.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/strongly_connected_component.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/strongly_connected_component.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/strongly_connected_component.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/strongly_connected_component.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/super_index_get.dart b/pkg/front_end/testcases/inference_new/super_index_get.dart
index 105d698..e947140 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get.dart
+++ b/pkg/front_end/testcases/inference_new/super_index_get.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/super_index_get.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/super_index_get.dart.hierarchy.expect
deleted file mode 100644
index adf6a6f..0000000
--- a/pkg/front_end/testcases/inference_new/super_index_get.dart.hierarchy.expect
+++ /dev/null
@@ -1,57 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.h
-    C.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/super_index_get.dart.legacy.expect b/pkg/front_end/testcases/inference_new/super_index_get.dart.legacy.expect
deleted file mode 100644
index 7ae8f9f..0000000
--- a/pkg/front_end/testcases/inference_new/super_index_get.dart.legacy.expect
+++ /dev/null
@@ -1,26 +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::num*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  operator [](core::Object* x) → core::int*
-    return null;
-  method h() → void {
-    dynamic x = 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_new/super_index_get.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/super_index_get.dart.legacy.transformed.expect
deleted file mode 100644
index 7ae8f9f..0000000
--- a/pkg/front_end/testcases/inference_new/super_index_get.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,26 +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::num*
-    return null;
-}
-class C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-  operator [](core::Object* x) → core::int*
-    return null;
-  method h() → void {
-    dynamic x = 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_new/super_index_get.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/super_index_get.dart.textual_outline.expect
index 17a5a7c..b9815ee 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/super_index_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference_new/super_index_get.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/super_index_get.dart.textual_outline_modelled.expect
index 17a5a7c..b9815ee 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/super_index_get.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference_new/super_index_get.dart.strong.expect b/pkg/front_end/testcases/inference_new/super_index_get.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/super_index_get.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/super_index_get.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/super_index_get.dart.outline.expect b/pkg/front_end/testcases/inference_new/super_index_get.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/super_index_get.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/super_index_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/super_index_get.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/super_index_get.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/super_index_get.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/super_index_get.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart
index 0226977..ada714a 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart
+++ b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.hierarchy.expect
deleted file mode 100644
index 1c8f791..0000000
--- a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.hierarchy.expect
+++ /dev/null
@@ -1,92 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> D<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B<Future<U>>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.h
-    C.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.expect
deleted file mode 100644
index 021896a..0000000
--- a/pkg/front_end/testcases/inference_new/super_index_get_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::•()
-    ;
-  operator [](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::•()
-    ;
-  operator [](generic-covariant-impl core::Object* x) → self::E<asy::Future<self::C::U*>*>*
-    return null;
-  method h() → void {
-    dynamic x = 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_new/super_index_get_substitution.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.legacy.transformed.expect
deleted file mode 100644
index 021896a..0000000
--- a/pkg/front_end/testcases/inference_new/super_index_get_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::•()
-    ;
-  operator [](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::•()
-    ;
-  operator [](generic-covariant-impl core::Object* x) → self::E<asy::Future<self::C::U*>*>*
-    return null;
-  method h() → void {
-    dynamic x = 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_new/super_index_get_substitution.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.textual_outline.expect
index 9fe3d8e..4208381 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.textual_outline_modelled.expect
index d7d40b7..e2bc3de 100644
--- a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.strong.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.outline.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/super_index_get_substitution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/switch.dart b/pkg/front_end/testcases/inference_new/switch.dart
index db13296..c4ffee2 100644
--- a/pkg/front_end/testcases/inference_new/switch.dart
+++ b/pkg/front_end/testcases/inference_new/switch.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/switch.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/switch.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/inference_new/switch.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/inference_new/switch.dart.legacy.expect b/pkg/front_end/testcases/inference_new/switch.dart.legacy.expect
deleted file mode 100644
index 4a42f5e..0000000
--- a/pkg/front_end/testcases/inference_new/switch.dart.legacy.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-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 f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test(self::C<core::int*>* x) → void {
-  #L1:
-  switch(x) {
-    #L2:
-    case #C1:
-      {
-        dynamic y = 0;
-        break #L1;
-      }
-    #L3:
-    default:
-      {
-        dynamic y = 0;
-        break #L1;
-      }
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::C<dynamic> {}
-}
diff --git a/pkg/front_end/testcases/inference_new/switch.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/switch.dart.legacy.transformed.expect
deleted file mode 100644
index 4a42f5e..0000000
--- a/pkg/front_end/testcases/inference_new/switch.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library test;
-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 f<T extends core::Object* = dynamic>() → self::f::T*
-  return null;
-static method test(self::C<core::int*>* x) → void {
-  #L1:
-  switch(x) {
-    #L2:
-    case #C1:
-      {
-        dynamic y = 0;
-        break #L1;
-      }
-    #L3:
-    default:
-      {
-        dynamic y = 0;
-        break #L1;
-      }
-  }
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = self::C<dynamic> {}
-}
diff --git a/pkg/front_end/testcases/inference_new/switch.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/switch.dart.textual_outline.expect
index 05de058..85572a1 100644
--- a/pkg/front_end/testcases/inference_new/switch.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/switch.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/switch.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/switch.dart.textual_outline_modelled.expect
index 9107352..85039a8 100644
--- a/pkg/front_end/testcases/inference_new/switch.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/switch.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/switch.dart.strong.expect b/pkg/front_end/testcases/inference_new/switch.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/switch.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/switch.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/switch.dart.outline.expect b/pkg/front_end/testcases/inference_new/switch.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/switch.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/switch.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/switch.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/switch.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/switch.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/switch.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart
index 361da3e..e415a1f 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.hierarchy.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.hierarchy.expect
deleted file mode 100644
index 59b9ccc..0000000
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.hierarchy.expect
+++ /dev/null
@@ -1,191 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    E.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    F.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: D, E, F
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    G.D.foo%E.foo%F.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-H:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> G
-  interfaces: D, E, F
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    H.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    H.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.expect
deleted file mode 100644
index 1fa31ca..0000000
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.expect
+++ /dev/null
@@ -1,54 +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 C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-abstract class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  abstract method foo() → self::A*;
-}
-abstract class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  abstract method foo() → self::B*;
-}
-abstract class F extends core::Object {
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-  abstract method foo() → core::Object*;
-}
-abstract class G extends core::Object implements self::D, self::E, self::F {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub method foo() → self::B*;
-}
-class H extends self::G {
-  synthetic constructor •() → self::H*
-    : super self::G::•()
-    ;
-  method foo() → self::C*
-    return new self::C::•();
-}
-static field dynamic x = self::bar().foo();
-static method bar() → self::G*
-  return new self::H::•();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.transformed.expect
deleted file mode 100644
index 1fa31ca..0000000
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,54 +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 C extends self::B {
-  synthetic constructor •() → self::C*
-    : super self::B::•()
-    ;
-}
-abstract class D extends core::Object {
-  synthetic constructor •() → self::D*
-    : super core::Object::•()
-    ;
-  abstract method foo() → self::A*;
-}
-abstract class E extends core::Object {
-  synthetic constructor •() → self::E*
-    : super core::Object::•()
-    ;
-  abstract method foo() → self::B*;
-}
-abstract class F extends core::Object {
-  synthetic constructor •() → self::F*
-    : super core::Object::•()
-    ;
-  abstract method foo() → core::Object*;
-}
-abstract class G extends core::Object implements self::D, self::E, self::F {
-  synthetic constructor •() → self::G*
-    : super core::Object::•()
-    ;
-  abstract forwarding-stub method foo() → self::B*;
-}
-class H extends self::G {
-  synthetic constructor •() → self::H*
-    : super self::G::•()
-    ;
-  method foo() → self::C*
-    return new self::C::•();
-}
-static field dynamic x = self::bar().foo();
-static method bar() → self::G*
-  return new self::H::•();
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.textual_outline.expect
index 7486465..6d54939 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class A {}
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.textual_outline_modelled.expect
index 16dd2e3e..c8f1be4 100644
--- a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 G bar() => new H();
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.strong.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.outline.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/top_level_field_depends_on_multiple_inheritance.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart
index e5a9e2c..f36a1e6 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.expect
deleted file mode 100644
index f02e2b1..0000000
--- a/pkg/front_end/testcases/inference_new/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 {
-  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_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.legacy.transformed.expect
deleted file mode 100644
index f02e2b1..0000000
--- a/pkg/front_end/testcases/inference_new/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 {
-  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_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline.expect
index 7e89a23..d2782bc 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline_modelled.expect
index f4b01cf..46f2e5d 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.outline.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart
index e5a9e2c..f36a1e6 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.expect
deleted file mode 100644
index f02e2b1..0000000
--- a/pkg/front_end/testcases/inference_new/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(() → 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_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.legacy.transformed.expect
deleted file mode 100644
index f02e2b1..0000000
--- a/pkg/front_end/testcases/inference_new/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(() → 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_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.outline.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.outline.expect
deleted file mode 100644
index f0dd2fa..0000000
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.outline.expect
+++ /dev/null
@@ -1,9 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::List<core::int*>* v;
-static method f<T extends core::Object* = dynamic>(() →* self::f::T* g) → core::List<self::f::T*>*
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.expect
deleted file mode 100644
index 129610f..0000000
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field core::List<core::int*>* v = (#C1).call<core::int*>(() → core::int* {
-  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_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline.expect
index 7e89a23..d2782bc 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline_modelled.expect
index f4b01cf..46f2e5d 100644
--- a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 List<T> f<T>(T g()) => <T>[g()];
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
similarity index 100%
copy from pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.strong.expect
copy to pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.outline.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_dynamic_param_via_expr2.dart.outline.expect
copy to pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/unsafe_block_closure_inference_function_call_explicit_type_param_via_expr2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart
index e195763..49a1e1d 100644
--- a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart
+++ b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.legacy.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.legacy.expect
deleted file mode 100644
index 7a588c0..0000000
--- a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.legacy.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic y = 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 {}
-
-constants  {
-  #C1 = tearoff self::printRunning
-}
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.legacy.transformed.expect
deleted file mode 100644
index 7a588c0..0000000
--- a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static field dynamic y = 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 {}
-
-constants  {
-  #C1 = tearoff self::printRunning
-}
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.textual_outline.expect
index 2536526..6b28b21 100644
--- a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T run<T>(T f()) {}
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.textual_outline_modelled.expect
index 1e8174f..3f4a0dc 100644
--- a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T run<T>(T f()) {}
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.strong.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.outline.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.outline.expect
rename to pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/void_return_type_subtypes_dynamic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/inference_new/while_loop.dart b/pkg/front_end/testcases/inference_new/while_loop.dart
index 764e921..153dbd1 100644
--- a/pkg/front_end/testcases/inference_new/while_loop.dart
+++ b/pkg/front_end/testcases/inference_new/while_loop.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=inference*/
 library test;
 
diff --git a/pkg/front_end/testcases/inference_new/while_loop.dart.legacy.expect b/pkg/front_end/testcases/inference_new/while_loop.dart.legacy.expect
deleted file mode 100644
index 6c0756a..0000000
--- a/pkg/front_end/testcases/inference_new/while_loop.dart.legacy.expect
+++ /dev/null
@@ -1,12 +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 {
-  while (self::f<dynamic>()) {
-    dynamic x = 0;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/while_loop.dart.legacy.transformed.expect b/pkg/front_end/testcases/inference_new/while_loop.dart.legacy.transformed.expect
deleted file mode 100644
index 6c0756a..0000000
--- a/pkg/front_end/testcases/inference_new/while_loop.dart.legacy.transformed.expect
+++ /dev/null
@@ -1,12 +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 {
-  while (self::f<dynamic>()) {
-    dynamic x = 0;
-  }
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference_new/while_loop.dart.outline.expect b/pkg/front_end/testcases/inference_new/while_loop.dart.outline.expect
deleted file mode 100644
index dfd99e1..0000000
--- a/pkg/front_end/testcases/inference_new/while_loop.dart.outline.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-static method f<T extends core::Object* = dynamic>() → self::f::T*
-  ;
-static method test() → void
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/inference_new/while_loop.dart.textual_outline.expect b/pkg/front_end/testcases/inference_new/while_loop.dart.textual_outline.expect
index cdb201d..c1725cf 100644
--- a/pkg/front_end/testcases/inference_new/while_loop.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/inference_new/while_loop.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/while_loop.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/inference_new/while_loop.dart.textual_outline_modelled.expect
index b66d908..f75a9d3 100644
--- a/pkg/front_end/testcases/inference_new/while_loop.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/inference_new/while_loop.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 T f<T>() => null;
diff --git a/pkg/front_end/testcases/inference_new/while_loop.dart.strong.expect b/pkg/front_end/testcases/inference_new/while_loop.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/while_loop.dart.strong.expect
rename to pkg/front_end/testcases/inference_new/while_loop.dart.weak.expect
diff --git a/pkg/front_end/testcases/inference_new/do_loop.dart.outline.expect b/pkg/front_end/testcases/inference_new/while_loop.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/inference_new/do_loop.dart.outline.expect
copy to pkg/front_end/testcases/inference_new/while_loop.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/inference_new/while_loop.dart.strong.transformed.expect b/pkg/front_end/testcases/inference_new/while_loop.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/inference_new/while_loop.dart.strong.transformed.expect
rename to pkg/front_end/testcases/inference_new/while_loop.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart
index 293a967..419c25f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that all three steps of the instantiate-to-bound algorithm
 // implementation, that is, substitution of variables in strongly connected
 // components, substitution of dependencies in the acyclic remainder of the type
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.hierarchy.expect
deleted file mode 100644
index 8f839c1..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.textual_outline.expect
index a476c9a..74f29ec 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<X, Y> {}
 
 class C<X, Y> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.textual_outline_modelled.expect
index a476c9a..74f29ec 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<X, Y> {}
 
 class C<X, Y> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/all_steps.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart
index 9ce7fd2..175695d 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides missing type arguments to
 // raw interface types found in bodies of methods in cases where those types
 // refer to classes imported from compiled dill files.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.hierarchy.expect
deleted file mode 100644
index 8130575..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.textual_outline.expect
index 1f89431..a112d3e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 class A {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.textual_outline_modelled.expect
index 1f89431..a112d3e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 class A {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_generic_classes_from_dill.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart
index a97c04f..0ee2811 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // interface types that are themselves used as type arguments of literal lists
 // found in method bodies.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.hierarchy.expect
deleted file mode 100644
index 94d8ef3..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.textual_outline.expect
index c610622..699bfa1 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.textual_outline_modelled.expect
index c610622..699bfa1 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.outline.expect
copy to pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart
index 9fd0356..fbb12f5 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound leaves interface types that have
 // their type arguments defined by the programmer intact in cases when those
 // interface types are used as type arguments of literal lists that are found in
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.hierarchy.expect
deleted file mode 100644
index b51e6a0..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.fun
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.textual_outline.expect
index 276f316..cb20c91 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 class B<U> {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
index 276f316..cb20c91 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 class B<U> {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_literal_list_with_generic_argument.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart
index eb85003..3fea35a 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // interface types that are themselves used as type arguments of literal maps
 // found in method bodies.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.hierarchy.expect
deleted file mode 100644
index 94d8ef3..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.outline.expect
deleted file mode 100644
index 67dfa7f..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  method foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.textual_outline.expect
index c610622..699bfa1 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.textual_outline_modelled.expect
index c610622..699bfa1 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_literal_list.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_literal_map.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart
index 3044ab3..ed2c095 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides `dynamic` as the type
 // argument for those positions in type argument lists of interface types that
 // have the bound omitted in the corresponding type parameter, regardless of
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.hierarchy.expect
deleted file mode 100644
index 4096970..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.fun
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.textual_outline.expect
index ed3c7fe..7f87d0e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.textual_outline_modelled.expect
index ed3c7fe..7f87d0e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_omitted_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart
index 511a961..b62a475 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound produces correct super-bounded
 // types from raw interface types that refer to F-bounded classes and are found
 // in method bodies.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.hierarchy.expect
deleted file mode 100644
index 94d8ef3..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.textual_outline.expect
index 2b6461d..b0978ef 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends A<T>> {}
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.textual_outline_modelled.expect
index 2b6461d..b0978ef 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends A<T>> {}
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_super_bounded_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart
index 77ea47d..b344f6a 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // typedef types that are themselves used as type arguments of literal lists and
 // are found in method bodies.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.hierarchy.expect
deleted file mode 100644
index 0ed6368..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.textual_outline.expect
index bc2eead..8d42d56 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T extends num>(T p);
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.textual_outline_modelled.expect
index 30c7151..25185b9 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B {
   foo() {}
 }
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart
index 954d5e6..54ccb8f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound leaves typedef types that have
 // their arguments defined by the programmer intact in cases when those typedef
 // types are used as type arguments of literal lists and are found in method
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.hierarchy.expect
deleted file mode 100644
index 19920ef..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.fun
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.textual_outline.expect
index edfd3bd..e769498 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T>(T p);
 
 class B<U> {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
index c142ab4..44981e3 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<U> {
   fun() {}
 }
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list_with_generic_argument.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart
index 506f564..53ae25d 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // typedef types that are themselves used as type arguments in literal maps
 // found in method bodies.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.hierarchy.expect
deleted file mode 100644
index 0ed6368..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.outline.expect
deleted file mode 100644
index 66230d2..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.outline.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-typedef A<contravariant T extends core::num* = core::num*> = (T*) →* dynamic;
-class B extends core::Object {
-  synthetic constructor •() → self::B*
-    ;
-  method foo() → dynamic
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.textual_outline.expect
index bc2eead..8d42d56 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T extends num>(T p);
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.textual_outline_modelled.expect
index 30c7151..25185b9 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B {
   foo() {}
 }
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_list.dart.outline.expect
copy to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_literal_map.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart
index ab623d6..ee423c68 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides `dynamic` as the type
 // argument for those positions in type argument lists of typedef types that
 // have the bound omitted in the corresponding type parameters.  Only those
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.hierarchy.expect
deleted file mode 100644
index 3805794..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.textual_outline.expect
index a5935b8..e048d6e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T>(T p);
 
 class C {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.textual_outline_modelled.expect
index 9881ae4..98ca1f7 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   foo() {}
 }
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_omitted_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart
index 36f36a9..dc3448f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound produces correct super-bounded
 // types from raw typedef types that refer to F-bounded typedefs and are found
 // in method bodies.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.hierarchy.expect
deleted file mode 100644
index 3805794..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.textual_outline.expect
index 0fdd67a..90f469f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T>(T p);
 typedef B<U extends A<U>>(U p);
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.textual_outline_modelled.expect
index e05e4bd..8101382 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   foo() {}
 }
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/body_typedef_super_bounded_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart
index 35e508d..0df9ee8 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that contravariant occurrences of a type variable in the
 // bounds of the other type variables from the same declaration that are not
 // being transitively depended on by that variable are replaced with Null.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.textual_outline.expect
index fcc1eeb..bf98dcd 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<X extends num, Y extends void Function(X)> {}
 
 C c;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.textual_outline_modelled.expect
index e511f6a..f4942e67 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 C c;
 
 class C<X extends num, Y extends void Function(X)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart
index d6aab8e..5dba617 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that contravariant occurrences of a type variable in the
 // bounds of the other type variables from the same declaration that are not
 // being transitively depended on by that variable are replaced with Null, in
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.textual_outline.expect
index e4cafc7..d2983a5 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<X extends num, Y extends void Function(X)> {}
 
 var lc = <C>[];
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.textual_outline_modelled.expect
index 1572ad5..b9ffc63 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<X extends num, Y extends void Function(X)> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_dependence_in_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart
index 235d9f4..c4cd0c4 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that contravariant occurrences of mutually dependent type
 // variables in the bounds of all of these type variables are replaced with
 // Null.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.hierarchy.expect
deleted file mode 100644
index 29eb6df..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.textual_outline.expect
index 4365e51..7ece5b40 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class D<X extends void Function(X, Y), Y extends void Function(X, Y)> {}
 
 D d;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.textual_outline_modelled.expect
index 18b63b4..6688dd7 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 D d;
 E e;
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart
index 3c4aee8..fbb857c 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that contravariant occurrences of mutually dependent type
 // variables in the bounds of all of these type variables are replaced with
 // Null, in the case when the raw type is used as a type argument of a list or
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.hierarchy.expect
deleted file mode 100644
index 29eb6df..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.textual_outline.expect
index 0e699bf..297808d 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class D<X extends void Function(X, Y), Y extends void Function(X, Y)> {}
 
 var ld = <D>[];
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.textual_outline_modelled.expect
index c05a14c..e3650f5 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class D<X extends void Function(X, Y), Y extends void Function(X, Y)> {}
 
 class E<X extends void Function(X)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/contravariant_mutual_dependence_in_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart
index 0bb06cd..ad70003 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that covariant occurrences of a type variable in the bounds
 // of the other type variables from the same declaration that are not being
 // transitively depended on by that type variable are replaced with the bound of
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.hierarchy.expect
deleted file mode 100644
index 25856d1..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.hierarchy.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.textual_outline.expect
index 4144570..b73c1a2 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class C<X, Y extends A<X>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.textual_outline_modelled.expect
index e6df593..284982d 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 C c;
 D d;
 E e;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_dependence.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart
index 86fa97d..cd16323 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that covariant occurrences of a type variable in the bounds
 // of the other type variables from the same declaration that are not being
 // transitively depended on by that type variable are replaced with the bound of
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.hierarchy.expect
deleted file mode 100644
index 25856d1..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.hierarchy.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.textual_outline.expect
index 498ba79..c0dad6b 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class C<X, Y extends A<X>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.textual_outline_modelled.expect
index 5ae4099..b051960 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class C<X, Y extends A<X>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_dependence_in_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart
index 9b4c9c6..4458c58 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that covariant occurrences of mutually dependent type
 // variables in the bounds of all of these type variables are replaced with
 // `dynamic`.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.hierarchy.expect
deleted file mode 100644
index 08d4da1..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.hierarchy.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.textual_outline.expect
index 03f7e21..2d9ea29 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<X, Y> {}
 
 class C<X, Y> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.textual_outline_modelled.expect
index 6c2e53b..710b59b 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 D d;
 E e;
 F f;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart
index 29f3ee2..2ce7f11 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that covariant occurrences of mutually dependent type
 // variables in the bounds of all of these type variables are replaced with
 // `dynamic`, in case when the raw type is used as a type argument of a list or
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.hierarchy.expect
deleted file mode 100644
index 08d4da1..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.hierarchy.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.textual_outline.expect
index bd6e734..7ec3207 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<X, Y> {}
 
 class C<X, Y> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.textual_outline_modelled.expect
index eb9c16e..830e511 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<X, Y> {}
 
 class C<X, Y> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/covariant_mutual_dependence_in_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart
index f875ed0..ee1d838 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that covariant and contravariant occurrences of the same
 // type variable in the bounds of the other type variables from the same
 // declaration that are not being transitively depended on by that variable are
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.hierarchy.expect
deleted file mode 100644
index f8844e4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.textual_outline.expect
index 6d25aa6..72cb315b 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class C<X, Y extends X Function(X)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.textual_outline_modelled.expect
index 90db448..1ca1686 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 C c;
 D d;
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/dependence.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/dependence.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/dependence.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/dependence.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/dependence.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/dependence.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart
index bbfa488..9847562 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that covariant and contravariant occurrences of the same
 // type variable in the bounds of the other type variables from the same
 // declaration that are not being transitively depended on by that variable are
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.hierarchy.expect
deleted file mode 100644
index f8844e4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.textual_outline.expect
index fc6b50f..769a041 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class C<X, Y extends X Function(X)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.textual_outline_modelled.expect
index dd05869..a56fed6f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class C<X, Y extends X Function(X)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/dependence_in_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/folder.options b/pkg/front_end/testcases/instantiate_to_bound/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/folder.options
+++ b/pkg/front_end/testcases/instantiate_to_bound/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart
index 93170b9..4b09046 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides missing type arguments to
 // raw interface types that refer to classes imported from compiled dill files.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.textual_outline.expect
index f49c29b..e8bd1bf 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 LinkedListEntry y;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.textual_outline_modelled.expect
index f49c29b..e8bd1bf 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 LinkedListEntry y;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/generic_classes_from_dill.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart
index 4e50e29..bac8aea 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that type inference uses type arguments provided by
 // instantiate to bound in type annotations to infer the type arguments of the
 // corresponding constructor invocations.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.textual_outline.expect
index e078af5..2a64c01 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.textual_outline_modelled.expect
index e078af5..2a64c01 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.outline.expect
copy to pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart
index 00dae45..175c2eb 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that type inference invokes instantiate to bound to provide
 // type arguments to constructor invocations in cases when nothing constrains
 // the arguments or the invocation.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.outline.expect
deleted file mode 100644
index ea7a309..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.outline.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library;
-import self as self;
-import "dart:core" as core;
-
-class A<T extends core::num* = core::num*> extends core::Object {
-  synthetic constructor •() → self::A<self::A::T*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.textual_outline.expect
index e078af5..2a64c01 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.textual_outline_modelled.expect
index e078af5..2a64c01 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_constrained_by_bound.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_defaults_to_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart
index 5ca2c73..8dc9d73 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound could be run on partially defined
 // type arguments supplied by type inference.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.hierarchy.expect
deleted file mode 100644
index 38e2563..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.textual_outline.expect
index d7289c3..76ddc76 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 class B<T extends num, S extends List<T>> extends A<T> {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.textual_outline_modelled.expect
index d7289c3..76ddc76 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 class B<T extends num, S extends List<T>> extends A<T> {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_gives_input.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart
index 4bdbe0d..bf65124 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that super-bounded types that are produced by instantiate to
 // bound are rejected when inferred as type arguments of constructor
 // invocations.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.hierarchy.expect
deleted file mode 100644
index 9bc4745..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.textual_outline.expect
index d9993ef..8d9c769 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<T extends Comparable<T>> {}
 
 var y = new B();
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.textual_outline_modelled.expect
index 58bc104..a984318 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<T extends Comparable<T>> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/inference_super_bounded_rejected.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart
index 314743f..29ad607 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // interface types that are used in the module outline.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.hierarchy.expect
deleted file mode 100644
index 792b563..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.textual_outline.expect
index e4c532d..05dd2d4 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.textual_outline_modelled.expect
index 0e5c7b8..f9af173 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/instantiated_in_outline.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart
index 5d026c9..8cf9420 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // interface types that are themselves used as type arguments of literal lists.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.textual_outline.expect
index 2e3bf3c..a6f1bb6 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 var a = <A>[];
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.textual_outline_modelled.expect
index 9b30539..8c591bc 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_list.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart
index ad3d94c..1c06113 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound leaves interface types that have
 // their type arguments defined by the programmer intact in cases when those
 // interface types are used as type arguments of literal lists.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.hierarchy.expect
deleted file mode 100644
index 792b563..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.textual_outline.expect
index fcb0347..62a71ba 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 class B<S> {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.textual_outline_modelled.expect
index fcb0347..62a71ba 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {}
 
 class B<S> {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_list_with_generic_argument.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart
index febfe6a..2f985bd 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // interface types that are themselves used as type arguments of literal maps.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.textual_outline.expect
index 3f4f92e..2bb8495 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 var a = <A, A>{};
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.textual_outline_modelled.expect
index f4ec5d2..827fdca 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/literal_map.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart
index 055d6dc..29da40e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the instantiate-to-bound algorithm implementation works
 // well in cases where there are multiple distinct strongly connected components
 // of the type variable dependency graph in one declaration.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.hierarchy.expect
deleted file mode 100644
index 3dc67d6..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.hierarchy.expect
+++ /dev/null
@@ -1,189 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-H:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-J:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.textual_outline.expect
index d99aa50..3675488 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X> {}
 
 class B<X, Y> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.textual_outline_modelled.expect
index ecd3e9f..88fbdf6 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 D d;
 E e;
 F f;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/multiple_strongly_connected.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart
index 5cb6e71..e2b5f71 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that covariant and contravariant occurrences of the same
 // type variable from the set of mutually dependent type variables in the bounds
 // of all of these type variables are replaced with `dynamic` and Null
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.hierarchy.expect
deleted file mode 100644
index dff169d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.hierarchy.expect
+++ /dev/null
@@ -1,189 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C4:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D4:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.textual_outline.expect
index 78b4c2d..96be19f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<X, Y> {}
 
 class C1<X extends X Function(Y), Y extends X Function(Y)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.textual_outline_modelled.expect
index e9b691b..9d3a4bb 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 C1 c1;
 C2 c2;
 C3 c3;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/mutual_dependence.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart
index 097cba9..29becd6 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that covariant and contravariant occurrences of the same
 // type variable from the set of mutually dependent type variables in the bounds
 // of all of these type variables are replaced with `dynamic` and Null
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.hierarchy.expect
deleted file mode 100644
index dff169d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.hierarchy.expect
+++ /dev/null
@@ -1,189 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C4:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D4:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.textual_outline.expect
index 4c6bc43..395a3e3 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<X, Y> {}
 
 class C1<X extends X Function(Y), Y extends X Function(Y)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.textual_outline_modelled.expect
index df9101b..da2b04c 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<X, Y> {}
 
 class C1<X extends X Function(Y), Y extends X Function(Y)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/mutual_dependence_in_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart
index 0ef6500..dd5cfb9 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that a compile-time error is generated when instantiate to
 // bound can't be applied due to raw types with non-simple bounds.  The
 // non-simplicity in this test is due to having another raw type in the bound
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.hierarchy.expect
deleted file mode 100644
index 8fea0c9..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.textual_outline.expect
index 4c7df9e..c2ee308 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<TypeT, TypeS extends TypeT> {}
 
 class B<TypeU extends A> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.textual_outline_modelled.expect
index fabfa1a..79ad1b7 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 C c;
 
 class A<TypeT, TypeS extends TypeT> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_non_simple.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart
index 6d25acd..ea27509 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that a compile-time error is generated when instantiate to
 // bound can't be applied due to raw types with non-simple bounds.  The
 // non-simplicity in this test is due to dependencies between type variables.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.textual_outline.expect
index 4b40c441..f091f4e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<TypeT, TypeS extends TypeT> {}
 
 class B<TypeU extends A> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.textual_outline_modelled.expect
index 1d7b57f..bafa4e3 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 B b;
 
 class A<TypeT, TypeS extends TypeT> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_bound_due_to_variables.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart
index d3acace..7a10a41 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the cyclic non-simplicity issues are detected in case
 // when both class declaration and a parametrized typedef participate in the
 // cycle.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.hierarchy.expect
deleted file mode 100644
index efc780c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.textual_outline.expect
index e977e49..361bc9f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Fisk> {}
 
 typedef Fisk = void Function<TypeY extends Hest>();
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.textual_outline_modelled.expect
index 7213ffd..28feed9 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Fisk> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_class_parametrized_typedef_cycle.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart
index 5aebdc0..fc13d78 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the cyclic non-simplicity detection works in case when
 // both class declarations and typedefs participate in the cycle.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.hierarchy.expect
deleted file mode 100644
index efc780c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.textual_outline.expect
index f524d0c..d617fa8 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Fisk> {}
 
 typedef void Fisk<TypeY extends Hest>();
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.textual_outline_modelled.expect
index b7b4f11..d1f5a32 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Fisk> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_class_typedef_cycle.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart
index 5df69f7..e3b3f29 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the use of a raw generic type in the bounds of its own
 // type variables is recognized and reported as a compile-time error.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.hierarchy.expect
deleted file mode 100644
index efc780c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.textual_outline.expect
index bd9ba50..3a179d7 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.textual_outline_modelled.expect
index bd9ba50..3a179d7 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart
index 2703630..542b729 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the error is reported for all type variables that
 // reference the raw generic type they are defined on.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.hierarchy.expect
deleted file mode 100644
index efc780c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.textual_outline.expect
index ff0266b2..5125405 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest, TypeY extends Hest> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.textual_outline_modelled.expect
index ff0266b2..5125405 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest, TypeY extends Hest> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_for_each.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart
index a72f472..42359be 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the error message is not duplicated in case when the
 // raw generic type is used more than once in the bound of its own type
 // variable.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.hierarchy.expect
deleted file mode 100644
index efc780c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.textual_outline.expect
index c2a3766..d029c13 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Map<Hest, Hest>> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.textual_outline_modelled.expect
index c2a3766..d029c13 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Map<Hest, Hest>> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_co_inductive_no_dup.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart
index 91a3b2b..cd3608a 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that same generic type passed as a type argument to itself
 // doesn't cause issues in the mechanism for detection of non-simple bounds.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.hierarchy.expect
deleted file mode 100644
index 988b2c4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.textual_outline.expect
index d637216..c23f912 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX> {}
 
 class Fisk<TypeY extends Hest<Hest<Object>>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.textual_outline_modelled.expect
index e5df9718..6328216 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk<TypeY extends Hest<Hest<Object>>> {}
 
 class Hest<TypeX> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_folded_regress.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart
index e7415fe..bb94997 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that an error is reported on all type variables that have a
 // raw generic type in their bounds in case this generic type has non-simple
 // bounds.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.hierarchy.expect
deleted file mode 100644
index 988b2c4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.textual_outline.expect
index dec8c30..fc6ec7e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest<TypeX>> {}
 
 class Fisk<TypeY extends Hest, TypeZ extends Hest> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.textual_outline_modelled.expect
index e8fe427..06d86f8 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk<TypeY extends Hest, TypeZ extends Hest> {}
 
 class Hest<TypeX extends Hest<TypeX>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_for_each.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart
index 696a47f..fd7f0ae 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the use of a raw generic type with non-simple bounds in
 // a bound of a type variable is detected when that generic type comes from a
 // compiled .dill file.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.hierarchy.expect
deleted file mode 100644
index efc780c..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.textual_outline.expect
index ae4efd5..91c2f07 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 class Hest<X extends LinkedListEntry> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.textual_outline_modelled.expect
index ae4efd5..91c2f07 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 class Hest<X extends LinkedListEntry> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_from_compiled.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart
index 18d2e53..22fb32f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the use of generic function types in the bound of a
 // type variable is detected early and doesn't cause issues to the mechanism for
 // detection of non-simple bounds.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.hierarchy.expect
deleted file mode 100644
index 988b2c4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.textual_outline.expect
index 16b2fd1..778bd3e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest<TypeX>> {}
 
 class Fisk<TypeY extends Function<TypeZ extends Hest<Null>>(TypeZ)> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.textual_outline_modelled.expect
index d4c532a..cadda6a 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk<TypeY extends Function<TypeZ extends Hest<Null>>(TypeZ)> {}
 
 class Hest<TypeX extends Hest<TypeX>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_generic_function_in_bound_regress.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart
index 496b166..9721dda 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that an error is reported on all raw generic types with
 // non-simple bounds used in the bound of the same type variable.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.hierarchy.expect
deleted file mode 100644
index 6c3a2f6..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Naebdyr:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.textual_outline.expect
index 2138431..59d0dd8 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest<TypeX>> {}
 
 class Fisk<TypeY extends Fisk<TypeY>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.textual_outline_modelled.expect
index c60a816..3762b1e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk<TypeY extends Fisk<TypeY>> {}
 
 class Hest<TypeX extends Hest<TypeX>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_many.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart
index e2c8f9c..a802adc 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that a cyclic dependence is not reported twice in case the
 // class declarations from the cycle are in different libraries, but have the
 // same name within their respective libraries.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.hierarchy.expect
deleted file mode 100644
index ae72487..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.textual_outline.expect
index cd141ca..723934f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './non_simple_many_libs_same_name_cycle_lib.dart' as lib;
 
 class Hest<TypeX extends lib.Hest> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.textual_outline_modelled.expect
index cd141ca..723934f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './non_simple_many_libs_same_name_cycle_lib.dart' as lib;
 
 class Hest<TypeX extends lib.Hest> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle_lib.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle_lib.dart
index a716476..c60b253 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle_lib.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_many_libs_same_name_cycle_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that a cyclic dependence is not reported twice in case the
 // class declarations from the cycle are in different libraries, but have the
 // same name within their respective libraries.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart
index dbedd5a..f71e5ca 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the error message is not duplicated in the case when
 // the same raw generic type with non-simple bounds is used in the bound of a
 // type variable.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.hierarchy.expect
deleted file mode 100644
index 988b2c4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.textual_outline.expect
index 9d9cb28..0908971 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest<TypeX>> {}
 
 class Fisk<TypeY extends Map<Hest, Hest>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.textual_outline_modelled.expect
index b11d407..0c6ea3c 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk<TypeY extends Map<Hest, Hest>> {}
 
 class Hest<TypeX extends Hest<TypeX>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_no_dup.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart
index d6b640b..0de3b0e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that in the case of an error on a class related to
 // non-simple bounds, the implied errors on other classes that reference the
 // erroneous one in the bounds of their type variables is not reported.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.hierarchy.expect
deleted file mode 100644
index 6c3a2f6..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Naebdyr:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.textual_outline.expect
index 98cfbeb..dda5df1 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest<TypeX>> {}
 
 class Fisk<TypeY extends Hest> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.textual_outline_modelled.expect
index 568af17..5843d4a 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk<TypeY extends Hest> {}
 
 class Hest<TypeX extends Hest<TypeX>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_suppress_consequence.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart
index 8dc56a0..b789886 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that an attempt to use a raw generic type with non-simple
 // bounds is detected and reported as a compile-time error in case the
 // non-simple bound is due to the use of the type variable from the same
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.hierarchy.expect
deleted file mode 100644
index 988b2c4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Hest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.textual_outline.expect
index 0755cda..1aa72de 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Hest<TypeX extends Hest<TypeX>> {}
 
 class Fisk<TypeY extends Hest> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.textual_outline_modelled.expect
index b1177bb..340ced2 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Fisk<TypeY extends Hest> {}
 
 class Hest<TypeX extends Hest<TypeX>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/non_simple_variables_from_same.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart
index 09a8efa..67fb1d6 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides `dynamic` as the type
 // argument for those positions in type argument lists of interface types that
 // have the bound omitted in the corresponding type parameter, regardless of
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.hierarchy.expect
deleted file mode 100644
index c693c0a..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.baz
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.textual_outline.expect
index 6360eb1..abd73b5 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.textual_outline_modelled.expect
index 4d391e8..8d3fdea 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection';
 
 A a;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/omitted_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart
index 772113a..c29f86e 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // interface types that are themselves used as bounds of type parameters.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.textual_outline.expect
index 7391350..67c7bc5 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 class B<T extends A> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.textual_outline_modelled.expect
index 7391350..67c7bc5 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends num> {}
 
 class B<T extends A> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/raw_in_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart
index 8ecef66..e4578f4 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A<X extends Comparable<X>> {}
 
 class B<Y extends A<dynamic>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.hierarchy.expect
deleted file mode 100644
index 523e0f4..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.textual_outline.expect
index f965240..193369a 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends Comparable<X>> {}
 
 class B<Y extends A<dynamic>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.textual_outline_modelled.expect
index f965240..193369a 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<X extends Comparable<X>> {}
 
 class B<Y extends A<dynamic>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/super_bounded_in_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart
index 05f120a..7b5f653 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound produces correct super-bounded
 // types from raw interface types that refer to F-bounded classes.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.hierarchy.expect
deleted file mode 100644
index 196e56d..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.textual_outline.expect
index 4293253..3155529 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T extends A<T>> {}
 
 A a;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.textual_outline_modelled.expect
index c99abd3..f602854 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 A a;
 
 class A<T extends A<T>> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/super_bounded_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart
index 65f0c61..d8629fd 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // The test checks that instantiate to bound is applied to raw generic
 // supertypes.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.hierarchy.expect
deleted file mode 100644
index a7e1277..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.hierarchy.expect
+++ /dev/null
@@ -1,421 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-X:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Y:
-  superclasses:
-    Object
-      -> X
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.textual_outline.expect
index 7ff14a2..eb243ac 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 class B {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.textual_outline_modelled.expect
index 7ff14a2..eb243ac 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 class B {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/supertypes.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart
index ae8725e..30e8110 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // typedef types that are used in the module outline.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.hierarchy.expect
deleted file mode 100644
index fb8e258..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.textual_outline.expect
index 9d30ea1..a122c88 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T extends num>(T p);
 
 class B {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.textual_outline_modelled.expect
index 652f3ca..58e1b8b 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B {
   A bar() => null;
   foo(A a) => null;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_instantiated_in_outline.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart
index fb2e07e..957d840 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // typedef types that are themselves used as type arguments of literal lists.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.textual_outline.expect
index 62a0a7e..045ad8b 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T extends num>(T p);
 var a = <A>[];
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.textual_outline_modelled.expect
index f07241b..780921f 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 typedef A<T extends num>(T p);
 var a = <A>[];
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart
index 222f8ed..bcdc91c 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound leaves typedef types that have
 // their arguments defined by the programmer intact in cases when those typedef
 // types are used as type arguments of literal lists.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.hierarchy.expect
deleted file mode 100644
index fb8e258..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.textual_outline.expect
index 9b7bab7..551f25c 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T>(T p);
 
 class B<S> {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
index 86ca2d6..15a4e52 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<S> {
   final List<A<S>> foo = <A<S>>[];
   final List<A<num>> bar = <A<num>>[];
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_list_with_generic_argument.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart
index f49c235..b6016b3 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // typedef types that are themselves used as type arguments of literal maps.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.textual_outline.expect
index 8924ab9..43ea88c 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T extends num>(T p);
 var a = <A, A>{};
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.textual_outline_modelled.expect
index b88eb51..cebe024 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 typedef A<T extends num>(T p);
 var a = <A, A>{};
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_literal_map.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart
index cc7372b..691e4ad 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides `dynamic` as the type
 // argument for those positions in type argument lists of typedef types that
 // have the bound omitted in the corresponding type parameter.
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.hierarchy.expect
deleted file mode 100644
index 3805794..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.textual_outline.expect
index 5eb24cf..3913f88 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T>(T p);
 A a;
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.textual_outline_modelled.expect
index 1af4af2..154d206 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 A a;
 
 class C {
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_omitted_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart
index 9b32686..141ef41 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound provides type arguments to raw
 // typedef types that are themselves used as bounds of type parameters.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.hierarchy.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.hierarchy.expect
deleted file mode 100644
index 9bc4745..0000000
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.textual_outline.expect
index f90dddc..9653282 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T extends num>(T p);
 
 class B<T extends A> {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.textual_outline_modelled.expect
index fb74707..304fdf3 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<T extends A> {}
 
 main() {}
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_raw_in_bound.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart
index e446ea4..b195ba2 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that instantiate to bound produces correct super-bounded
 // types from raw typedef types that refer to F-bounded typedefs.
 
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.textual_outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.textual_outline.expect
index 4e39887..7ca164d 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef A<T>(T p);
 typedef B<S extends A<S>>(S p);
 B b;
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.textual_outline_modelled.expect
index becf3c9..4c6a47a 100644
--- a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 B b;
 main() {}
 typedef A<T>(T p);
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.strong.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.strong.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.outline.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.outline.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.strong.transformed.expect b/pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/instantiate_to_bound/typedef_super_bounded_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.outline.expect b/pkg/front_end/testcases/late_lowering/compound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/compound.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/compound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.outline.expect b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.outline.expect
deleted file mode 100644
index 3e97c77..0000000
--- a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.outline.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/late_lowering/covariant_late_field.dart:19:31: Error: The parameter 'value' of the method 'C.invariantField' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'A.invariantField'.
-// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
-//   void set invariantField(int value) {} // error
-//                               ^
-// pkg/front_end/testcases/late_lowering/covariant_late_field.dart:6:12: Context: This is the overridden method ('invariantField').
-//   late num invariantField;
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::num? _#A#invariantField;
-  field core::num? _#A#covariantField;
-  synthetic constructor •() → self::A
-    ;
-  get invariantField() → core::num;
-  set invariantField(core::num #t1) → void;
-  get covariantField() → core::num;
-  set covariantField(covariant core::num #t2) → void;
-}
-abstract class B extends core::Object implements self::A {
-  synthetic constructor •() → self::B
-    ;
-  abstract get invariantField() → core::num;
-  abstract set invariantField(core::num value) → void;
-  abstract get covariantField() → core::num;
-  abstract set covariantField(covariant core::num value) → void;
-}
-abstract class C extends core::Object implements self::A {
-  synthetic constructor •() → self::C
-    ;
-  abstract get invariantField() → core::int;
-  set invariantField(core::int value) → void
-    ;
-  abstract get covariantField() → core::int;
-  set covariantField(covariant core::int value) → void
-    ;
-}
-abstract class D extends core::Object implements self::A {
-  synthetic constructor •() → self::D
-    ;
-  abstract get invariantField() → core::int;
-  set invariantField(covariant core::int value) → void
-    ;
-  abstract get covariantField() → core::int;
-  set covariantField(covariant core::int value) → void
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.outline.expect
new file mode 100644
index 0000000..3d8fe4d
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.outline.expect
@@ -0,0 +1,57 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/late_lowering/covariant_late_field.dart:19:31: Error: The parameter 'value' of the method 'C.invariantField' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'A.invariantField'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   void set invariantField(int value) {} // error
+//                               ^
+// pkg/front_end/testcases/late_lowering/covariant_late_field.dart:6:12: Context: This is the overridden method ('invariantField').
+//   late num invariantField;
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::num? _#A#invariantField;
+  field core::bool _#A#invariantField#isSet;
+  field core::num? _#A#covariantField;
+  field core::bool _#A#covariantField#isSet;
+  synthetic constructor •() → self::A
+    ;
+  get invariantField() → core::num;
+  set invariantField(core::num #t1) → void;
+  get covariantField() → core::num;
+  set covariantField(covariant core::num #t2) → void;
+}
+abstract class B extends core::Object implements self::A {
+  synthetic constructor •() → self::B
+    ;
+  abstract get invariantField() → core::num;
+  abstract set invariantField(core::num value) → void;
+  abstract get covariantField() → core::num;
+  abstract set covariantField(covariant core::num value) → void;
+}
+abstract class C extends core::Object implements self::A {
+  synthetic constructor •() → self::C
+    ;
+  abstract get invariantField() → core::int;
+  set invariantField(core::int value) → void
+    ;
+  abstract get covariantField() → core::int;
+  set covariantField(covariant core::int value) → void
+    ;
+}
+abstract class D extends core::Object implements self::A {
+  synthetic constructor •() → self::D
+    ;
+  abstract get invariantField() → core::int;
+  set invariantField(covariant core::int value) → void
+    ;
+  abstract get covariantField() → core::int;
+  set covariantField(covariant core::int value) → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.outline.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/definitely_assigned.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.outline.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.outline.expect
deleted file mode 100644
index 4078e3a..0000000
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.outline.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-static field <T extends core::Object? = dynamic>(T%) → Null fieldDirect;
-static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional;
-static field () → Null fieldCompound;
-static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic
-  ;
-static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic
-  ;
-static method methodCompound() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.outline.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/late_lowering/definitely_assigned.dart.outline.expect
copy to pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/folder.options b/pkg/front_end/testcases/late_lowering/folder.options
index b7deb9b..6a81d09 100644
--- a/pkg/front_end/testcases/late_lowering/folder.options
+++ b/pkg/front_end/testcases/late_lowering/folder.options
@@ -1,3 +1,2 @@
---enable-experiment=non-nullable
 --force-late-lowering
 --overwrite-current-sdk-version=2.9999
\ No newline at end of file
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.outline.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.outline.expect
deleted file mode 100644
index 08e7b3e..0000000
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.outline.expect
+++ /dev/null
@@ -1,94 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:32:12: Error: The type 'int?' of the inherited getter 'B1.property6' is not a subtype of the type 'int' of the setter 'B2.property6'.
-//   void set property6(int i); // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:20:19: Context: This is the declaration of the getter 'B1.property6'.
-//   late final int? property6;
-//                   ^^^^^^^^^
-//
-// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:32:26: Error: The parameter 'i' of the method 'B2.property6' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'B1.property6'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   void set property6(int i); // error
-//                          ^
-// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:20:19: Context: This is the overridden method ('property6').
-//   late final int? property6;
-//                   ^
-//
-// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:52:12: Error: The type 'int?' of the getter 'C2.property6' is not a subtype of the type 'int' of the inherited setter 'C1.property6'.
-//   int? get property6; // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:40:12: Context: This is the declaration of the setter 'C1.property6'.
-//   late int property6;
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:52:12: Error: The return type of the method 'C2.property6' is 'int?', which does not match the return type, 'int', of the overridden method, 'C1.property6'.
-// Change to a subtype of 'int'.
-//   int? get property6; // error
-//            ^
-// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:40:12: Context: This is the overridden method ('property6').
-//   late int property6;
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int? _#A#property4;
-  field core::int? _#A#property5;
-  field core::bool _#A#property5#isSet;
-  field core::int? _#A#property6;
-  constructor •(core::int property4, core::int? property5, core::int property6) → self::A
-    ;
-  get property4() → core::int;
-  set property4(core::int #t1) → void;
-  get property5() → core::int?;
-  set property5(core::int? #t2) → void;
-  get property6() → core::int;
-  set property6(covariant core::int #t3) → void;
-}
-abstract class B1 extends core::Object {
-  field core::int? _#B1#property4;
-  field core::int? _#B1#property5;
-  field core::int? _#B1#property6;
-  field core::bool _#B1#property6#isSet;
-  constructor •(core::int property4, core::int property5, core::int? property6) → self::B1
-    ;
-  get property4() → core::int;
-  set property4(core::int #t4) → void;
-  get property5() → core::int;
-  set property5(core::int #t5) → void;
-  get property6() → core::int?;
-  set property6(core::int? #t6) → void;
-}
-abstract class B2 extends core::Object implements self::B1 {
-  synthetic constructor •() → self::B2
-    ;
-  abstract set property4(core::int i) → void;
-  abstract set property5(core::int? i) → void;
-  abstract set property6(core::int i) → void;
-}
-abstract class C1 extends core::Object {
-  field core::int? _#C1#property4;
-  field core::int? _#C1#property5;
-  field core::int? _#C1#property6;
-  constructor •(core::int property4, core::int property5, core::int property6) → self::C1
-    ;
-  get property4() → core::int;
-  set property4(core::int #t7) → void;
-  get property5() → core::int;
-  set property5(core::int #t8) → void;
-  get property6() → core::int;
-  set property6(core::int #t9) → void;
-}
-abstract class C2 extends core::Object implements self::C1 {
-  synthetic constructor •() → self::C2
-    ;
-  abstract get property4() → core::int;
-  abstract get property5() → core::int;
-  abstract get property6() → core::int?;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.outline.expect
new file mode 100644
index 0000000..672ef21
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.outline.expect
@@ -0,0 +1,101 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:32:12: Error: The type 'int?' of the inherited getter 'B1.property6' is not a subtype of the type 'int' of the setter 'B2.property6'.
+//   void set property6(int i); // error
+//            ^^^^^^^^^
+// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:20:19: Context: This is the declaration of the getter 'B1.property6'.
+//   late final int? property6;
+//                   ^^^^^^^^^
+//
+// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:32:26: Error: The parameter 'i' of the method 'B2.property6' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'B1.property6'.
+// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
+//   void set property6(int i); // error
+//                          ^
+// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:20:19: Context: This is the overridden method ('property6').
+//   late final int? property6;
+//                   ^
+//
+// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:52:12: Error: The type 'int?' of the getter 'C2.property6' is not a subtype of the type 'int' of the inherited setter 'C1.property6'.
+//   int? get property6; // error
+//            ^^^^^^^^^
+// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:40:12: Context: This is the declaration of the setter 'C1.property6'.
+//   late int property6;
+//            ^^^^^^^^^
+//
+// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:52:12: Error: The return type of the method 'C2.property6' is 'int?', which does not match the return type, 'int', of the overridden method, 'C1.property6'.
+// Change to a subtype of 'int'.
+//   int? get property6; // error
+//            ^
+// pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart:40:12: Context: This is the overridden method ('property6').
+//   late int property6;
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  field core::int? _#A#property4;
+  field core::bool _#A#property4#isSet;
+  field core::int? _#A#property5;
+  field core::bool _#A#property5#isSet;
+  field core::int? _#A#property6;
+  field core::bool _#A#property6#isSet;
+  constructor •(core::int property4, core::int? property5, core::int property6) → self::A
+    ;
+  get property4() → core::int;
+  set property4(core::int #t1) → void;
+  get property5() → core::int?;
+  set property5(core::int? #t2) → void;
+  get property6() → core::int;
+  set property6(covariant core::int #t3) → void;
+}
+abstract class B1 extends core::Object {
+  field core::int? _#B1#property4;
+  field core::bool _#B1#property4#isSet;
+  field core::int? _#B1#property5;
+  field core::bool _#B1#property5#isSet;
+  field core::int? _#B1#property6;
+  field core::bool _#B1#property6#isSet;
+  constructor •(core::int property4, core::int property5, core::int? property6) → self::B1
+    ;
+  get property4() → core::int;
+  set property4(core::int #t4) → void;
+  get property5() → core::int;
+  set property5(core::int #t5) → void;
+  get property6() → core::int?;
+  set property6(core::int? #t6) → void;
+}
+abstract class B2 extends core::Object implements self::B1 {
+  synthetic constructor •() → self::B2
+    ;
+  abstract set property4(core::int i) → void;
+  abstract set property5(core::int? i) → void;
+  abstract set property6(core::int i) → void;
+}
+abstract class C1 extends core::Object {
+  field core::int? _#C1#property4;
+  field core::bool _#C1#property4#isSet;
+  field core::int? _#C1#property5;
+  field core::bool _#C1#property5#isSet;
+  field core::int? _#C1#property6;
+  field core::bool _#C1#property6#isSet;
+  constructor •(core::int property4, core::int property5, core::int property6) → self::C1
+    ;
+  get property4() → core::int;
+  set property4(core::int #t7) → void;
+  get property5() → core::int;
+  set property5(core::int #t8) → void;
+  get property6() → core::int;
+  set property6(core::int #t9) → void;
+}
+abstract class C2 extends core::Object implements self::C1 {
+  synthetic constructor •() → self::C2
+    ;
+  abstract get property4() → core::int;
+  abstract get property5() → core::int;
+  abstract get property6() → core::int?;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.outline.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.outline.expect b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.outline.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.outline.expect
deleted file mode 100644
index aa555ba..0000000
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.outline.expect
+++ /dev/null
@@ -1,33 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  static field core::int nonNullableStaticFieldReads;
-  static field core::int? _#nonNullableStaticField;
-  static field core::int nullableStaticFieldReads;
-  static field core::int? _#nullableStaticField;
-  static field core::bool _#nullableStaticField#isSet;
-  field core::int nonNullableInstanceFieldReads;
-  field core::int? _#Class#nonNullableInstanceField;
-  field core::int nullableInstanceFieldReads;
-  field core::int? _#Class#nullableInstanceField;
-  field core::bool _#Class#nullableInstanceField#isSet;
-  synthetic constructor •() → self::Class
-    ;
-  static get nonNullableStaticField() → core::int;
-  static get nullableStaticField() → core::int?;
-  get nonNullableInstanceField() → core::int;
-  get nullableInstanceField() → core::int?;
-}
-static field core::int nonNullableTopLevelFieldReads;
-static field core::int? _#nonNullableTopLevelField;
-static field core::int nullableTopLevelFieldReads;
-static field core::int? _#nullableTopLevelField;
-static field core::bool _#nullableTopLevelField#isSet;
-static get nonNullableTopLevelField() → core::int;
-static get nullableTopLevelField() → core::int?;
-static method main() → void
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.outline.expect
new file mode 100644
index 0000000..e67e08a
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite.dart.weak.outline.expect
@@ -0,0 +1,36 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static field core::int nonNullableStaticFieldReads;
+  static field core::int? _#nonNullableStaticField;
+  static field core::bool _#nonNullableStaticField#isSet;
+  static field core::int nullableStaticFieldReads;
+  static field core::int? _#nullableStaticField;
+  static field core::bool _#nullableStaticField#isSet;
+  field core::int nonNullableInstanceFieldReads;
+  field core::int? _#Class#nonNullableInstanceField;
+  field core::bool _#Class#nonNullableInstanceField#isSet;
+  field core::int nullableInstanceFieldReads;
+  field core::int? _#Class#nullableInstanceField;
+  field core::bool _#Class#nullableInstanceField#isSet;
+  synthetic constructor •() → self::Class
+    ;
+  static get nonNullableStaticField() → core::int;
+  static get nullableStaticField() → core::int?;
+  get nonNullableInstanceField() → core::int;
+  get nullableInstanceField() → core::int?;
+}
+static field core::int nonNullableTopLevelFieldReads;
+static field core::int? _#nonNullableTopLevelField;
+static field core::bool _#nonNullableTopLevelField#isSet;
+static field core::int nullableTopLevelFieldReads;
+static field core::int? _#nullableTopLevelField;
+static field core::bool _#nullableTopLevelField#isSet;
+static get nonNullableTopLevelField() → core::int;
+static get nullableTopLevelField() → core::int?;
+static method main() → void
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.outline.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.outline.expect
deleted file mode 100644
index db00c38..0000000
--- a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///initializer_rewrite_from_opt_out_lib.dart";
-
-class Class extends core::Object {
-  static field core::int nonNullableStaticFieldReads;
-  static field core::int? _#nonNullableStaticField;
-  static field core::int nullableStaticFieldReads;
-  static field core::int? _#nullableStaticField;
-  static field core::bool _#nullableStaticField#isSet;
-  field core::int nonNullableInstanceFieldReads;
-  field core::int? _#Class#nonNullableInstanceField;
-  field core::int nullableInstanceFieldReads;
-  field core::int? _#Class#nullableInstanceField;
-  field core::bool _#Class#nullableInstanceField#isSet;
-  synthetic constructor •() → self::Class
-    ;
-  static get nonNullableStaticField() → core::int;
-  static get nullableStaticField() → core::int?;
-  get nonNullableInstanceField() → core::int;
-  get nullableInstanceField() → core::int?;
-}
-static field core::int nonNullableTopLevelFieldReads;
-static field core::int? _#nonNullableTopLevelField;
-static field core::int nullableTopLevelFieldReads;
-static field core::int? _#nullableTopLevelField;
-static field core::bool _#nullableTopLevelField#isSet;
-static get nonNullableTopLevelField() → core::int;
-static get nullableTopLevelField() → core::int?;
-static method main() → void
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out_lib.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
-// // @dart=2.8
-// ^^^^^^^^^^^^
-//
-import self as self2;
-import "dart:core" as core;
-
-static method computeInitialValue() → core::int*
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..dbe991d
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/initializer_rewrite_from_opt_out.dart.weak.outline.expect
@@ -0,0 +1,45 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///initializer_rewrite_from_opt_out_lib.dart";
+
+class Class extends core::Object {
+  static field core::int nonNullableStaticFieldReads;
+  static field core::int? _#nonNullableStaticField;
+  static field core::bool _#nonNullableStaticField#isSet;
+  static field core::int nullableStaticFieldReads;
+  static field core::int? _#nullableStaticField;
+  static field core::bool _#nullableStaticField#isSet;
+  field core::int nonNullableInstanceFieldReads;
+  field core::int? _#Class#nonNullableInstanceField;
+  field core::bool _#Class#nonNullableInstanceField#isSet;
+  field core::int nullableInstanceFieldReads;
+  field core::int? _#Class#nullableInstanceField;
+  field core::bool _#Class#nullableInstanceField#isSet;
+  synthetic constructor •() → self::Class
+    ;
+  static get nonNullableStaticField() → core::int;
+  static get nullableStaticField() → core::int?;
+  get nonNullableInstanceField() → core::int;
+  get nullableInstanceField() → core::int?;
+}
+static field core::int nonNullableTopLevelFieldReads;
+static field core::int? _#nonNullableTopLevelField;
+static field core::bool _#nonNullableTopLevelField#isSet;
+static field core::int nullableTopLevelFieldReads;
+static field core::int? _#nullableTopLevelField;
+static field core::bool _#nullableTopLevelField#isSet;
+static get nonNullableTopLevelField() → core::int;
+static get nullableTopLevelField() → core::int?;
+static method main() → void
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+static method computeInitialValue() → core::int*
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.outline.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.outline.expect
deleted file mode 100644
index fc7694c..0000000
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "dart:test";
-
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:_internal" as _in;
-import "dart:core" as core;
-
-import "dart:_internal";
-
-@_in::patch
-class Class extends core::Object {
-  field core::int? _#Class#foo /* from org-dartlang-testcase:///patch_lib.dart */;
-  constructor bar() → self2::Class
-    ;
-  constructor baz(core::int foo) → self2::Class
-    ;
-  get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int;
-  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t1) → void;
-}
-
-
-Extra constant evaluation status:
-Evaluated: StaticGet @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const _Patch{})
-Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.outline.expect
new file mode 100644
index 0000000..c992638
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "dart:test";
+
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:_internal" as _in;
+import "dart:core" as core;
+
+import "dart:_internal";
+
+@_in::patch
+class Class extends core::Object {
+  field core::int? _#Class#foo /* from org-dartlang-testcase:///patch_lib.dart */;
+  field core::bool _#Class#foo#isSet /* from org-dartlang-testcase:///patch_lib.dart */;
+  constructor bar() → self2::Class
+    ;
+  constructor baz(core::int foo) → self2::Class
+    ;
+  get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int;
+  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t1) → void;
+}
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ (unknown position in org-dartlang-testcase:///origin_lib.dart) -> InstanceConstant(const _Patch{})
+Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.outline.expect
deleted file mode 100644
index bd10355..0000000
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.outline.expect
+++ /dev/null
@@ -1,35 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field core::int? _#Class#field;
-  constructor constructor1() → self::Class
-    ;
-  constructor constructor2(core::int field) → self::Class
-    ;
-  constructor constructor3(core::int value) → self::Class
-    ;
-  constructor constructor4([core::int field]) → self::Class
-    ;
-  get field() → core::int;
-  set field(core::int #t1) → void;
-}
-class Subclass extends self::Class {
-  constructor constructor1() → self::Subclass
-    ;
-  constructor constructor2(core::int value) → self::Subclass
-    ;
-  constructor constructor3(core::int value) → self::Subclass
-    ;
-  constructor constructor4([core::int value]) → self::Subclass
-    ;
-}
-static method test1() → dynamic
-  ;
-static method test2() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.outline.expect
new file mode 100644
index 0000000..fa7bd6a
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.outline.expect
@@ -0,0 +1,36 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  field core::int? _#Class#field;
+  field core::bool _#Class#field#isSet;
+  constructor constructor1() → self::Class
+    ;
+  constructor constructor2(core::int field) → self::Class
+    ;
+  constructor constructor3(core::int value) → self::Class
+    ;
+  constructor constructor4([core::int field]) → self::Class
+    ;
+  get field() → core::int;
+  set field(core::int #t1) → void;
+}
+class Subclass extends self::Class {
+  constructor constructor1() → self::Subclass
+    ;
+  constructor constructor2(core::int value) → self::Subclass
+    ;
+  constructor constructor3(core::int value) → self::Subclass
+    ;
+  constructor constructor4([core::int value]) → self::Subclass
+    ;
+}
+static method test1() → dynamic
+  ;
+static method test2() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.outline.expect
deleted file mode 100644
index e7882ab..0000000
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field core::int? _#Class#field;
-  constructor constructor1() → self::Class
-    ;
-  constructor constructor2(core::int field) → self::Class
-    ;
-  constructor constructor3(core::int value) → self::Class
-    ;
-  constructor constructor4([core::int field]) → self::Class
-    ;
-  get field() → core::int;
-  set field(core::int #t1) → void;
-}
-class Subclass extends self::Class {
-  constructor constructor1() → self::Subclass
-    ;
-  constructor constructor2(core::int value) → self::Subclass
-    ;
-  constructor constructor3(core::int value) → self::Subclass
-    ;
-  constructor constructor4([core::int value]) → self::Subclass
-    ;
-}
-static method test1() → dynamic
-  ;
-static method test2() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.outline.expect
new file mode 100644
index 0000000..f83a9eb
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.outline.expect
@@ -0,0 +1,38 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  field core::int? _#Class#field;
+  field core::bool _#Class#field#isSet;
+  constructor constructor1() → self::Class
+    ;
+  constructor constructor2(core::int field) → self::Class
+    ;
+  constructor constructor3(core::int value) → self::Class
+    ;
+  constructor constructor4([core::int field]) → self::Class
+    ;
+  get field() → core::int;
+  set field(core::int #t1) → void;
+}
+class Subclass extends self::Class {
+  constructor constructor1() → self::Subclass
+    ;
+  constructor constructor2(core::int value) → self::Subclass
+    ;
+  constructor constructor3(core::int value) → self::Subclass
+    ;
+  constructor constructor4([core::int value]) → self::Subclass
+    ;
+}
+static method test1() → dynamic
+  ;
+static method test2() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.outline.expect
deleted file mode 100644
index e7882ab..0000000
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field core::int? _#Class#field;
-  constructor constructor1() → self::Class
-    ;
-  constructor constructor2(core::int field) → self::Class
-    ;
-  constructor constructor3(core::int value) → self::Class
-    ;
-  constructor constructor4([core::int field]) → self::Class
-    ;
-  get field() → core::int;
-  set field(core::int #t1) → void;
-}
-class Subclass extends self::Class {
-  constructor constructor1() → self::Subclass
-    ;
-  constructor constructor2(core::int value) → self::Subclass
-    ;
-  constructor constructor3(core::int value) → self::Subclass
-    ;
-  constructor constructor4([core::int value]) → self::Subclass
-    ;
-}
-static method test1() → dynamic
-  ;
-static method test2() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.outline.expect
new file mode 100644
index 0000000..f83a9eb
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.outline.expect
@@ -0,0 +1,38 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  field core::int? _#Class#field;
+  field core::bool _#Class#field#isSet;
+  constructor constructor1() → self::Class
+    ;
+  constructor constructor2(core::int field) → self::Class
+    ;
+  constructor constructor3(core::int value) → self::Class
+    ;
+  constructor constructor4([core::int field]) → self::Class
+    ;
+  get field() → core::int;
+  set field(core::int #t1) → void;
+}
+class Subclass extends self::Class {
+  constructor constructor1() → self::Subclass
+    ;
+  constructor constructor2(core::int value) → self::Subclass
+    ;
+  constructor constructor3(core::int value) → self::Subclass
+    ;
+  constructor constructor4([core::int value]) → self::Subclass
+    ;
+}
+static method test1() → dynamic
+  ;
+static method test2() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.outline.expect
deleted file mode 100644
index 2ed3a81..0000000
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.outline.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field core::int? _#Class#field;
-  field core::bool _#Class#field#isSet;
-  constructor constructor1() → self::Class
-    ;
-  constructor constructor2(core::int? field) → self::Class
-    ;
-  constructor constructor3(core::int value) → self::Class
-    ;
-  constructor constructor4([core::int? field]) → self::Class
-    ;
-  get field() → core::int?;
-  set field(core::int? #t1) → void;
-}
-class Subclass extends self::Class {
-  constructor constructor1() → self::Subclass
-    ;
-  constructor constructor2(core::int value) → self::Subclass
-    ;
-  constructor constructor3(core::int value) → self::Subclass
-    ;
-  constructor constructor4([core::int value]) → self::Subclass
-    ;
-}
-static method test1() → dynamic
-  ;
-static method test2() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.outline.expect
copy to pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/issue40093.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue40093.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/issue40093.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/issue40093.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.outline.expect
deleted file mode 100644
index d398301..0000000
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.outline.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::num pi;
-  field core::num? _#C#p1;
-  field core::num? _#C#p2;
-  field core::bool _#C#p2#isSet;
-  synthetic constructor •() → self::C
-    ;
-  get p1() → core::num;
-  set p1(core::num #t1) → void;
-  get p2() → core::num;
-}
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.outline.expect
new file mode 100644
index 0000000..215d735
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.outline.expect
@@ -0,0 +1,20 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  field core::num pi;
+  field core::num? _#C#p1;
+  field core::bool _#C#p1#isSet;
+  field core::num? _#C#p2;
+  field core::bool _#C#p2#isSet;
+  synthetic constructor •() → self::C
+    ;
+  get p1() → core::num;
+  set p1(core::num #t1) → void;
+  get p2() → core::num;
+}
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/issue40373b.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/issue40601.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/issue40601.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.outline.expect
deleted file mode 100644
index 78b4c33..0000000
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.outline.expect
+++ /dev/null
@@ -1,19 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class C extends core::Object {
-  field core::int? _#C#x;
-  synthetic constructor •() → self::C
-    ;
-  get x() → core::int;
-  set x(covariant core::int #t1) → void;
-}
-class D extends self::C {
-  synthetic constructor •() → self::D
-    ;
-  set x(covariant core::num value) → void
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.outline.expect
new file mode 100644
index 0000000..3eeb3af
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.outline.expect
@@ -0,0 +1,20 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class C extends core::Object {
+  field core::int? _#C#x;
+  field core::bool _#C#x#isSet;
+  synthetic constructor •() → self::C
+    ;
+  get x() → core::int;
+  set x(covariant core::int #t1) → void;
+}
+class D extends self::C {
+  synthetic constructor •() → self::D
+    ;
+  set x(covariant core::num value) → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.outline.expect
deleted file mode 100644
index 6c7f4d3..0000000
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "dart:test";
-
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int? _#A#x;
-  synthetic constructor •() → self2::A
-    ;
-  get x() → core::int;
-  set x(core::int #t1) → void;
-}
-class _B extends core::Object implements self2::A {
-  field core::int x;
-  synthetic constructor •() → self2::_B
-    ;
-}
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.outline.expect
new file mode 100644
index 0000000..9fe236dd
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.outline.expect
@@ -0,0 +1,25 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "dart:test";
+
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  field core::int? _#A#x;
+  field core::bool _#A#x#isSet;
+  synthetic constructor •() → self2::A
+    ;
+  get x() → core::int;
+  set x(core::int #t1) → void;
+}
+class _B extends core::Object implements self2::A {
+  field core::int x;
+  synthetic constructor •() → self2::_B
+    ;
+}
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.outline.expect
deleted file mode 100644
index bdf7500..0000000
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.outline.expect
+++ /dev/null
@@ -1,18 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int? _#A#x;
-  synthetic constructor •() → self::A
-    ;
-  get x() → core::int;
-  set x(core::int #t1) → void;
-}
-class _B extends core::Object implements self::A {
-  field core::int x;
-  synthetic constructor •() → self::_B
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.outline.expect
new file mode 100644
index 0000000..976a20f
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.outline.expect
@@ -0,0 +1,19 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  field core::int? _#A#x;
+  field core::bool _#A#x#isSet;
+  synthetic constructor •() → self::A
+    ;
+  get x() → core::int;
+  set x(core::int #t1) → void;
+}
+class _B extends core::Object implements self::A {
+  field core::int x;
+  synthetic constructor •() → self::_B
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.outline.expect
deleted file mode 100644
index b7a7d1d..0000000
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.outline.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "issue41436c_lib.dart" as iss;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41436c_lib.dart";
-
-class C extends iss::B {
-  synthetic constructor •() → self::C
-    ;
-  no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x() → core::int?
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
-  no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x(core::int? value) → void
-    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as iss;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int? _#A#x;
-  synthetic constructor •() → iss::A
-    ;
-  get x() → core::int;
-  set x(core::int #t1) → void;
-}
-class B extends core::Object implements iss::A {
-  field core::int x;
-  synthetic constructor •() → iss::B
-    ;
-}
-
-
-Extra constant evaluation status:
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> SymbolConstant(#_#A#x)
-Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <Type*>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <dynamic>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Evaluated: SymbolLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> SymbolConstant(#_#A#x=)
-Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <Type*>[])
-Evaluated: MapLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
-Extra constant evaluation: evaluated: 19, effectively constant: 7
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect
new file mode 100644
index 0000000..cea7ad0
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect
@@ -0,0 +1,57 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "issue41436c_lib.dart" as iss;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41436c_lib.dart";
+
+class C extends iss::B {
+  synthetic constructor •() → self::C
+    ;
+  no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x#isSet() → core::bool
+    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x#isSet, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool;
+  no-such-method-forwarder get /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x() → core::int?
+    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?;
+  no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x#isSet(core::bool value) → void
+    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x#isSet=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set /* from org-dartlang-testcase:///issue41436c_lib.dart */ _#A#x(core::int? value) → void
+    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#_#A#x=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as iss;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  field core::int? _#A#x;
+  field core::bool _#A#x#isSet;
+  synthetic constructor •() → iss::A
+    ;
+  get x() → core::int;
+  set x(core::int #t1) → void;
+}
+class B extends core::Object implements iss::A {
+  field core::int x;
+  synthetic constructor •() → iss::B
+    ;
+}
+
+
+Extra constant evaluation status:
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> SymbolConstant(#_#A#x#isSet)
+Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> SymbolConstant(#_#A#x)
+Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> SymbolConstant(#_#A#x#isSet=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> SymbolConstant(#_#A#x=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///issue41436c_lib.dart:6:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 38, effectively constant: 14
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/issue41922.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/issue41922.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/issue42407.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/issue42407.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.outline.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/issue44372.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/issue44372.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.outline.expect
deleted file mode 100644
index bcd034d..0000000
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.outline.expect
+++ /dev/null
@@ -1,153 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Annotation extends core::Object /*hasConstConstructor*/  {
-  const constructor •() → self::Annotation
-    : super core::Object::•()
-    ;
-}
-class A extends core::Object {
-  field core::int? _#A#instanceField;
-  field core::int? _#A#finalInstanceField;
-  field core::int? _#A#finalInstanceFieldWithInitializer;
-  field core::num? _#A#covariantInstanceField;
-  static field core::int? _#staticField;
-  static field core::int? _#finalStaticField;
-  static field core::int? _#finalStaticFieldWithInitializer;
-  synthetic constructor •() → self::A
-    ;
-  @self::Annotation::•()
-  get instanceField() → core::int;
-  @self::Annotation::•()
-  set instanceField(core::int #t1) → void;
-  @self::Annotation::•()
-  get finalInstanceField() → core::int;
-  @self::Annotation::•()
-  set finalInstanceField(core::int #t2) → void;
-  @self::Annotation::•()
-  get finalInstanceFieldWithInitializer() → core::int;
-  @self::Annotation::•()
-  get covariantInstanceField() → core::num;
-  @self::Annotation::•()
-  set covariantInstanceField(covariant core::num #t3) → void;
-  @self::Annotation::•()
-  static get staticField() → core::int;
-  @self::Annotation::•()
-  static set staticField(core::int #t4) → void;
-  @self::Annotation::•()
-  static get finalStaticField() → core::int;
-  @self::Annotation::•()
-  static set finalStaticField(core::int #t5) → void;
-  @self::Annotation::•()
-  static get finalStaticFieldWithInitializer() → core::int;
-}
-abstract class B extends core::Object /*isMixinDeclaration*/  {
-  field core::int? _#B#instanceField;
-  field core::int? _#B#finalInstanceField;
-  field core::int? _#B#finalInstanceFieldWithInitializer;
-  field core::num? _#B#covariantInstanceField;
-  static field core::int? _#staticField;
-  static field core::int? _#finalStaticField;
-  static field core::int? _#finalStaticFieldWithInitializer;
-  @self::Annotation::•()
-  get instanceField() → core::int;
-  @self::Annotation::•()
-  set instanceField(core::int #t6) → void;
-  @self::Annotation::•()
-  get finalInstanceField() → core::int;
-  @self::Annotation::•()
-  set finalInstanceField(core::int #t7) → void;
-  @self::Annotation::•()
-  get finalInstanceFieldWithInitializer() → core::int;
-  @self::Annotation::•()
-  get covariantInstanceField() → core::num;
-  @self::Annotation::•()
-  set covariantInstanceField(covariant core::num #t8) → void;
-  @self::Annotation::•()
-  static get staticField() → core::int;
-  @self::Annotation::•()
-  static set staticField(core::int #t9) → void;
-  @self::Annotation::•()
-  static get finalStaticField() → core::int;
-  @self::Annotation::•()
-  static set finalStaticField(core::int #t10) → void;
-  @self::Annotation::•()
-  static get finalStaticFieldWithInitializer() → core::int;
-}
-extension Extension on self::A {
-  static field extensionStaticField = self::_#Extension|extensionStaticField;
-  static get extensionStaticField = get self::Extension|extensionStaticField;
-  static set extensionStaticField = set self::Extension|extensionStaticField;
-  static field finalExtensionStaticField = self::_#Extension|finalExtensionStaticField;
-  static get finalExtensionStaticField = get self::Extension|finalExtensionStaticField;
-  static set finalExtensionStaticField = set self::Extension|finalExtensionStaticField;
-  static field finalExtensionStaticFieldWithInitializer = self::_#Extension|finalExtensionStaticFieldWithInitializer;
-  static get finalExtensionStaticFieldWithInitializer = get self::Extension|finalExtensionStaticFieldWithInitializer;
-}
-static field core::int? _#topLevelField;
-static field core::int? _#finalTopLevelField;
-static field core::int? _#finalTopLevelFieldWithInitializer;
-static field core::int? _#Extension|extensionStaticField;
-static field core::int? _#Extension|finalExtensionStaticField;
-static field core::int? _#Extension|finalExtensionStaticFieldWithInitializer;
-@self::Annotation::•()
-static get topLevelField() → core::int;
-@self::Annotation::•()
-static set topLevelField(core::int #t11) → void;
-@self::Annotation::•()
-static get finalTopLevelField() → core::int;
-@self::Annotation::•()
-static set finalTopLevelField(core::int #t12) → void;
-@self::Annotation::•()
-static get finalTopLevelFieldWithInitializer() → core::int;
-@self::Annotation::•()
-static get Extension|extensionStaticField() → core::int;
-@self::Annotation::•()
-static set Extension|extensionStaticField(core::int #t13) → void;
-@self::Annotation::•()
-static get Extension|finalExtensionStaticField() → core::int;
-@self::Annotation::•()
-static set Extension|finalExtensionStaticField(core::int #t14) → void;
-@self::Annotation::•()
-static get Extension|finalExtensionStaticFieldWithInitializer() → core::int;
-static method main() → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:19:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:19:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:22:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:22:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:25:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:28:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:28:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:31:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:31:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:34:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:34:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:37:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:42:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:42:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:45:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:45:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:48:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:51:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:51:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:54:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:54:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:57:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:57:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:60:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:9:2 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:9:2 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:12:2 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:12:2 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:15:2 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:65:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:65:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:68:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:68:4 -> InstanceConstant(const Annotation{})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:71:4 -> InstanceConstant(const Annotation{})
-Extra constant evaluation: evaluated: 34, effectively constant: 34
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.outline.expect
new file mode 100644
index 0000000..bbd8a08
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.outline.expect
@@ -0,0 +1,176 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Annotation extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → self::Annotation
+    : super core::Object::•()
+    ;
+}
+class A extends core::Object {
+  field core::int? _#A#instanceField;
+  field core::bool _#A#instanceField#isSet;
+  field core::int? _#A#finalInstanceField;
+  field core::bool _#A#finalInstanceField#isSet;
+  field core::int? _#A#finalInstanceFieldWithInitializer;
+  field core::bool _#A#finalInstanceFieldWithInitializer#isSet;
+  field core::num? _#A#covariantInstanceField;
+  field core::bool _#A#covariantInstanceField#isSet;
+  static field core::int? _#staticField;
+  static field core::bool _#staticField#isSet;
+  static field core::int? _#finalStaticField;
+  static field core::bool _#finalStaticField#isSet;
+  static field core::int? _#finalStaticFieldWithInitializer;
+  static field core::bool _#finalStaticFieldWithInitializer#isSet;
+  synthetic constructor •() → self::A
+    ;
+  @self::Annotation::•()
+  get instanceField() → core::int;
+  @self::Annotation::•()
+  set instanceField(core::int #t1) → void;
+  @self::Annotation::•()
+  get finalInstanceField() → core::int;
+  @self::Annotation::•()
+  set finalInstanceField(core::int #t2) → void;
+  @self::Annotation::•()
+  get finalInstanceFieldWithInitializer() → core::int;
+  @self::Annotation::•()
+  get covariantInstanceField() → core::num;
+  @self::Annotation::•()
+  set covariantInstanceField(covariant core::num #t3) → void;
+  @self::Annotation::•()
+  static get staticField() → core::int;
+  @self::Annotation::•()
+  static set staticField(core::int #t4) → void;
+  @self::Annotation::•()
+  static get finalStaticField() → core::int;
+  @self::Annotation::•()
+  static set finalStaticField(core::int #t5) → void;
+  @self::Annotation::•()
+  static get finalStaticFieldWithInitializer() → core::int;
+}
+abstract class B extends core::Object /*isMixinDeclaration*/  {
+  field core::int? _#B#instanceField;
+  field core::bool _#B#instanceField#isSet;
+  field core::int? _#B#finalInstanceField;
+  field core::bool _#B#finalInstanceField#isSet;
+  field core::int? _#B#finalInstanceFieldWithInitializer;
+  field core::bool _#B#finalInstanceFieldWithInitializer#isSet;
+  field core::num? _#B#covariantInstanceField;
+  field core::bool _#B#covariantInstanceField#isSet;
+  static field core::int? _#staticField;
+  static field core::bool _#staticField#isSet;
+  static field core::int? _#finalStaticField;
+  static field core::bool _#finalStaticField#isSet;
+  static field core::int? _#finalStaticFieldWithInitializer;
+  static field core::bool _#finalStaticFieldWithInitializer#isSet;
+  @self::Annotation::•()
+  get instanceField() → core::int;
+  @self::Annotation::•()
+  set instanceField(core::int #t6) → void;
+  @self::Annotation::•()
+  get finalInstanceField() → core::int;
+  @self::Annotation::•()
+  set finalInstanceField(core::int #t7) → void;
+  @self::Annotation::•()
+  get finalInstanceFieldWithInitializer() → core::int;
+  @self::Annotation::•()
+  get covariantInstanceField() → core::num;
+  @self::Annotation::•()
+  set covariantInstanceField(covariant core::num #t8) → void;
+  @self::Annotation::•()
+  static get staticField() → core::int;
+  @self::Annotation::•()
+  static set staticField(core::int #t9) → void;
+  @self::Annotation::•()
+  static get finalStaticField() → core::int;
+  @self::Annotation::•()
+  static set finalStaticField(core::int #t10) → void;
+  @self::Annotation::•()
+  static get finalStaticFieldWithInitializer() → core::int;
+}
+extension Extension on self::A {
+  static field extensionStaticField = self::_#Extension|extensionStaticField;
+  static field extensionStaticField = self::_#Extension|extensionStaticField#isSet;
+  static get extensionStaticField = get self::Extension|extensionStaticField;
+  static set extensionStaticField = set self::Extension|extensionStaticField;
+  static field finalExtensionStaticField = self::_#Extension|finalExtensionStaticField;
+  static field finalExtensionStaticField = self::_#Extension|finalExtensionStaticField#isSet;
+  static get finalExtensionStaticField = get self::Extension|finalExtensionStaticField;
+  static set finalExtensionStaticField = set self::Extension|finalExtensionStaticField;
+  static field finalExtensionStaticFieldWithInitializer = self::_#Extension|finalExtensionStaticFieldWithInitializer;
+  static field finalExtensionStaticFieldWithInitializer = self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet;
+  static get finalExtensionStaticFieldWithInitializer = get self::Extension|finalExtensionStaticFieldWithInitializer;
+}
+static field core::int? _#topLevelField;
+static field core::bool _#topLevelField#isSet;
+static field core::int? _#finalTopLevelField;
+static field core::bool _#finalTopLevelField#isSet;
+static field core::int? _#finalTopLevelFieldWithInitializer;
+static field core::bool _#finalTopLevelFieldWithInitializer#isSet;
+static field core::int? _#Extension|extensionStaticField;
+static field core::bool _#Extension|extensionStaticField#isSet;
+static field core::int? _#Extension|finalExtensionStaticField;
+static field core::bool _#Extension|finalExtensionStaticField#isSet;
+static field core::int? _#Extension|finalExtensionStaticFieldWithInitializer;
+static field core::bool _#Extension|finalExtensionStaticFieldWithInitializer#isSet;
+@self::Annotation::•()
+static get topLevelField() → core::int;
+@self::Annotation::•()
+static set topLevelField(core::int #t11) → void;
+@self::Annotation::•()
+static get finalTopLevelField() → core::int;
+@self::Annotation::•()
+static set finalTopLevelField(core::int #t12) → void;
+@self::Annotation::•()
+static get finalTopLevelFieldWithInitializer() → core::int;
+@self::Annotation::•()
+static get Extension|extensionStaticField() → core::int;
+@self::Annotation::•()
+static set Extension|extensionStaticField(core::int #t13) → void;
+@self::Annotation::•()
+static get Extension|finalExtensionStaticField() → core::int;
+@self::Annotation::•()
+static set Extension|finalExtensionStaticField(core::int #t14) → void;
+@self::Annotation::•()
+static get Extension|finalExtensionStaticFieldWithInitializer() → core::int;
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:19:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:19:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:22:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:22:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:25:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:28:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:28:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:31:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:31:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:34:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:34:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:37:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:42:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:42:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:45:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:45:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:48:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:51:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:51:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:54:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:54:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:57:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:57:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:60:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:9:2 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:9:2 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:12:2 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:12:2 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:15:2 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:65:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:65:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:68:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:68:4 -> InstanceConstant(const Annotation{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///late_annotations.dart:71:4 -> InstanceConstant(const Annotation{})
+Extra constant evaluation: evaluated: 34, effectively constant: 34
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_field_inference.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.outline.expect
deleted file mode 100644
index 3df6d7f..0000000
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.outline.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object? = dynamic> extends core::Object {
-  static field core::int? _#lateStaticField1;
-  static field core::int? _#lateStaticField2;
-  field core::int? _#Class#lateInstanceField;
-  final field self::Class::T% field;
-  generic-covariant-impl field self::Class::T? _#Class#lateGenericField1;
-  field core::bool _#Class#lateGenericField1#isSet;
-  generic-covariant-impl field self::Class::T? _#Class#lateGenericField2;
-  field core::bool _#Class#lateGenericField2#isSet;
-  constructor •(self::Class::T% field) → self::Class<self::Class::T%>
-    ;
-  static get lateStaticField1() → core::int;
-  static set lateStaticField1(core::int #t1) → void;
-  static get lateStaticField2() → core::int;
-  static set lateStaticField2(core::int #t2) → void;
-  static method staticMethod() → dynamic
-    ;
-  get lateInstanceField() → core::int;
-  set lateInstanceField(core::int #t3) → void;
-  get lateGenericField1() → self::Class::T%;
-  set lateGenericField1(generic-covariant-impl self::Class::T% #t4) → void;
-  get lateGenericField2() → self::Class::T%;
-  set lateGenericField2(generic-covariant-impl self::Class::T% #t5) → void;
-  method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic
-    ;
-}
-extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
-  static field lateExtensionField1 = self::_#Extension|lateExtensionField1;
-  static get lateExtensionField1 = get self::Extension|lateExtensionField1;
-  static set lateExtensionField1 = set self::Extension|lateExtensionField1;
-  static field lateExtensionField2 = self::_#Extension|lateExtensionField2;
-  static get lateExtensionField2 = get self::Extension|lateExtensionField2;
-  static set lateExtensionField2 = set self::Extension|lateExtensionField2;
-  static method staticMethod = self::Extension|staticMethod;
-}
-static field core::int? _#lateTopLevelField1;
-static field core::int? _#Extension|lateExtensionField1;
-static field core::int? _#Extension|lateExtensionField2;
-static get lateTopLevelField1() → core::int;
-static set lateTopLevelField1(core::int #t6) → void;
-static get Extension|lateExtensionField1() → core::int;
-static set Extension|lateExtensionField1(core::int #t7) → void;
-static get Extension|lateExtensionField2() → core::int;
-static set Extension|lateExtensionField2(core::int #t8) → void;
-static method Extension|staticMethod() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.outline.expect
new file mode 100644
index 0000000..b3aa1b5
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.outline.expect
@@ -0,0 +1,62 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class<T extends core::Object? = dynamic> extends core::Object {
+  static field core::int? _#lateStaticField1;
+  static field core::bool _#lateStaticField1#isSet;
+  static field core::int? _#lateStaticField2;
+  static field core::bool _#lateStaticField2#isSet;
+  field core::int? _#Class#lateInstanceField;
+  field core::bool _#Class#lateInstanceField#isSet;
+  final field self::Class::T% field;
+  generic-covariant-impl field self::Class::T? _#Class#lateGenericField1;
+  field core::bool _#Class#lateGenericField1#isSet;
+  generic-covariant-impl field self::Class::T? _#Class#lateGenericField2;
+  field core::bool _#Class#lateGenericField2#isSet;
+  constructor •(self::Class::T% field) → self::Class<self::Class::T%>
+    ;
+  static get lateStaticField1() → core::int;
+  static set lateStaticField1(core::int #t1) → void;
+  static get lateStaticField2() → core::int;
+  static set lateStaticField2(core::int #t2) → void;
+  static method staticMethod() → dynamic
+    ;
+  get lateInstanceField() → core::int;
+  set lateInstanceField(core::int #t3) → void;
+  get lateGenericField1() → self::Class::T%;
+  set lateGenericField1(generic-covariant-impl self::Class::T% #t4) → void;
+  get lateGenericField2() → self::Class::T%;
+  set lateGenericField2(generic-covariant-impl self::Class::T% #t5) → void;
+  method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic
+    ;
+}
+extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
+  static field lateExtensionField1 = self::_#Extension|lateExtensionField1;
+  static field lateExtensionField1 = self::_#Extension|lateExtensionField1#isSet;
+  static get lateExtensionField1 = get self::Extension|lateExtensionField1;
+  static set lateExtensionField1 = set self::Extension|lateExtensionField1;
+  static field lateExtensionField2 = self::_#Extension|lateExtensionField2;
+  static field lateExtensionField2 = self::_#Extension|lateExtensionField2#isSet;
+  static get lateExtensionField2 = get self::Extension|lateExtensionField2;
+  static set lateExtensionField2 = set self::Extension|lateExtensionField2;
+  static method staticMethod = self::Extension|staticMethod;
+}
+static field core::int? _#lateTopLevelField1;
+static field core::bool _#lateTopLevelField1#isSet;
+static field core::int? _#Extension|lateExtensionField1;
+static field core::bool _#Extension|lateExtensionField1#isSet;
+static field core::int? _#Extension|lateExtensionField2;
+static field core::bool _#Extension|lateExtensionField2#isSet;
+static get lateTopLevelField1() → core::int;
+static set lateTopLevelField1(core::int #t6) → void;
+static get Extension|lateExtensionField1() → core::int;
+static set Extension|lateExtensionField1(core::int #t7) → void;
+static get Extension|lateExtensionField2() → core::int;
+static set Extension|lateExtensionField2(core::int #t8) → void;
+static method Extension|staticMethod() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.outline.expect
deleted file mode 100644
index 4eeb05b..0000000
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.outline.expect
+++ /dev/null
@@ -1,51 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object? = dynamic> extends core::Object {
-  static field core::int? _#lateStaticField1;
-  static field core::int? _#lateStaticField2;
-  field core::int? _#Class#lateInstanceField;
-  generic-covariant-impl field self::Class::T? _#Class#lateGenericInstanceField;
-  field core::bool _#Class#lateGenericInstanceField#isSet;
-  synthetic constructor •() → self::Class<self::Class::T%>
-    ;
-  static get lateStaticField1() → core::int;
-  static set lateStaticField1(core::int #t1) → void;
-  static get lateStaticField2() → core::int;
-  static set lateStaticField2(core::int #t2) → void;
-  static method staticMethod() → dynamic
-    ;
-  get lateInstanceField() → core::int;
-  set lateInstanceField(core::int #t3) → void;
-  get lateGenericInstanceField() → self::Class::T%;
-  set lateGenericInstanceField(generic-covariant-impl self::Class::T% #t4) → void;
-  method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic
-    ;
-}
-extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
-  static field lateExtensionField1 = self::_#Extension|lateExtensionField1;
-  static get lateExtensionField1 = get self::Extension|lateExtensionField1;
-  static set lateExtensionField1 = set self::Extension|lateExtensionField1;
-  static field lateExtensionField2 = self::_#Extension|lateExtensionField2;
-  static get lateExtensionField2 = get self::Extension|lateExtensionField2;
-  static set lateExtensionField2 = set self::Extension|lateExtensionField2;
-  static method staticMethod = self::Extension|staticMethod;
-}
-static field core::int? _#lateTopLevelField;
-static field core::int? _#Extension|lateExtensionField1;
-static field core::int? _#Extension|lateExtensionField2;
-static get lateTopLevelField() → core::int;
-static set lateTopLevelField(core::int #t5) → void;
-static get Extension|lateExtensionField1() → core::int;
-static set Extension|lateExtensionField1(core::int #t6) → void;
-static get Extension|lateExtensionField2() → core::int;
-static set Extension|lateExtensionField2(core::int #t7) → void;
-static method Extension|staticMethod() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.outline.expect
new file mode 100644
index 0000000..e298e3a
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.outline.expect
@@ -0,0 +1,59 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class<T extends core::Object? = dynamic> extends core::Object {
+  static field core::int? _#lateStaticField1;
+  static field core::bool _#lateStaticField1#isSet;
+  static field core::int? _#lateStaticField2;
+  static field core::bool _#lateStaticField2#isSet;
+  field core::int? _#Class#lateInstanceField;
+  field core::bool _#Class#lateInstanceField#isSet;
+  generic-covariant-impl field self::Class::T? _#Class#lateGenericInstanceField;
+  field core::bool _#Class#lateGenericInstanceField#isSet;
+  synthetic constructor •() → self::Class<self::Class::T%>
+    ;
+  static get lateStaticField1() → core::int;
+  static set lateStaticField1(core::int #t1) → void;
+  static get lateStaticField2() → core::int;
+  static set lateStaticField2(core::int #t2) → void;
+  static method staticMethod() → dynamic
+    ;
+  get lateInstanceField() → core::int;
+  set lateInstanceField(core::int #t3) → void;
+  get lateGenericInstanceField() → self::Class::T%;
+  set lateGenericInstanceField(generic-covariant-impl self::Class::T% #t4) → void;
+  method instanceMethod(generic-covariant-impl self::Class::T% value) → dynamic
+    ;
+}
+extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
+  static field lateExtensionField1 = self::_#Extension|lateExtensionField1;
+  static field lateExtensionField1 = self::_#Extension|lateExtensionField1#isSet;
+  static get lateExtensionField1 = get self::Extension|lateExtensionField1;
+  static set lateExtensionField1 = set self::Extension|lateExtensionField1;
+  static field lateExtensionField2 = self::_#Extension|lateExtensionField2;
+  static field lateExtensionField2 = self::_#Extension|lateExtensionField2#isSet;
+  static get lateExtensionField2 = get self::Extension|lateExtensionField2;
+  static set lateExtensionField2 = set self::Extension|lateExtensionField2;
+  static method staticMethod = self::Extension|staticMethod;
+}
+static field core::int? _#lateTopLevelField;
+static field core::bool _#lateTopLevelField#isSet;
+static field core::int? _#Extension|lateExtensionField1;
+static field core::bool _#Extension|lateExtensionField1#isSet;
+static field core::int? _#Extension|lateExtensionField2;
+static field core::bool _#Extension|lateExtensionField2#isSet;
+static get lateTopLevelField() → core::int;
+static set lateTopLevelField(core::int #t5) → void;
+static get Extension|lateExtensionField1() → core::int;
+static set Extension|lateExtensionField1(core::int #t6) → void;
+static get Extension|lateExtensionField2() → core::int;
+static set Extension|lateExtensionField2(core::int #t7) → void;
+static method Extension|staticMethod() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.outline.expect
deleted file mode 100644
index f9ebcad..0000000
--- a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.outline.expect
+++ /dev/null
@@ -1,80 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class B extends core::Object {
-  final field core::int x;
-  constructor •(core::int x) → self::B
-    ;
-}
-class C extends self::B {
-  field core::int? _#C#y;
-  field core::bool _#C#y#isSet;
-  constructor •(core::int x) → self::C
-    ;
-  get y() → core::int;
-  method method() → dynamic
-    ;
-}
-class Class<T extends core::Object? = dynamic> extends core::Object {
-  static field core::int? lateStaticField1Init;
-  static field core::int? _#lateStaticField1;
-  static field core::int? lateStaticField2Init;
-  static field core::int? _#lateStaticField2;
-  field core::int? lateInstanceFieldInit;
-  field core::int? _#Class#lateInstanceField;
-  generic-covariant-impl field self::Class::T? lateGenericFieldInit;
-  final field self::Class::T% field;
-  field self::Class::T? _#Class#lateGenericField;
-  field core::bool _#Class#lateGenericField#isSet;
-  constructor •(self::Class::T% field) → self::Class<self::Class::T%>
-    ;
-  static method initLateStaticField1(core::int value) → core::int
-    ;
-  static get lateStaticField1() → core::int;
-  static method initLateStaticField2(core::int value) → core::int
-    ;
-  static get lateStaticField2() → core::int;
-  static method staticMethod() → dynamic
-    ;
-  method initLateInstanceField(core::int value) → core::int
-    ;
-  get lateInstanceField() → core::int;
-  method initLateGenericField(generic-covariant-impl self::Class::T% value) → self::Class::T%
-    ;
-  get lateGenericField() → self::Class::T%;
-  method instanceMethod() → dynamic
-    ;
-}
-extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
-  static field lateExtensionField1Init = self::Extension|lateExtensionField1Init;
-  static method initLateExtensionField1 = self::Extension|initLateExtensionField1;
-  static field lateExtensionField1 = self::_#Extension|lateExtensionField1;
-  static get lateExtensionField1 = get self::Extension|lateExtensionField1;
-  static field lateExtensionField2Init = self::Extension|lateExtensionField2Init;
-  static method initLateExtensionField2 = self::Extension|initLateExtensionField2;
-  static field lateExtensionField2 = self::_#Extension|lateExtensionField2;
-  static get lateExtensionField2 = get self::Extension|lateExtensionField2;
-  static method staticMethod = self::Extension|staticMethod;
-}
-static field core::int? lateTopLevelField1Init;
-static field core::int? _#lateTopLevelField1;
-static field core::int? Extension|lateExtensionField1Init;
-static field core::int? _#Extension|lateExtensionField1;
-static field core::int? Extension|lateExtensionField2Init;
-static field core::int? _#Extension|lateExtensionField2;
-static method initLateTopLevelField1(core::int value) → core::int
-  ;
-static get lateTopLevelField1() → core::int;
-static method Extension|initLateExtensionField1(core::int value) → core::int
-  ;
-static get Extension|lateExtensionField1() → core::int;
-static method Extension|initLateExtensionField2(core::int value) → core::int
-  ;
-static get Extension|lateExtensionField2() → core::int;
-static method Extension|staticMethod() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.outline.expect
new file mode 100644
index 0000000..f6ad987
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_with_initializer.dart.weak.outline.expect
@@ -0,0 +1,88 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class B extends core::Object {
+  final field core::int x;
+  constructor •(core::int x) → self::B
+    ;
+}
+class C extends self::B {
+  field core::int? _#C#y;
+  field core::bool _#C#y#isSet;
+  constructor •(core::int x) → self::C
+    ;
+  get y() → core::int;
+  method method() → dynamic
+    ;
+}
+class Class<T extends core::Object? = dynamic> extends core::Object {
+  static field core::int? lateStaticField1Init;
+  static field core::int? _#lateStaticField1;
+  static field core::bool _#lateStaticField1#isSet;
+  static field core::int? lateStaticField2Init;
+  static field core::int? _#lateStaticField2;
+  static field core::bool _#lateStaticField2#isSet;
+  field core::int? lateInstanceFieldInit;
+  field core::int? _#Class#lateInstanceField;
+  field core::bool _#Class#lateInstanceField#isSet;
+  generic-covariant-impl field self::Class::T? lateGenericFieldInit;
+  final field self::Class::T% field;
+  field self::Class::T? _#Class#lateGenericField;
+  field core::bool _#Class#lateGenericField#isSet;
+  constructor •(self::Class::T% field) → self::Class<self::Class::T%>
+    ;
+  static method initLateStaticField1(core::int value) → core::int
+    ;
+  static get lateStaticField1() → core::int;
+  static method initLateStaticField2(core::int value) → core::int
+    ;
+  static get lateStaticField2() → core::int;
+  static method staticMethod() → dynamic
+    ;
+  method initLateInstanceField(core::int value) → core::int
+    ;
+  get lateInstanceField() → core::int;
+  method initLateGenericField(generic-covariant-impl self::Class::T% value) → self::Class::T%
+    ;
+  get lateGenericField() → self::Class::T%;
+  method instanceMethod() → dynamic
+    ;
+}
+extension Extension<T extends core::Object? = dynamic> on self::Class<T%> {
+  static field lateExtensionField1Init = self::Extension|lateExtensionField1Init;
+  static method initLateExtensionField1 = self::Extension|initLateExtensionField1;
+  static field lateExtensionField1 = self::_#Extension|lateExtensionField1;
+  static field lateExtensionField1 = self::_#Extension|lateExtensionField1#isSet;
+  static get lateExtensionField1 = get self::Extension|lateExtensionField1;
+  static field lateExtensionField2Init = self::Extension|lateExtensionField2Init;
+  static method initLateExtensionField2 = self::Extension|initLateExtensionField2;
+  static field lateExtensionField2 = self::_#Extension|lateExtensionField2;
+  static field lateExtensionField2 = self::_#Extension|lateExtensionField2#isSet;
+  static get lateExtensionField2 = get self::Extension|lateExtensionField2;
+  static method staticMethod = self::Extension|staticMethod;
+}
+static field core::int? lateTopLevelField1Init;
+static field core::int? _#lateTopLevelField1;
+static field core::bool _#lateTopLevelField1#isSet;
+static field core::int? Extension|lateExtensionField1Init;
+static field core::int? _#Extension|lateExtensionField1;
+static field core::bool _#Extension|lateExtensionField1#isSet;
+static field core::int? Extension|lateExtensionField2Init;
+static field core::int? _#Extension|lateExtensionField2;
+static field core::bool _#Extension|lateExtensionField2#isSet;
+static method initLateTopLevelField1(core::int value) → core::int
+  ;
+static get lateTopLevelField1() → core::int;
+static method Extension|initLateExtensionField1(core::int value) → core::int
+  ;
+static get Extension|lateExtensionField1() → core::int;
+static method Extension|initLateExtensionField2(core::int value) → core::int
+  ;
+static get Extension|lateExtensionField2() → core::int;
+static method Extension|staticMethod() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.outline.expect
deleted file mode 100644
index dd0572a..0000000
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.outline.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  static field core::int? _#lateStaticField1;
-  static field core::int? _#lateStaticField2;
-  field core::int? _#Class#lateInstanceField;
-  synthetic constructor •() → self::Class
-    ;
-  static get lateStaticField1() → core::int;
-  static set lateStaticField1(core::int #t1) → void;
-  static get lateStaticField2() → core::int;
-  static set lateStaticField2(core::int #t2) → void;
-  static method staticMethod() → dynamic
-    ;
-  get lateInstanceField() → core::int;
-  set lateInstanceField(core::int #t3) → void;
-  method instanceMethod() → dynamic
-    ;
-}
-extension Extension on self::Class {
-  static field lateExtensionField1 = self::_#Extension|lateExtensionField1;
-  static get lateExtensionField1 = get self::Extension|lateExtensionField1;
-  static set lateExtensionField1 = set self::Extension|lateExtensionField1;
-  static field lateExtensionField2 = self::_#Extension|lateExtensionField2;
-  static get lateExtensionField2 = get self::Extension|lateExtensionField2;
-  static set lateExtensionField2 = set self::Extension|lateExtensionField2;
-  static method staticMethod = self::Extension|staticMethod;
-}
-static field core::int? _#lateTopLevelField;
-static field core::int? _#Extension|lateExtensionField1;
-static field core::int? _#Extension|lateExtensionField2;
-static get lateTopLevelField() → core::int;
-static set lateTopLevelField(core::int #t4) → void;
-static get Extension|lateExtensionField1() → core::int;
-static set Extension|lateExtensionField1(core::int #t5) → void;
-static get Extension|lateExtensionField2() → core::int;
-static set Extension|lateExtensionField2(core::int #t6) → void;
-static method Extension|staticMethod() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.outline.expect
new file mode 100644
index 0000000..bb9e392
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.outline.expect
@@ -0,0 +1,55 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static field core::int? _#lateStaticField1;
+  static field core::bool _#lateStaticField1#isSet;
+  static field core::int? _#lateStaticField2;
+  static field core::bool _#lateStaticField2#isSet;
+  field core::int? _#Class#lateInstanceField;
+  field core::bool _#Class#lateInstanceField#isSet;
+  synthetic constructor •() → self::Class
+    ;
+  static get lateStaticField1() → core::int;
+  static set lateStaticField1(core::int #t1) → void;
+  static get lateStaticField2() → core::int;
+  static set lateStaticField2(core::int #t2) → void;
+  static method staticMethod() → dynamic
+    ;
+  get lateInstanceField() → core::int;
+  set lateInstanceField(core::int #t3) → void;
+  method instanceMethod() → dynamic
+    ;
+}
+extension Extension on self::Class {
+  static field lateExtensionField1 = self::_#Extension|lateExtensionField1;
+  static field lateExtensionField1 = self::_#Extension|lateExtensionField1#isSet;
+  static get lateExtensionField1 = get self::Extension|lateExtensionField1;
+  static set lateExtensionField1 = set self::Extension|lateExtensionField1;
+  static field lateExtensionField2 = self::_#Extension|lateExtensionField2;
+  static field lateExtensionField2 = self::_#Extension|lateExtensionField2#isSet;
+  static get lateExtensionField2 = get self::Extension|lateExtensionField2;
+  static set lateExtensionField2 = set self::Extension|lateExtensionField2;
+  static method staticMethod = self::Extension|staticMethod;
+}
+static field core::int? _#lateTopLevelField;
+static field core::bool _#lateTopLevelField#isSet;
+static field core::int? _#Extension|lateExtensionField1;
+static field core::bool _#Extension|lateExtensionField1#isSet;
+static field core::int? _#Extension|lateExtensionField2;
+static field core::bool _#Extension|lateExtensionField2#isSet;
+static get lateTopLevelField() → core::int;
+static set lateTopLevelField(core::int #t4) → void;
+static get Extension|lateExtensionField1() → core::int;
+static set Extension|lateExtensionField1(core::int #t5) → void;
+static get Extension|lateExtensionField2() → core::int;
+static set Extension|lateExtensionField2(core::int #t6) → void;
+static method Extension|staticMethod() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.outline.expect
copy to pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.outline.expect
copy to pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_final_nullable_field_with_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.outline.expect
deleted file mode 100644
index 681b16d..0000000
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.outline.expect
copy to pkg/front_end/testcases/late_lowering/late_final_nullable_local_with_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.outline.expect
deleted file mode 100644
index 02046fb..0000000
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.outline.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.outline.expect
copy to pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_future_or.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.outline.expect
deleted file mode 100644
index 681b16d..0000000
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_final_local_with_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.outline.expect
deleted file mode 100644
index 02046fb..0000000
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.outline.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.outline.expect
deleted file mode 100644
index 9c49adf..0000000
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.outline.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  static field core::int? _#uninitializedNonFinalStaticField;
-  static field core::int? _#uninitializedFinalStaticField;
-  static field core::int? _#initializedNonFinalStaticField;
-  static field core::int? _#initializedFinalStaticField;
-  field core::int? _#Class#uninitializedNonFinalInstanceField;
-  field core::int? _#Class#uninitializedFinalInstanceField;
-  field core::int? _#Class#initializedNonFinalInstanceField;
-  field core::int? _#Class#initializedFinalInstanceField;
-  synthetic constructor •() → self::Class
-    ;
-  static get uninitializedNonFinalStaticField() → core::int;
-  static set uninitializedNonFinalStaticField(core::int #t1) → void;
-  static get uninitializedFinalStaticField() → core::int;
-  static set uninitializedFinalStaticField(core::int #t2) → void;
-  static get initializedNonFinalStaticField() → core::int;
-  static set initializedNonFinalStaticField(core::int #t3) → void;
-  static get initializedFinalStaticField() → core::int;
-  get uninitializedNonFinalInstanceField() → core::int;
-  set uninitializedNonFinalInstanceField(core::int #t4) → void;
-  get uninitializedFinalInstanceField() → core::int;
-  set uninitializedFinalInstanceField(core::int #t5) → void;
-  get initializedNonFinalInstanceField() → core::int;
-  set initializedNonFinalInstanceField(core::int #t6) → void;
-  get initializedFinalInstanceField() → core::int;
-}
-static field core::int? _#uninitializedNonFinalTopLevelField;
-static field core::int? _#uninitializedFinalTopLevelField;
-static field core::int? _#initializedNonFinalTopLevelField;
-static field core::int? _#initializedFinalTopLevelField;
-static method main() → dynamic
-  ;
-static method method() → dynamic
-  ;
-static get uninitializedNonFinalTopLevelField() → core::int;
-static set uninitializedNonFinalTopLevelField(core::int #t7) → void;
-static get uninitializedFinalTopLevelField() → core::int;
-static set uninitializedFinalTopLevelField(core::int #t8) → void;
-static get initializedNonFinalTopLevelField() → core::int;
-static set initializedNonFinalTopLevelField(core::int #t9) → void;
-static get initializedFinalTopLevelField() → core::int;
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.outline.expect
new file mode 100644
index 0000000..45633bf
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.outline.expect
@@ -0,0 +1,57 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static field core::int? _#uninitializedNonFinalStaticField;
+  static field core::bool _#uninitializedNonFinalStaticField#isSet;
+  static field core::int? _#uninitializedFinalStaticField;
+  static field core::bool _#uninitializedFinalStaticField#isSet;
+  static field core::int? _#initializedNonFinalStaticField;
+  static field core::bool _#initializedNonFinalStaticField#isSet;
+  static field core::int? _#initializedFinalStaticField;
+  static field core::bool _#initializedFinalStaticField#isSet;
+  field core::int? _#Class#uninitializedNonFinalInstanceField;
+  field core::bool _#Class#uninitializedNonFinalInstanceField#isSet;
+  field core::int? _#Class#uninitializedFinalInstanceField;
+  field core::bool _#Class#uninitializedFinalInstanceField#isSet;
+  field core::int? _#Class#initializedNonFinalInstanceField;
+  field core::bool _#Class#initializedNonFinalInstanceField#isSet;
+  field core::int? _#Class#initializedFinalInstanceField;
+  field core::bool _#Class#initializedFinalInstanceField#isSet;
+  synthetic constructor •() → self::Class
+    ;
+  static get uninitializedNonFinalStaticField() → core::int;
+  static set uninitializedNonFinalStaticField(core::int #t1) → void;
+  static get uninitializedFinalStaticField() → core::int;
+  static set uninitializedFinalStaticField(core::int #t2) → void;
+  static get initializedNonFinalStaticField() → core::int;
+  static set initializedNonFinalStaticField(core::int #t3) → void;
+  static get initializedFinalStaticField() → core::int;
+  get uninitializedNonFinalInstanceField() → core::int;
+  set uninitializedNonFinalInstanceField(core::int #t4) → void;
+  get uninitializedFinalInstanceField() → core::int;
+  set uninitializedFinalInstanceField(core::int #t5) → void;
+  get initializedNonFinalInstanceField() → core::int;
+  set initializedNonFinalInstanceField(core::int #t6) → void;
+  get initializedFinalInstanceField() → core::int;
+}
+static field core::int? _#uninitializedNonFinalTopLevelField;
+static field core::bool _#uninitializedNonFinalTopLevelField#isSet;
+static field core::int? _#uninitializedFinalTopLevelField;
+static field core::bool _#uninitializedFinalTopLevelField#isSet;
+static field core::int? _#initializedNonFinalTopLevelField;
+static field core::bool _#initializedNonFinalTopLevelField#isSet;
+static field core::int? _#initializedFinalTopLevelField;
+static field core::bool _#initializedFinalTopLevelField#isSet;
+static method main() → dynamic
+  ;
+static method method() → dynamic
+  ;
+static get uninitializedNonFinalTopLevelField() → core::int;
+static set uninitializedNonFinalTopLevelField(core::int #t7) → void;
+static get uninitializedFinalTopLevelField() → core::int;
+static set uninitializedFinalTopLevelField(core::int #t8) → void;
+static get initializedNonFinalTopLevelField() → core::int;
+static set initializedNonFinalTopLevelField(core::int #t9) → void;
+static get initializedFinalTopLevelField() → core::int;
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.outline.expect
deleted file mode 100644
index 02046fb..0000000
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.outline.expect
+++ /dev/null
@@ -1,10 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.outline.expect
copy to pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.outline.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.outline.expect
deleted file mode 100644
index 4278a64..0000000
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.outline.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Interface extends core::Object {
-  field core::int? _#Interface#implementedLateFieldDeclaredGetterSetter;
-  synthetic constructor •() → self::Interface
-    ;
-  get implementedLateFieldDeclaredGetterSetter() → core::int;
-  set implementedLateFieldDeclaredGetterSetter(core::int #t1) → void;
-}
-class Class extends core::Object implements self::Interface {
-  synthetic constructor •() → self::Class
-    ;
-  get implementedLateFieldDeclaredGetterSetter() → core::int
-    ;
-  set implementedLateFieldDeclaredGetterSetter(core::int value) → void
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.outline.expect
new file mode 100644
index 0000000..8d37f5d
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.outline.expect
@@ -0,0 +1,22 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Interface extends core::Object {
+  field core::int? _#Interface#implementedLateFieldDeclaredGetterSetter;
+  field core::bool _#Interface#implementedLateFieldDeclaredGetterSetter#isSet;
+  synthetic constructor •() → self::Interface
+    ;
+  get implementedLateFieldDeclaredGetterSetter() → core::int;
+  set implementedLateFieldDeclaredGetterSetter(core::int #t1) → void;
+}
+class Class extends core::Object implements self::Interface {
+  synthetic constructor •() → self::Class
+    ;
+  get implementedLateFieldDeclaredGetterSetter() → core::int
+    ;
+  set implementedLateFieldDeclaredGetterSetter(core::int value) → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.outline.expect b/pkg/front_end/testcases/late_lowering/later.dart.outline.expect
deleted file mode 100644
index 7b8f4d1..0000000
--- a/pkg/front_end/testcases/late_lowering/later.dart.outline.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/late_lowering/later.dart:14:7: Error: Can't have modifier 'late' here.
-// Try removing 'late'.
-//   foo(late int x) {} // Error.
-//       ^^^^
-//
-// pkg/front_end/testcases/late_lowering/later.dart:17:5: Error: Can't have modifier 'late' here.
-// Try removing 'late'.
-// bar(late int x) {} // Error.
-//     ^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:_internal" as _in;
-
-class A extends core::Object {
-  field core::int a;
-  field core::int? _#A#b;
-  synthetic constructor •() → self::A
-    ;
-  get b() → core::int;
-  set b(core::int #t1) → void;
-  method foo(core::int x) → dynamic
-    ;
-}
-class B extends core::Object /*hasConstConstructor*/  {
-  field core::int? _#B#x = null;
-  const constructor •() → self::B
-    : super core::Object::•()
-    ;
-  get x() → core::int
-    return let final core::int? #t2 = this.{self::B::_#B#x} in #t2.==(null) ?{core::int} let final core::int #t3 = 42 in this.{self::B::_#B#x}.==(null) ?{core::int} this.{self::B::_#B#x} = #t3 : throw new _in::LateError::fieldADI("x") : #t2{core::int};
-}
-class C extends core::Object {
-  field core::int? _#C#x;
-  synthetic constructor •() → self::C
-    ;
-  get x() → core::int;
-  set x(core::int #t4) → void;
-  method initVars() → dynamic
-    ;
-}
-static method bar(core::int x) → dynamic
-  ;
-static method baz() → dynamic
-  ;
-static method hest() → dynamic async 
-  ;
-static method fisk() → dynamic async 
-  ;
-static method main() → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: VariableGet @ org-dartlang-testcase:///later.dart:46:18 -> IntConstant(42)
-Extra constant evaluation: evaluated: 17, effectively constant: 1
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.outline.expect
new file mode 100644
index 0000000..478f783
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.outline.expect
@@ -0,0 +1,66 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/late_lowering/later.dart:14:7: Error: Can't have modifier 'late' here.
+// Try removing 'late'.
+//   foo(late int x) {} // Error.
+//       ^^^^
+//
+// pkg/front_end/testcases/late_lowering/later.dart:17:5: Error: Can't have modifier 'late' here.
+// Try removing 'late'.
+// bar(late int x) {} // Error.
+//     ^^^^
+//
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+class A extends core::Object {
+  field core::int a;
+  field core::int? _#A#b;
+  field core::bool _#A#b#isSet;
+  synthetic constructor •() → self::A
+    ;
+  get b() → core::int;
+  set b(core::int #t1) → void;
+  method foo(core::int x) → dynamic
+    ;
+}
+class B extends core::Object /*hasConstConstructor*/  {
+  field core::int? _#B#x = null;
+  field core::bool _#B#x#isSet = false;
+  const constructor •() → self::B
+    : super core::Object::•()
+    ;
+  get x() → core::int {
+    if(!this.{self::B::_#B#x#isSet}) {
+      final core::int #t2 = 42;
+      if(this.{self::B::_#B#x#isSet})
+        throw new _in::LateError::fieldADI("x");
+      this.{self::B::_#B#x} = #t2;
+      this.{self::B::_#B#x#isSet} = true;
+    }
+    return let final core::int? #t3 = this.{self::B::_#B#x} in #t3{core::int};
+  }
+}
+class C extends core::Object {
+  field core::int? _#C#x;
+  field core::bool _#C#x#isSet;
+  synthetic constructor •() → self::C
+    ;
+  get x() → core::int;
+  set x(core::int #t4) → void;
+  method initVars() → dynamic
+    ;
+}
+static method bar(core::int x) → dynamic
+  ;
+static method baz() → dynamic
+  ;
+static method hest() → dynamic async 
+  ;
+static method fisk() → dynamic async 
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.outline.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.outline.expect
deleted file mode 100644
index 8fc95bd..0000000
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
-// // @dart=2.8
-// ^^^^^^^^^^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///non_nullable_from_opt_out_lib.dart";
-
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:core" as core;
-
-class Class<T extends core::Object = core::Object> extends core::Object {
-  field core::int? _#Class#instanceField;
-  field dynamic _#Class#finalInstanceField;
-  field core::bool _#Class#finalInstanceField#isSet;
-  generic-covariant-impl field self2::Class::T? _#Class#instanceTypeVariable;
-  field self2::Class::T? _#Class#finalInstanceTypeVariable;
-  static field core::int? _#staticField;
-  static field dynamic _#staticFinalField;
-  static field core::bool _#staticFinalField#isSet;
-  synthetic constructor •() → self2::Class<self2::Class::T>
-    ;
-  get instanceField() → core::int;
-  set instanceField(core::int #t1) → void;
-  get finalInstanceField() → dynamic;
-  set finalInstanceField(dynamic #t2) → void;
-  get instanceTypeVariable() → self2::Class::T;
-  set instanceTypeVariable(generic-covariant-impl self2::Class::T #t3) → void;
-  get finalInstanceTypeVariable() → self2::Class::T;
-  set finalInstanceTypeVariable(self2::Class::T #t4) → void;
-  static get staticField() → core::int;
-  static set staticField(core::int #t5) → void;
-  static get staticFinalField() → dynamic;
-  static set staticFinalField(dynamic #t6) → void;
-}
-static field core::int? _#topLevelField;
-static field dynamic _#finalTopLevelField;
-static field core::bool _#finalTopLevelField#isSet;
-static get topLevelField() → core::int;
-static set topLevelField(core::int #t7) → void;
-static get finalTopLevelField() → dynamic;
-static set finalTopLevelField(dynamic #t8) → void;
-static method method<T extends core::Object = core::Object>(core::bool b, core::int i, self2::method::T t) → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → void f) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..c050791
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.outline.expect
@@ -0,0 +1,54 @@
+library;
+import self as self;
+
+import "org-dartlang-testcase:///non_nullable_from_opt_out_lib.dart";
+
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+class Class<T extends core::Object = core::Object> extends core::Object {
+  field core::int? _#Class#instanceField;
+  field core::bool _#Class#instanceField#isSet;
+  field dynamic _#Class#finalInstanceField;
+  field core::bool _#Class#finalInstanceField#isSet;
+  generic-covariant-impl field self2::Class::T? _#Class#instanceTypeVariable;
+  field core::bool _#Class#instanceTypeVariable#isSet;
+  field self2::Class::T? _#Class#finalInstanceTypeVariable;
+  field core::bool _#Class#finalInstanceTypeVariable#isSet;
+  static field core::int? _#staticField;
+  static field core::bool _#staticField#isSet;
+  static field dynamic _#staticFinalField;
+  static field core::bool _#staticFinalField#isSet;
+  synthetic constructor •() → self2::Class<self2::Class::T>
+    ;
+  get instanceField() → core::int;
+  set instanceField(core::int #t1) → void;
+  get finalInstanceField() → dynamic;
+  set finalInstanceField(dynamic #t2) → void;
+  get instanceTypeVariable() → self2::Class::T;
+  set instanceTypeVariable(generic-covariant-impl self2::Class::T #t3) → void;
+  get finalInstanceTypeVariable() → self2::Class::T;
+  set finalInstanceTypeVariable(self2::Class::T #t4) → void;
+  static get staticField() → core::int;
+  static set staticField(core::int #t5) → void;
+  static get staticFinalField() → dynamic;
+  static set staticFinalField(dynamic #t6) → void;
+}
+static field core::int? _#topLevelField;
+static field core::bool _#topLevelField#isSet;
+static field dynamic _#finalTopLevelField;
+static field core::bool _#finalTopLevelField#isSet;
+static get topLevelField() → core::int;
+static set topLevelField(core::int #t7) → void;
+static get finalTopLevelField() → dynamic;
+static set finalTopLevelField(dynamic #t8) → void;
+static method method<T extends core::Object = core::Object>(core::bool b, core::int i, self2::method::T t) → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() → void f) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.outline.expect b/pkg/front_end/testcases/late_lowering/override.dart.outline.expect
deleted file mode 100644
index 93117d1..0000000
--- a/pkg/front_end/testcases/late_lowering/override.dart.outline.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field core::int? _#Class#field1;
-  field core::int? _#Class#field2;
-  field core::int? _#Class#field3;
-  field core::int? _#Class#field4;
-  synthetic constructor •() → self::Class
-    ;
-  get field1() → core::int;
-  set field1(core::int #t1) → void;
-  get field2() → core::int;
-  set field2(core::int #t2) → void;
-  get field3() → core::int;
-  set field3(core::int #t3) → void;
-  get field4() → core::int;
-  set field4(core::int #t4) → void;
-}
-class SubClass extends self::Class {
-  field core::int? _#SubClass#field1;
-  field core::int? _#SubClass#field2;
-  field core::int? _#SubClass#field3;
-  field core::int? _#SubClass#field4;
-  synthetic constructor •() → self::SubClass
-    ;
-  get field1() → core::int;
-  set field1(core::int #t5) → void;
-  get field2() → core::int;
-  set field2(core::int #t6) → void;
-  get field3() → core::int;
-  set field3(core::int #t7) → void;
-  get field4() → core::int;
-  get directField1() → core::int
-    ;
-  set directField1(core::int value) → void
-    ;
-  get directField2() → core::int
-    ;
-  set directField2(core::int value) → void
-    ;
-  get directField3() → core::int
-    ;
-  get directField4() → core::int
-    ;
-}
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/override.dart.weak.outline.expect
new file mode 100644
index 0000000..91bb0ab
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/override.dart.weak.outline.expect
@@ -0,0 +1,61 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  field core::int? _#Class#field1;
+  field core::bool _#Class#field1#isSet;
+  field core::int? _#Class#field2;
+  field core::bool _#Class#field2#isSet;
+  field core::int? _#Class#field3;
+  field core::bool _#Class#field3#isSet;
+  field core::int? _#Class#field4;
+  field core::bool _#Class#field4#isSet;
+  synthetic constructor •() → self::Class
+    ;
+  get field1() → core::int;
+  set field1(core::int #t1) → void;
+  get field2() → core::int;
+  set field2(core::int #t2) → void;
+  get field3() → core::int;
+  set field3(core::int #t3) → void;
+  get field4() → core::int;
+  set field4(core::int #t4) → void;
+}
+class SubClass extends self::Class {
+  field core::int? _#SubClass#field1;
+  field core::bool _#SubClass#field1#isSet;
+  field core::int? _#SubClass#field2;
+  field core::bool _#SubClass#field2#isSet;
+  field core::int? _#SubClass#field3;
+  field core::bool _#SubClass#field3#isSet;
+  field core::int? _#SubClass#field4;
+  field core::bool _#SubClass#field4#isSet;
+  synthetic constructor •() → self::SubClass
+    ;
+  get field1() → core::int;
+  set field1(core::int #t5) → void;
+  get field2() → core::int;
+  set field2(core::int #t6) → void;
+  get field3() → core::int;
+  set field3(core::int #t7) → void;
+  get field4() → core::int;
+  get directField1() → core::int
+    ;
+  set directField1(core::int value) → void
+    ;
+  get directField2() → core::int
+    ;
+  set directField2(core::int value) → void
+    ;
+  get directField3() → core::int
+    ;
+  get directField4() → core::int
+    ;
+}
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.outline.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.outline.expect
deleted file mode 100644
index 0f13d80..0000000
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.outline.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int? _#A#x;
-  field core::int? _#A#y;
-  field core::bool _#A#y#isSet;
-  synthetic constructor •() → self::A
-    ;
-  get x() → core::int;
-  set x(core::int #t1) → void;
-  get y() → core::int?;
-  set y(core::int? #t2) → void;
-}
-class B extends self::A {
-  synthetic constructor •() → self::B
-    ;
-  get x() → core::int
-    ;
-  get y() → core::int?
-    ;
-}
-class C extends self::A {
-  field core::int? _#C#x;
-  field core::int? _#C#y;
-  field core::bool _#C#y#isSet;
-  synthetic constructor •() → self::C
-    ;
-  get x() → core::int;
-  get y() → core::int?;
-}
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-static method throws(() → dynamic f, core::String message) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..b62fb76
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.outline.expect
@@ -0,0 +1,40 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int? _#A#x;
+  field core::bool _#A#x#isSet;
+  field core::int? _#A#y;
+  field core::bool _#A#y#isSet;
+  synthetic constructor •() → self::A
+    ;
+  get x() → core::int;
+  set x(core::int #t1) → void;
+  get y() → core::int?;
+  set y(core::int? #t2) → void;
+}
+class B extends self::A {
+  synthetic constructor •() → self::B
+    ;
+  get x() → core::int
+    ;
+  get y() → core::int?
+    ;
+}
+class C extends self::A {
+  field core::int? _#C#x;
+  field core::bool _#C#x#isSet;
+  field core::int? _#C#y;
+  field core::bool _#C#y#isSet;
+  synthetic constructor •() → self::C
+    ;
+  get x() → core::int;
+  get y() → core::int?;
+}
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.outline.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering/return_late.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering/return_late.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.outline.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.outline.expect
deleted file mode 100644
index b65cd70..0000000
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.outline.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  static field core::int? _#uninitializedNonFinalStaticField;
-  static field core::int? _#uninitializedFinalStaticField;
-  static field core::int? _#initializedNonFinalStaticField;
-  static field core::int? _#initializedFinalStaticField;
-  late field core::int uninitializedNonFinalInstanceField;
-  field core::int? _#Class#uninitializedFinalInstanceField;
-  field core::int? _#Class#initializedNonFinalInstanceField;
-  field core::int? _#Class#initializedFinalInstanceField;
-  synthetic constructor •() → self::Class
-    ;
-  static get uninitializedNonFinalStaticField() → core::int;
-  static set uninitializedNonFinalStaticField(core::int #t1) → void;
-  static get uninitializedFinalStaticField() → core::int;
-  static set uninitializedFinalStaticField(core::int #t2) → void;
-  static get initializedNonFinalStaticField() → core::int;
-  static set initializedNonFinalStaticField(core::int #t3) → void;
-  static get initializedFinalStaticField() → core::int;
-  get uninitializedFinalInstanceField() → core::int;
-  set uninitializedFinalInstanceField(core::int #t4) → void;
-  get initializedNonFinalInstanceField() → core::int;
-  set initializedNonFinalInstanceField(core::int #t5) → void;
-  get initializedFinalInstanceField() → core::int;
-}
-static field core::int? _#uninitializedNonFinalTopLevelField;
-static field core::int? _#uninitializedFinalTopLevelField;
-static field core::int? _#initializedNonFinalTopLevelField;
-static field core::int? _#initializedFinalTopLevelField;
-static method main() → dynamic
-  ;
-static method method() → dynamic
-  ;
-static get uninitializedNonFinalTopLevelField() → core::int;
-static set uninitializedNonFinalTopLevelField(core::int #t6) → void;
-static get uninitializedFinalTopLevelField() → core::int;
-static set uninitializedFinalTopLevelField(core::int #t7) → void;
-static get initializedNonFinalTopLevelField() → core::int;
-static set initializedNonFinalTopLevelField(core::int #t8) → void;
-static get initializedFinalTopLevelField() → core::int;
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.outline.expect
new file mode 100644
index 0000000..99d4dee
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.outline.expect
@@ -0,0 +1,54 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static field core::int? _#uninitializedNonFinalStaticField;
+  static field core::bool _#uninitializedNonFinalStaticField#isSet;
+  static field core::int? _#uninitializedFinalStaticField;
+  static field core::bool _#uninitializedFinalStaticField#isSet;
+  static field core::int? _#initializedNonFinalStaticField;
+  static field core::bool _#initializedNonFinalStaticField#isSet;
+  static field core::int? _#initializedFinalStaticField;
+  static field core::bool _#initializedFinalStaticField#isSet;
+  late field core::int uninitializedNonFinalInstanceField;
+  field core::int? _#Class#uninitializedFinalInstanceField;
+  field core::bool _#Class#uninitializedFinalInstanceField#isSet;
+  field core::int? _#Class#initializedNonFinalInstanceField;
+  field core::bool _#Class#initializedNonFinalInstanceField#isSet;
+  field core::int? _#Class#initializedFinalInstanceField;
+  field core::bool _#Class#initializedFinalInstanceField#isSet;
+  synthetic constructor •() → self::Class
+    ;
+  static get uninitializedNonFinalStaticField() → core::int;
+  static set uninitializedNonFinalStaticField(core::int #t1) → void;
+  static get uninitializedFinalStaticField() → core::int;
+  static set uninitializedFinalStaticField(core::int #t2) → void;
+  static get initializedNonFinalStaticField() → core::int;
+  static set initializedNonFinalStaticField(core::int #t3) → void;
+  static get initializedFinalStaticField() → core::int;
+  get uninitializedFinalInstanceField() → core::int;
+  set uninitializedFinalInstanceField(core::int #t4) → void;
+  get initializedNonFinalInstanceField() → core::int;
+  set initializedNonFinalInstanceField(core::int #t5) → void;
+  get initializedFinalInstanceField() → core::int;
+}
+static field core::int? _#uninitializedNonFinalTopLevelField;
+static field core::bool _#uninitializedNonFinalTopLevelField#isSet;
+static field core::int? _#uninitializedFinalTopLevelField;
+static field core::bool _#uninitializedFinalTopLevelField#isSet;
+static field core::int? _#initializedNonFinalTopLevelField;
+static field core::bool _#initializedNonFinalTopLevelField#isSet;
+static field core::int? _#initializedFinalTopLevelField;
+static field core::bool _#initializedFinalTopLevelField#isSet;
+static method main() → dynamic
+  ;
+static method method() → dynamic
+  ;
+static get uninitializedNonFinalTopLevelField() → core::int;
+static set uninitializedNonFinalTopLevelField(core::int #t6) → void;
+static get uninitializedFinalTopLevelField() → core::int;
+static set uninitializedFinalTopLevelField(core::int #t7) → void;
+static get initializedNonFinalTopLevelField() → core::int;
+static set initializedNonFinalTopLevelField(core::int #t8) → void;
+static get initializedFinalTopLevelField() → core::int;
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.outline.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.outline.expect
deleted file mode 100644
index 615e135..0000000
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.outline.expect
+++ /dev/null
@@ -1,15 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  field core::int? _#A#x;
-  constructor foo(core::int x) → self::A
-    ;
-  constructor bar() → self::A
-    ;
-  get x() → core::int;
-  set x(core::int #t1) → void;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.outline.expect
new file mode 100644
index 0000000..347f1cf
--- /dev/null
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.outline.expect
@@ -0,0 +1,16 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::int? _#A#x;
+  field core::bool _#A#x#isSet;
+  constructor foo(core::int x) → self::A
+    ;
+  constructor bar() → self::A
+    ;
+  get x() → core::int;
+  set x(core::int #t1) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/folder.options b/pkg/front_end/testcases/late_lowering_sentinel/folder.options
index 8d48ec9..c72c695 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/folder.options
+++ b/pkg/front_end/testcases/late_lowering_sentinel/folder.options
@@ -1,3 +1,2 @@
---enable-experiment=non-nullable
 --force-late-lowering
 --force-late-lowering-sentinel
\ No newline at end of file
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.outline.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.outline.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.outline.expect
rename to pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/new_const_insertion/folder.options b/pkg/front_end/testcases/new_const_insertion/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/new_const_insertion/folder.options
+++ b/pkg/front_end/testcases/new_const_insertion/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart b/pkg/front_end/testcases/new_const_insertion/simple.dart
index 9243884..50fbd9f 100644
--- a/pkg/front_end/testcases/new_const_insertion/simple.dart
+++ b/pkg/front_end/testcases/new_const_insertion/simple.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that new/const insertion works for some simple cases.
 
 class A {
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.hierarchy.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.hierarchy.expect
deleted file mode 100644
index 81e33f7..0000000
--- a/pkg/front_end/testcases/new_const_insertion/simple.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.textual_outline.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.textual_outline.expect
index e387ab9..3193687 100644
--- a/pkg/front_end/testcases/new_const_insertion/simple.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/new_const_insertion/simple.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   final int x;
   const A(this.x);
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.textual_outline_modelled.expect
index 2c15976..32d393d 100644
--- a/pkg/front_end/testcases/new_const_insertion/simple.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/new_const_insertion/simple.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A(this.x);
   final int x;
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.strong.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/new_const_insertion/simple.dart.strong.expect
rename to pkg/front_end/testcases/new_const_insertion/simple.dart.weak.expect
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.outline.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/new_const_insertion/simple.dart.outline.expect
rename to pkg/front_end/testcases/new_const_insertion/simple.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/new_const_insertion/simple.dart.strong.transformed.expect b/pkg/front_end/testcases/new_const_insertion/simple.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/new_const_insertion/simple.dart.strong.transformed.expect
rename to pkg/front_end/testcases/new_const_insertion/simple.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/nnbd/abstract_field_errors.dart.outline.expect b/pkg/front_end/testcases/nnbd/abstract_field_errors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/abstract_field_errors.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/abstract_field_errors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/abstract_fields.dart.outline.expect b/pkg/front_end/testcases/nnbd/abstract_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/abstract_fields.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/abstract_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/abstract_fields_spec.dart.outline.expect b/pkg/front_end/testcases/nnbd/abstract_fields_spec.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/abstract_fields_spec.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/abstract_fields_spec.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/ambiguous_main_export.dart.outline.expect b/pkg/front_end/testcases/nnbd/ambiguous_main_export.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/ambiguous_main_export.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/ambiguous_main_export.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/assign_type_variable.dart.outline.expect b/pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/assign_type_variable.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/assign_type_variable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/assignability.dart.outline.expect b/pkg/front_end/testcases/nnbd/assignability.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/assignability.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/assignability.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.outline.expect b/pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/assignability_error_messages.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/assignability_error_messages.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/bounds_checks.dart.outline.expect b/pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/bounds_checks.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/bounds_checks.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/build_issue_2688.dart.outline.expect b/pkg/front_end/testcases/nnbd/build_issue_2688.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/build_issue_2688.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/build_issue_2688.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/call.dart.outline.expect b/pkg/front_end/testcases/nnbd/call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/call.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/combined_required.dart.outline.expect b/pkg/front_end/testcases/nnbd/combined_required.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/combined_required.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/combined_required.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/const_canonical_type.dart.outline.expect b/pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/const_canonical_type.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/const_canonical_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/const_is.dart.outline.expect b/pkg/front_end/testcases/nnbd/const_is.dart.outline.expect
deleted file mode 100644
index 46bacdc..0000000
--- a/pkg/front_end/testcases/nnbd/const_is.dart.outline.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-typedef fType = ({required i: core::int}) → core::int;
-typedef gType = ({i: core::int}) → core::int;
-typedef bigType = ({required i1: core::int, required i10: core::int, required i11: core::int, required i12: core::int, required i13: core::int, required i14: core::int, required i15: core::int, required i16: core::int, required i17: core::int, required i18: core::int, required i19: core::int, required i2: core::int, required i20: core::int, required i21: core::int, required i22: core::int, required i23: core::int, required i24: core::int, required i25: core::int, required i26: core::int, required i27: core::int, required i28: core::int, required i29: core::int, required i3: core::int, required i30: core::int, required i31: core::int, required i32: core::int, required i33: core::int, required i34: core::int, required i35: core::int, required i36: core::int, required i37: core::int, required i38: core::int, required i39: core::int, required i4: core::int, required i40: core::int, required i41: core::int, required i42: core::int, required i43: core::int, required i44: core::int, required i45: core::int, required i46: core::int, required i47: core::int, required i48: core::int, required i49: core::int, required i5: core::int, required i50: core::int, required i51: core::int, required i52: core::int, required i53: core::int, required i54: core::int, required i55: core::int, required i56: core::int, required i57: core::int, required i58: core::int, required i59: core::int, required i6: core::int, required i60: core::int, required i61: core::int, required i62: core::int, required i63: core::int, required i64: core::int, required i65: core::int, required i66: core::int, required i67: core::int, required i68: core::int, required i69: core::int, required i7: core::int, required i70: core::int, required i8: core::int, required i9: core::int}) → core::int;
-typedef func = (core::Object) → self::B;
-typedef t1 = (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
-class A extends core::Object {
-  synthetic constructor •() → self::A
-    ;
-}
-class A1 extends core::Object {
-  synthetic constructor •() → self::A1
-    ;
-}
-class A2 extends core::Object {
-  synthetic constructor •() → self::A2
-    ;
-}
-class B extends core::Object implements self::A, self::A1, self::A2 {
-  synthetic constructor •() → self::B
-    ;
-}
-class C extends core::Object implements self::B {
-  synthetic constructor •() → self::C
-    ;
-}
-class D extends core::Object implements self::C {
-  synthetic constructor •() → self::D
-    ;
-}
-static field core::bool inStrongMode;
-static const field core::bool f_is_fType = self::f is{ForNonNullableByDefault} ({required i: core::int}) → core::int;
-static const field core::bool f_is_gType = self::f is{ForNonNullableByDefault} ({i: core::int}) → core::int;
-static const field core::bool g_is_fType = self::g is{ForNonNullableByDefault} ({required i: core::int}) → core::int;
-static const field core::bool g_is_gType = self::g is{ForNonNullableByDefault} ({i: core::int}) → core::int;
-static const field core::bool f_is_bigType = self::f is{ForNonNullableByDefault} ({required i1: core::int, required i10: core::int, required i11: core::int, required i12: core::int, required i13: core::int, required i14: core::int, required i15: core::int, required i16: core::int, required i17: core::int, required i18: core::int, required i19: core::int, required i2: core::int, required i20: core::int, required i21: core::int, required i22: core::int, required i23: core::int, required i24: core::int, required i25: core::int, required i26: core::int, required i27: core::int, required i28: core::int, required i29: core::int, required i3: core::int, required i30: core::int, required i31: core::int, required i32: core::int, required i33: core::int, required i34: core::int, required i35: core::int, required i36: core::int, required i37: core::int, required i38: core::int, required i39: core::int, required i4: core::int, required i40: core::int, required i41: core::int, required i42: core::int, required i43: core::int, required i44: core::int, required i45: core::int, required i46: core::int, required i47: core::int, required i48: core::int, required i49: core::int, required i5: core::int, required i50: core::int, required i51: core::int, required i52: core::int, required i53: core::int, required i54: core::int, required i55: core::int, required i56: core::int, required i57: core::int, required i58: core::int, required i59: core::int, required i6: core::int, required i60: core::int, required i61: core::int, required i62: core::int, required i63: core::int, required i64: core::int, required i65: core::int, required i66: core::int, required i67: core::int, required i68: core::int, required i69: core::int, required i7: core::int, required i70: core::int, required i8: core::int, required i9: core::int}) → core::int;
-static const field core::bool f1_is_t1 = self::f1 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
-static const field core::bool f2_is_t1 = self::f2 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
-static const field core::bool f3_is_t1 = self::f3 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
-static const field core::bool f4_is_t1 = self::f4 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
-static const field core::bool f5_is_t1 = self::f5 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
-static method f({required core::int i}) → core::int
-  ;
-static method g({core::int i}) → core::int
-  ;
-static method f1(core::int i, self::B b, core::Map<core::int, core::num> m, dynamic x, {required dynamic extraParam, required core::bool obool, required dynamic ox, required self::D ob, required core::List<core::num>? ol}) → self::B
-  ;
-static method f2(core::int i, self::D b, core::Map<core::int, core::int> m, (core::Object) → self::B x, {required (core::Object) → self::B ox, required self::D ob, required core::List<core::int> ol, required core::bool obool}) → self::D
-  ;
-static method f3(core::num i, self::A b, core::Map<core::Object, core::Object> m, dynamic x, {required dynamic ox, required dynamic extraParam, required self::A2 ob, required core::List<dynamic> ol, required core::Object obool}) → self::C
-  ;
-static method f4(core::num i, self::A b, core::Map<core::Object, core::Object> m, dynamic x, {required dynamic ox, required self::A2 ob, required core::List<dynamic> ol, required core::bool obool, required self::A xx, required self::B yy}) → self::C
-  ;
-static method f5(core::int i, self::A b, core::Map<core::Object, core::Object> m, dynamic x, {required dynamic ox, required self::B ob, required core::List<dynamic> ol, required dynamic obool}) → self::C
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:143:22 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:144:22 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:145:22 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:146:22 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:147:24 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:149:21 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:150:21 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:151:21 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:152:21 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:153:21 -> BoolConstant(true)
-Extra constant evaluation: evaluated: 10, effectively constant: 10
diff --git a/pkg/front_end/testcases/nnbd/const_is.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/const_is.dart.weak.outline.expect
new file mode 100644
index 0000000..7fb1ad7
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/const_is.dart.weak.outline.expect
@@ -0,0 +1,76 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+typedef fType = ({required i: core::int}) → core::int;
+typedef gType = ({i: core::int}) → core::int;
+typedef bigType = ({required i1: core::int, required i10: core::int, required i11: core::int, required i12: core::int, required i13: core::int, required i14: core::int, required i15: core::int, required i16: core::int, required i17: core::int, required i18: core::int, required i19: core::int, required i2: core::int, required i20: core::int, required i21: core::int, required i22: core::int, required i23: core::int, required i24: core::int, required i25: core::int, required i26: core::int, required i27: core::int, required i28: core::int, required i29: core::int, required i3: core::int, required i30: core::int, required i31: core::int, required i32: core::int, required i33: core::int, required i34: core::int, required i35: core::int, required i36: core::int, required i37: core::int, required i38: core::int, required i39: core::int, required i4: core::int, required i40: core::int, required i41: core::int, required i42: core::int, required i43: core::int, required i44: core::int, required i45: core::int, required i46: core::int, required i47: core::int, required i48: core::int, required i49: core::int, required i5: core::int, required i50: core::int, required i51: core::int, required i52: core::int, required i53: core::int, required i54: core::int, required i55: core::int, required i56: core::int, required i57: core::int, required i58: core::int, required i59: core::int, required i6: core::int, required i60: core::int, required i61: core::int, required i62: core::int, required i63: core::int, required i64: core::int, required i65: core::int, required i66: core::int, required i67: core::int, required i68: core::int, required i69: core::int, required i7: core::int, required i70: core::int, required i8: core::int, required i9: core::int}) → core::int;
+typedef func = (core::Object) → self::B;
+typedef t1 = (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
+class A extends core::Object {
+  synthetic constructor •() → self::A
+    ;
+}
+class A1 extends core::Object {
+  synthetic constructor •() → self::A1
+    ;
+}
+class A2 extends core::Object {
+  synthetic constructor •() → self::A2
+    ;
+}
+class B extends core::Object implements self::A, self::A1, self::A2 {
+  synthetic constructor •() → self::B
+    ;
+}
+class C extends core::Object implements self::B {
+  synthetic constructor •() → self::C
+    ;
+}
+class D extends core::Object implements self::C {
+  synthetic constructor •() → self::D
+    ;
+}
+static field core::bool inStrongMode;
+static const field core::bool f_is_fType = self::f is{ForNonNullableByDefault} ({required i: core::int}) → core::int;
+static const field core::bool f_is_gType = self::f is{ForNonNullableByDefault} ({i: core::int}) → core::int;
+static const field core::bool g_is_fType = self::g is{ForNonNullableByDefault} ({required i: core::int}) → core::int;
+static const field core::bool g_is_gType = self::g is{ForNonNullableByDefault} ({i: core::int}) → core::int;
+static const field core::bool f_is_bigType = self::f is{ForNonNullableByDefault} ({required i1: core::int, required i10: core::int, required i11: core::int, required i12: core::int, required i13: core::int, required i14: core::int, required i15: core::int, required i16: core::int, required i17: core::int, required i18: core::int, required i19: core::int, required i2: core::int, required i20: core::int, required i21: core::int, required i22: core::int, required i23: core::int, required i24: core::int, required i25: core::int, required i26: core::int, required i27: core::int, required i28: core::int, required i29: core::int, required i3: core::int, required i30: core::int, required i31: core::int, required i32: core::int, required i33: core::int, required i34: core::int, required i35: core::int, required i36: core::int, required i37: core::int, required i38: core::int, required i39: core::int, required i4: core::int, required i40: core::int, required i41: core::int, required i42: core::int, required i43: core::int, required i44: core::int, required i45: core::int, required i46: core::int, required i47: core::int, required i48: core::int, required i49: core::int, required i5: core::int, required i50: core::int, required i51: core::int, required i52: core::int, required i53: core::int, required i54: core::int, required i55: core::int, required i56: core::int, required i57: core::int, required i58: core::int, required i59: core::int, required i6: core::int, required i60: core::int, required i61: core::int, required i62: core::int, required i63: core::int, required i64: core::int, required i65: core::int, required i66: core::int, required i67: core::int, required i68: core::int, required i69: core::int, required i7: core::int, required i70: core::int, required i8: core::int, required i9: core::int}) → core::int;
+static const field core::bool f1_is_t1 = self::f1 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
+static const field core::bool f2_is_t1 = self::f2 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
+static const field core::bool f3_is_t1 = self::f3 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
+static const field core::bool f4_is_t1 = self::f4 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
+static const field core::bool f5_is_t1 = self::f5 is{ForNonNullableByDefault} (core::int, self::B, core::Map<core::int, core::num>, dynamic, {required ob: self::B, required obool: core::bool, required ol: core::List<core::num>, required ox: dynamic}) → self::B;
+static method f({required core::int i}) → core::int
+  ;
+static method g({core::int i}) → core::int
+  ;
+static method f1(core::int i, self::B b, core::Map<core::int, core::num> m, dynamic x, {required dynamic extraParam, required core::bool obool, required dynamic ox, required self::D ob, required core::List<core::num>? ol}) → self::B
+  ;
+static method f2(core::int i, self::D b, core::Map<core::int, core::int> m, (core::Object) → self::B x, {required (core::Object) → self::B ox, required self::D ob, required core::List<core::int> ol, required core::bool obool}) → self::D
+  ;
+static method f3(core::num i, self::A b, core::Map<core::Object, core::Object> m, dynamic x, {required dynamic ox, required dynamic extraParam, required self::A2 ob, required core::List<dynamic> ol, required core::Object obool}) → self::C
+  ;
+static method f4(core::num i, self::A b, core::Map<core::Object, core::Object> m, dynamic x, {required dynamic ox, required self::A2 ob, required core::List<dynamic> ol, required core::bool obool, required self::A xx, required self::B yy}) → self::C
+  ;
+static method f5(core::int i, self::A b, core::Map<core::Object, core::Object> m, dynamic x, {required dynamic ox, required self::B ob, required core::List<dynamic> ol, required dynamic obool}) → self::C
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:143:22 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:144:22 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:145:22 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:146:22 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:147:24 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:149:21 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:150:21 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:151:21 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:152:21 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///const_is.dart:153:21 -> BoolConstant(true)
+Extra constant evaluation: evaluated: 10, effectively constant: 10
diff --git a/pkg/front_end/testcases/nnbd/constant_null_check.dart.outline.expect b/pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/constant_null_check.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/constant_null_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/constant_null_is.dart.outline.expect b/pkg/front_end/testcases/nnbd/constant_null_is.dart.outline.expect
deleted file mode 100644
index b6390e6..0000000
--- a/pkg/front_end/testcases/nnbd/constant_null_is.dart.outline.expect
+++ /dev/null
@@ -1,80 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::bool field;
-  const constructor constructor1(dynamic value) → self::Class<self::Class::T%>
-    : self::Class::field = value is{ForNonNullableByDefault} self::Class::T%, super core::Object::•()
-    ;
-  const constructor constructor2(dynamic value) → self::Class<self::Class::T%>
-    : self::Class::field = value is{ForNonNullableByDefault} self::Class::T?, super core::Object::•()
-    ;
-  const constructor constructor3(dynamic value) → self::Class<self::Class::T%>
-    : self::Class::field = value is{ForNonNullableByDefault} self::Class<self::Class::T%>, super core::Object::•()
-    ;
-  const constructor constructor4(dynamic value) → self::Class<self::Class::T%>
-    : self::Class::field = value is{ForNonNullableByDefault} self::Class<self::Class::T%>?, super core::Object::•()
-    ;
-}
-static final field core::bool isWeakMode;
-static const field core::bool c0 = null is{ForNonNullableByDefault} core::int?;
-static const field core::bool c1 = null is{ForNonNullableByDefault} core::int;
-static const field core::bool c2 = null is{ForNonNullableByDefault} Null;
-static const field core::bool c3 = null is{ForNonNullableByDefault} Never?;
-static const field core::bool c4 = null is{ForNonNullableByDefault} Never;
-static const field core::bool c5 = null is{ForNonNullableByDefault} FutureOr<core::int?>;
-static const field core::bool c6 = null is{ForNonNullableByDefault} FutureOr<core::int>;
-static const field core::bool c7 = null is{ForNonNullableByDefault} FutureOr<core::int>?;
-static const field core::bool c8 = null is{ForNonNullableByDefault} FutureOr<Null>;
-static const field core::bool c9 = null is{ForNonNullableByDefault} FutureOr<Null>?;
-static const field core::bool c10 = null is{ForNonNullableByDefault} FutureOr<Never>;
-static const field core::bool c11 = null is{ForNonNullableByDefault} FutureOr<Never?>;
-static const field core::bool c12 = null is{ForNonNullableByDefault} FutureOr<Never>?;
-static const field self::Class<core::int> e1 = const self::Class::constructor1<core::int>(null);
-static const field self::Class<core::List<core::int>> e2 = const self::Class::constructor1<core::List<core::int>>(const <Null>[null]);
-static const field self::Class<Null> e3 = const self::Class::constructor1<Null>(null);
-static const field self::Class<core::int> e4 = const self::Class::constructor2<core::int>(null);
-static const field self::Class<core::int?> e5 = const self::Class::constructor2<core::int?>(null);
-static const field self::Class<Null> e6 = const self::Class::constructor2<Null>(null);
-static const field self::Class<core::int> e7 = const self::Class::constructor3<core::int>(null);
-static const field self::Class<core::int?> e8 = const self::Class::constructor3<core::int?>(null);
-static const field self::Class<Null> e9 = const self::Class::constructor3<Null>(null);
-static const field self::Class<core::int> e10 = const self::Class::constructor4<core::int>(null);
-static const field self::Class<core::int?> e11 = const self::Class::constructor4<core::int?>(null);
-static const field self::Class<Null> e12 = const self::Class::constructor4<Null>(null);
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual, core::String message) → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:9:17 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:10:17 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:11:17 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:12:17 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:13:17 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:14:17 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:15:17 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:16:17 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:17:17 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:18:17 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:19:18 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:20:18 -> BoolConstant(true)
-Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:21:18 -> BoolConstant(true)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:22:18 -> InstanceConstant(const Class<int>{Class.field: false})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:23:18 -> InstanceConstant(const Class<List<int>>{Class.field: false})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:24:18 -> InstanceConstant(const Class<Null>{Class.field: true})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:25:18 -> InstanceConstant(const Class<int>{Class.field: true})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:26:18 -> InstanceConstant(const Class<int?>{Class.field: true})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:27:18 -> InstanceConstant(const Class<Null>{Class.field: true})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:28:18 -> InstanceConstant(const Class<int>{Class.field: false})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:29:18 -> InstanceConstant(const Class<int?>{Class.field: false})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:30:18 -> InstanceConstant(const Class<Null>{Class.field: false})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:31:19 -> InstanceConstant(const Class<int>{Class.field: true})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:32:19 -> InstanceConstant(const Class<int?>{Class.field: true})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:33:19 -> InstanceConstant(const Class<Null>{Class.field: true})
-Extra constant evaluation: evaluated: 33, effectively constant: 25
diff --git a/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.outline.expect
new file mode 100644
index 0000000..2c9860e
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/constant_null_is.dart.weak.outline.expect
@@ -0,0 +1,80 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "dart:async";
+
+class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool field;
+  const constructor constructor1(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class::T%, super core::Object::•()
+    ;
+  const constructor constructor2(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class::T?, super core::Object::•()
+    ;
+  const constructor constructor3(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class<self::Class::T%>, super core::Object::•()
+    ;
+  const constructor constructor4(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class<self::Class::T%>?, super core::Object::•()
+    ;
+}
+static final field core::bool isWeakMode;
+static const field core::bool c0 = null is{ForNonNullableByDefault} core::int?;
+static const field core::bool c1 = null is{ForNonNullableByDefault} core::int;
+static const field core::bool c2 = null is{ForNonNullableByDefault} Null;
+static const field core::bool c3 = null is{ForNonNullableByDefault} Never?;
+static const field core::bool c4 = null is{ForNonNullableByDefault} Never;
+static const field core::bool c5 = null is{ForNonNullableByDefault} FutureOr<core::int?>;
+static const field core::bool c6 = null is{ForNonNullableByDefault} FutureOr<core::int>;
+static const field core::bool c7 = null is{ForNonNullableByDefault} FutureOr<core::int>?;
+static const field core::bool c8 = null is{ForNonNullableByDefault} FutureOr<Null>;
+static const field core::bool c9 = null is{ForNonNullableByDefault} FutureOr<Null>?;
+static const field core::bool c10 = null is{ForNonNullableByDefault} FutureOr<Never>;
+static const field core::bool c11 = null is{ForNonNullableByDefault} FutureOr<Never?>;
+static const field core::bool c12 = null is{ForNonNullableByDefault} FutureOr<Never>?;
+static const field self::Class<core::int> e1 = const self::Class::constructor1<core::int>(null);
+static const field self::Class<core::List<core::int>> e2 = const self::Class::constructor1<core::List<core::int>>(const <Null>[null]);
+static const field self::Class<Null> e3 = const self::Class::constructor1<Null>(null);
+static const field self::Class<core::int> e4 = const self::Class::constructor2<core::int>(null);
+static const field self::Class<core::int?> e5 = const self::Class::constructor2<core::int?>(null);
+static const field self::Class<Null> e6 = const self::Class::constructor2<Null>(null);
+static const field self::Class<core::int> e7 = const self::Class::constructor3<core::int>(null);
+static const field self::Class<core::int?> e8 = const self::Class::constructor3<core::int?>(null);
+static const field self::Class<Null> e9 = const self::Class::constructor3<Null>(null);
+static const field self::Class<core::int> e10 = const self::Class::constructor4<core::int>(null);
+static const field self::Class<core::int?> e11 = const self::Class::constructor4<core::int?>(null);
+static const field self::Class<Null> e12 = const self::Class::constructor4<Null>(null);
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual, core::String message) → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:9:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:10:17 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:11:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:12:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:13:17 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:14:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:15:17 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:16:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:17:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:18:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:19:18 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:20:18 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:21:18 -> BoolConstant(true)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:22:18 -> InstanceConstant(const Class<int*>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:23:18 -> InstanceConstant(const Class<List<int*>*>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:24:18 -> InstanceConstant(const Class<Null>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:25:18 -> InstanceConstant(const Class<int*>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:26:18 -> InstanceConstant(const Class<int?>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:27:18 -> InstanceConstant(const Class<Null>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:28:18 -> InstanceConstant(const Class<int*>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:29:18 -> InstanceConstant(const Class<int?>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:30:18 -> InstanceConstant(const Class<Null>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:31:19 -> InstanceConstant(const Class<int*>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:32:19 -> InstanceConstant(const Class<int?>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:33:19 -> InstanceConstant(const Class<Null>{Class.field: true})
+Extra constant evaluation: evaluated: 33, effectively constant: 25
diff --git a/pkg/front_end/testcases/nnbd/constants.dart.outline.expect b/pkg/front_end/testcases/nnbd/constants.dart.outline.expect
deleted file mode 100644
index 2ca773c..0000000
--- a/pkg/front_end/testcases/nnbd/constants.dart.outline.expect
+++ /dev/null
@@ -1,100 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "constants_lib.dart" as con;
-
-import "org-dartlang-testcase:///constants_lib.dart" as lib;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::Type objectTypeLiteral = core::Object;
-static const field (core::int) → core::int partialInstantiation = con::id<core::int>;
-static const field con::Class<core::int> instance = const con::Class::•<core::int>(0);
-static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
-static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::List<core::int> listLiteral = const <core::int>[0];
-static const field core::Set<core::int> setLiteral = const <core::int>{0};
-static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
-static const field core::List<core::int> listConcatenation = self::listLiteral;
-static const field core::Set<core::int> setConcatenation = self::setLiteral;
-static const field core::Map<core::int, core::String> mapConcatenation = self::mapLiteral;
-static const field core::bool objectTypeLiteralIdentical = core::identical(self::objectTypeLiteral, con::objectTypeLiteral);
-static const field core::bool partialInstantiationIdentical = core::identical(self::partialInstantiation, con::partialInstantiation);
-static const field core::bool instanceIdentical = core::identical(self::instance, con::instance);
-static const field core::bool functionTypeLiteralIdentical = core::identical(self::functionTypeLiteral, con::functionTypeLiteral);
-static const field core::bool genericFunctionTypeLiteralIdentical = core::identical(self::genericFunctionTypeLiteral, con::genericFunctionTypeLiteral);
-static const field core::bool listLiteralIdentical = core::identical(self::listLiteral, con::listLiteral);
-static const field core::bool setLiteralIdentical = core::identical(self::setLiteral, con::setLiteral);
-static const field core::bool mapLiteralIdentical = core::identical(self::mapLiteral, con::mapLiteral);
-static const field core::bool listConcatenationIdentical = core::identical(self::listConcatenation, con::listConcatenation);
-static const field core::bool setConcatenationIdentical = core::identical(self::setConcatenation, con::setConcatenation);
-static const field core::bool mapConcatenationIdentical = core::identical(self::mapConcatenation, con::mapConcatenation);
-static method main() → dynamic
-  ;
-static method test(dynamic expected, dynamic actual) → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as con;
-import "dart:core" as core;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field con::Class::T% field;
-  const constructor •(con::Class::T% field) → con::Class<con::Class::T%>
-    : con::Class::field = field, super core::Object::•()
-    ;
-}
-static const field core::Type objectTypeLiteral = core::Object;
-static const field (core::Object?, core::Object?) → core::bool c2 = core::identical;
-static const field (core::int) → core::int partialInstantiation = con::id<core::int>;
-static const field con::Class<core::int> instance = const con::Class::•<core::int>(0);
-static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
-static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::List<core::int> listLiteral = const <core::int>[0];
-static const field core::Set<core::int> setLiteral = const <core::int>{0};
-static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
-static const field core::List<core::int> listConcatenation = con::listLiteral;
-static const field core::Set<core::int> setConcatenation = con::setLiteral;
-static const field core::Map<core::int, core::String> mapConcatenation = con::mapLiteral;
-static method id<T extends core::Object? = dynamic>(con::id::T% t) → con::id::T%
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: TypeLiteral @ org-dartlang-testcase:///constants.dart:10:27 -> TypeLiteralConstant(Object)
-Evaluated: Instantiation @ org-dartlang-testcase:///constants.dart:11:52 -> PartialInstantiationConstant(id<int>)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constants.dart:12:24 -> InstanceConstant(const Class<int>{Class.field: 0})
-Evaluated: TypeLiteral @ org-dartlang-testcase:///constants.dart:13:29 -> TypeLiteralConstant(dynamic Function(dynamic))
-Evaluated: TypeLiteral @ org-dartlang-testcase:///constants.dart:14:36 -> TypeLiteralConstant(T% Function<T>(T%))
-Evaluated: ListLiteral @ org-dartlang-testcase:///constants.dart:15:26 -> ListConstant(const <int>[0])
-Evaluated: SetLiteral @ org-dartlang-testcase:///constants.dart:16:25 -> InstanceConstant(const _UnmodifiableSet<int>{_UnmodifiableSet._map: const _ImmutableMap<int, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
-Evaluated: MapLiteral @ org-dartlang-testcase:///constants.dart:17:33 -> InstanceConstant(const _ImmutableMap<int, String>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
-Evaluated: ListConcatenation @ org-dartlang-testcase:///constants.dart:18:32 -> ListConstant(const <int>[0])
-Evaluated: SetConcatenation @ org-dartlang-testcase:///constants.dart:19:31 -> InstanceConstant(const _UnmodifiableSet<int>{_UnmodifiableSet._map: const _ImmutableMap<int, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
-Evaluated: MapConcatenation @ org-dartlang-testcase:///constants.dart:20:7 -> InstanceConstant(const _ImmutableMap<int, String>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:23:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:25:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:26:27 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:28:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:30:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:31:30 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:32:29 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:33:29 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:35:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:37:5 -> BoolConstant(true)
-Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:39:5 -> BoolConstant(true)
-Evaluated: TypeLiteral @ org-dartlang-testcase:///constants_lib.dart:16:27 -> TypeLiteralConstant(Object)
-Evaluated: StaticGet @ org-dartlang-testcase:///constants_lib.dart:17:12 -> TearOffConstant(identical)
-Evaluated: Instantiation @ org-dartlang-testcase:///constants_lib.dart:18:48 -> PartialInstantiationConstant(id<int>)
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constants_lib.dart:19:24 -> InstanceConstant(const Class<int>{Class.field: 0})
-Evaluated: TypeLiteral @ org-dartlang-testcase:///constants_lib.dart:20:29 -> TypeLiteralConstant(dynamic Function(dynamic))
-Evaluated: TypeLiteral @ org-dartlang-testcase:///constants_lib.dart:21:36 -> TypeLiteralConstant(T% Function<T>(T%))
-Evaluated: ListLiteral @ org-dartlang-testcase:///constants_lib.dart:22:26 -> ListConstant(const <int>[0])
-Evaluated: SetLiteral @ org-dartlang-testcase:///constants_lib.dart:23:25 -> InstanceConstant(const _UnmodifiableSet<int>{_UnmodifiableSet._map: const _ImmutableMap<int, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
-Evaluated: MapLiteral @ org-dartlang-testcase:///constants_lib.dart:24:33 -> InstanceConstant(const _ImmutableMap<int, String>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
-Evaluated: ListConcatenation @ org-dartlang-testcase:///constants_lib.dart:25:32 -> ListConstant(const <int>[0])
-Evaluated: SetConcatenation @ org-dartlang-testcase:///constants_lib.dart:26:31 -> InstanceConstant(const _UnmodifiableSet<int>{_UnmodifiableSet._map: const _ImmutableMap<int, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
-Evaluated: MapConcatenation @ org-dartlang-testcase:///constants_lib.dart:27:7 -> InstanceConstant(const _ImmutableMap<int, String>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
-Extra constant evaluation: evaluated: 35, effectively constant: 34
diff --git a/pkg/front_end/testcases/nnbd/constants.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/constants.dart.weak.outline.expect
new file mode 100644
index 0000000..846a242
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/constants.dart.weak.outline.expect
@@ -0,0 +1,100 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "constants_lib.dart" as con;
+
+import "org-dartlang-testcase:///constants_lib.dart" as lib;
+
+typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
+typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
+static const field core::Type objectTypeLiteral = core::Object;
+static const field (core::int) → core::int partialInstantiation = con::id<core::int>;
+static const field con::Class<core::int> instance = const con::Class::•<core::int>(0);
+static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
+static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
+static const field core::List<core::int> listLiteral = const <core::int>[0];
+static const field core::Set<core::int> setLiteral = const <core::int>{0};
+static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
+static const field core::List<core::int> listConcatenation = self::listLiteral;
+static const field core::Set<core::int> setConcatenation = self::setLiteral;
+static const field core::Map<core::int, core::String> mapConcatenation = self::mapLiteral;
+static const field core::bool objectTypeLiteralIdentical = core::identical(self::objectTypeLiteral, con::objectTypeLiteral);
+static const field core::bool partialInstantiationIdentical = core::identical(self::partialInstantiation, con::partialInstantiation);
+static const field core::bool instanceIdentical = core::identical(self::instance, con::instance);
+static const field core::bool functionTypeLiteralIdentical = core::identical(self::functionTypeLiteral, con::functionTypeLiteral);
+static const field core::bool genericFunctionTypeLiteralIdentical = core::identical(self::genericFunctionTypeLiteral, con::genericFunctionTypeLiteral);
+static const field core::bool listLiteralIdentical = core::identical(self::listLiteral, con::listLiteral);
+static const field core::bool setLiteralIdentical = core::identical(self::setLiteral, con::setLiteral);
+static const field core::bool mapLiteralIdentical = core::identical(self::mapLiteral, con::mapLiteral);
+static const field core::bool listConcatenationIdentical = core::identical(self::listConcatenation, con::listConcatenation);
+static const field core::bool setConcatenationIdentical = core::identical(self::setConcatenation, con::setConcatenation);
+static const field core::bool mapConcatenationIdentical = core::identical(self::mapConcatenation, con::mapConcatenation);
+static method main() → dynamic
+  ;
+static method test(dynamic expected, dynamic actual) → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as con;
+import "dart:core" as core;
+
+typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
+typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
+class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field con::Class::T% field;
+  const constructor •(con::Class::T% field) → con::Class<con::Class::T%>
+    : con::Class::field = field, super core::Object::•()
+    ;
+}
+static const field core::Type objectTypeLiteral = core::Object;
+static const field (core::Object?, core::Object?) → core::bool c2 = core::identical;
+static const field (core::int) → core::int partialInstantiation = con::id<core::int>;
+static const field con::Class<core::int> instance = const con::Class::•<core::int>(0);
+static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
+static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
+static const field core::List<core::int> listLiteral = const <core::int>[0];
+static const field core::Set<core::int> setLiteral = const <core::int>{0};
+static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
+static const field core::List<core::int> listConcatenation = con::listLiteral;
+static const field core::Set<core::int> setConcatenation = con::setLiteral;
+static const field core::Map<core::int, core::String> mapConcatenation = con::mapLiteral;
+static method id<T extends core::Object? = dynamic>(con::id::T% t) → con::id::T%
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: TypeLiteral @ org-dartlang-testcase:///constants.dart:10:27 -> TypeLiteralConstant(Object*)
+Evaluated: Instantiation @ org-dartlang-testcase:///constants.dart:11:52 -> PartialInstantiationConstant(id<int*>)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constants.dart:12:24 -> InstanceConstant(const Class<int*>{Class.field: 0})
+Evaluated: TypeLiteral @ org-dartlang-testcase:///constants.dart:13:29 -> TypeLiteralConstant(dynamic Function(dynamic)*)
+Evaluated: TypeLiteral @ org-dartlang-testcase:///constants.dart:14:36 -> TypeLiteralConstant(T* Function<T>(T*)*)
+Evaluated: ListLiteral @ org-dartlang-testcase:///constants.dart:15:26 -> ListConstant(const <int*>[0])
+Evaluated: SetLiteral @ org-dartlang-testcase:///constants.dart:16:25 -> InstanceConstant(const _UnmodifiableSet<int*>{_UnmodifiableSet._map: const _ImmutableMap<int*, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
+Evaluated: MapLiteral @ org-dartlang-testcase:///constants.dart:17:33 -> InstanceConstant(const _ImmutableMap<int*, String*>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
+Evaluated: ListConcatenation @ org-dartlang-testcase:///constants.dart:18:32 -> ListConstant(const <int*>[0])
+Evaluated: SetConcatenation @ org-dartlang-testcase:///constants.dart:19:31 -> InstanceConstant(const _UnmodifiableSet<int*>{_UnmodifiableSet._map: const _ImmutableMap<int*, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
+Evaluated: MapConcatenation @ org-dartlang-testcase:///constants.dart:20:7 -> InstanceConstant(const _ImmutableMap<int*, String*>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:23:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:25:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:26:27 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:28:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:30:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:31:30 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:32:29 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:33:29 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:35:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:37:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:39:5 -> BoolConstant(true)
+Evaluated: TypeLiteral @ org-dartlang-testcase:///constants_lib.dart:16:27 -> TypeLiteralConstant(Object*)
+Evaluated: StaticGet @ org-dartlang-testcase:///constants_lib.dart:17:12 -> TearOffConstant(identical)
+Evaluated: Instantiation @ org-dartlang-testcase:///constants_lib.dart:18:48 -> PartialInstantiationConstant(id<int*>)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constants_lib.dart:19:24 -> InstanceConstant(const Class<int*>{Class.field: 0})
+Evaluated: TypeLiteral @ org-dartlang-testcase:///constants_lib.dart:20:29 -> TypeLiteralConstant(dynamic Function(dynamic)*)
+Evaluated: TypeLiteral @ org-dartlang-testcase:///constants_lib.dart:21:36 -> TypeLiteralConstant(T* Function<T>(T*)*)
+Evaluated: ListLiteral @ org-dartlang-testcase:///constants_lib.dart:22:26 -> ListConstant(const <int*>[0])
+Evaluated: SetLiteral @ org-dartlang-testcase:///constants_lib.dart:23:25 -> InstanceConstant(const _UnmodifiableSet<int*>{_UnmodifiableSet._map: const _ImmutableMap<int*, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
+Evaluated: MapLiteral @ org-dartlang-testcase:///constants_lib.dart:24:33 -> InstanceConstant(const _ImmutableMap<int*, String*>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
+Evaluated: ListConcatenation @ org-dartlang-testcase:///constants_lib.dart:25:32 -> ListConstant(const <int*>[0])
+Evaluated: SetConcatenation @ org-dartlang-testcase:///constants_lib.dart:26:31 -> InstanceConstant(const _UnmodifiableSet<int*>{_UnmodifiableSet._map: const _ImmutableMap<int*, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
+Evaluated: MapConcatenation @ org-dartlang-testcase:///constants_lib.dart:27:7 -> InstanceConstant(const _ImmutableMap<int*, String*>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
+Extra constant evaluation: evaluated: 35, effectively constant: 34
diff --git a/pkg/front_end/testcases/nnbd/covariant_equals.dart.outline.expect b/pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/covariant_equals.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/covariant_equals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/covariant_late_field.dart.outline.expect b/pkg/front_end/testcases/nnbd/covariant_late_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/covariant_late_field.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/covariant_late_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/covariant_nnbd_top_merge.dart.outline.expect b/pkg/front_end/testcases/nnbd/covariant_nnbd_top_merge.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/covariant_nnbd_top_merge.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/covariant_nnbd_top_merge.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/definite_assignment_and_completion.dart.outline.expect b/pkg/front_end/testcases/nnbd/definite_assignment_and_completion.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/definite_assignment_and_completion.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/definite_assignment_and_completion.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.outline.expect b/pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/definitely_assigned.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/definitely_assigned.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.outline.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.outline.expect
deleted file mode 100644
index 4078e3a..0000000
--- a/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.outline.expect
+++ /dev/null
@@ -1,17 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-import "dart:async";
-
-static field <T extends core::Object? = dynamic>(T%) → Null fieldDirect;
-static field <T extends core::Object? = dynamic>(core::bool, T%) → Null fieldConditional;
-static field () → Null fieldCompound;
-static method methodDirect<T extends core::Object? = dynamic>(self::methodDirect::T% value) → dynamic
-  ;
-static method methodConditional<T extends core::Object? = dynamic>(core::bool b, self::methodConditional::T% value) → dynamic
-  ;
-static method methodCompound() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd/definitely_assigned.dart.outline.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/nnbd/definitely_assigned.dart.outline.expect
copy to pkg/front_end/testcases/nnbd/definitely_unassigned.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.outline.expect b/pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/definitely_unassigned_late_local_variables.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/demote_closure_types.dart.outline.expect b/pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/demote_closure_types.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/demote_closure_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/duplicate_import.dart.outline.expect b/pkg/front_end/testcases/nnbd/duplicate_import.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/duplicate_import.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/duplicate_import.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance.dart.outline.expect b/pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/duplicates_instance.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/duplicates_instance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.outline.expect b/pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/duplicates_instance_extension.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static.dart.outline.expect b/pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/duplicates_static.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/duplicates_static.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.outline.expect b/pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/duplicates_static_extension.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.outline.expect b/pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/duplicates_toplevel.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.outline.expect b/pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/dynamic_object_call.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/dynamic_object_call.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/export_main_declaration.dart.outline.expect b/pkg/front_end/testcases/nnbd/export_main_declaration.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/export_main_declaration.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/export_main_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/extension_bounds.dart.outline.expect b/pkg/front_end/testcases/nnbd/extension_bounds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/extension_bounds.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/extension_bounds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/extension_never.dart.outline.expect b/pkg/front_end/testcases/nnbd/extension_never.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/extension_never.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/extension_never.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.outline.expect b/pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/extension_type_variable_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/external_field_errors.dart.outline.expect b/pkg/front_end/testcases/nnbd/external_field_errors.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/external_field_errors.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/external_field_errors.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/external_fields.dart.outline.expect b/pkg/front_end/testcases/nnbd/external_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/external_fields.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/external_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/external_fields_spec.dart.outline.expect b/pkg/front_end/testcases/nnbd/external_fields_spec.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/external_fields_spec.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/external_fields_spec.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/ffi_sample.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/ffi_sample.dart.strong.transformed.expect
index e7212d8..e039c5f 100644
--- a/pkg/front_end/testcases/nnbd/ffi_sample.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/ffi_sample.dart.strong.transformed.expect
@@ -6,12 +6,10 @@
 import "dart:ffi";
 import "package:ffi/ffi.dart";
 
-@#C3
-@#C9
+@#C6
 class Coordinate extends ffi::Struct {
-  @#C3
-  static final field core::int* #sizeOf = (#C12).{core::List::[]}(ffi::_abi())/*isLegacy*/;
-  @#C3
+  static final field core::int* #sizeOf = (#C9).{core::List::[]}(ffi::_abi())/*isLegacy*/;
+  @#C12
   constructor #fromTypedDataBase(dynamic #pointer) → dynamic
     : super ffi::Struct::_fromPointer(#pointer)
     ;
@@ -42,18 +40,18 @@
 static method main() → dynamic {}
 
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(ffi::Double)
-  #C6 = TypeLiteralConstant(ffi::Pointer<ffi::NativeType>)
-  #C7 = <core::Type>[#C5, #C5, #C6]
-  #C8 = ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(ffi::Double)
+  #C3 = TypeLiteralConstant(ffi::Pointer<ffi::NativeType>)
+  #C4 = <core::Type>[#C2, #C2, #C3]
+  #C5 = ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = core::pragma {name:#C10, options:#C11}
   #C13 = ffi::Double {}
   #C14 = 0
   #C15 = <core::int*>[#C14, #C14, #C14]
diff --git a/pkg/front_end/testcases/nnbd/ffi_sample.dart.outline.expect b/pkg/front_end/testcases/nnbd/ffi_sample.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/ffi_sample.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/ffi_sample.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/ffi_sample.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/ffi_sample.dart.weak.transformed.expect
index e7212d8..e039c5f 100644
--- a/pkg/front_end/testcases/nnbd/ffi_sample.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/ffi_sample.dart.weak.transformed.expect
@@ -6,12 +6,10 @@
 import "dart:ffi";
 import "package:ffi/ffi.dart";
 
-@#C3
-@#C9
+@#C6
 class Coordinate extends ffi::Struct {
-  @#C3
-  static final field core::int* #sizeOf = (#C12).{core::List::[]}(ffi::_abi())/*isLegacy*/;
-  @#C3
+  static final field core::int* #sizeOf = (#C9).{core::List::[]}(ffi::_abi())/*isLegacy*/;
+  @#C12
   constructor #fromTypedDataBase(dynamic #pointer) → dynamic
     : super ffi::Struct::_fromPointer(#pointer)
     ;
@@ -42,18 +40,18 @@
 static method main() → dynamic {}
 
 constants  {
-  #C1 = "vm:entry-point"
-  #C2 = null
-  #C3 = core::pragma {name:#C1, options:#C2}
-  #C4 = "vm:ffi:struct-fields"
-  #C5 = TypeLiteralConstant(ffi::Double)
-  #C6 = TypeLiteralConstant(ffi::Pointer<ffi::NativeType>)
-  #C7 = <core::Type>[#C5, #C5, #C6]
-  #C8 = ffi::_FfiStructLayout {fieldTypes:#C7}
-  #C9 = core::pragma {name:#C4, options:#C8}
-  #C10 = 24
-  #C11 = 20
-  #C12 = <core::int*>[#C10, #C11, #C10]
+  #C1 = "vm:ffi:struct-fields"
+  #C2 = TypeLiteralConstant(ffi::Double)
+  #C3 = TypeLiteralConstant(ffi::Pointer<ffi::NativeType>)
+  #C4 = <core::Type>[#C2, #C2, #C3]
+  #C5 = ffi::_FfiStructLayout {fieldTypes:#C4}
+  #C6 = core::pragma {name:#C1, options:#C5}
+  #C7 = 24
+  #C8 = 20
+  #C9 = <core::int*>[#C7, #C8, #C7]
+  #C10 = "vm:entry-point"
+  #C11 = null
+  #C12 = core::pragma {name:#C10, options:#C11}
   #C13 = ffi::Double {}
   #C14 = 0
   #C15 = <core::int*>[#C14, #C14, #C14]
diff --git a/pkg/front_end/testcases/nnbd/field_setter_conflict.dart.outline.expect b/pkg/front_end/testcases/nnbd/field_setter_conflict.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/field_setter_conflict.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/field_setter_conflict.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/field_vs_setter.dart.outline.expect b/pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/field_vs_setter.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/field_vs_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.outline.expect b/pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/flutter_issue64155.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/flutter_issue64155.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/folder.options b/pkg/front_end/testcases/nnbd/folder.options
index b552a65..e69de29 100644
--- a/pkg/front_end/testcases/nnbd/folder.options
+++ b/pkg/front_end/testcases/nnbd/folder.options
@@ -1 +0,0 @@
---enable-experiment=non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/nnbd/forbidden_supers.dart.outline.expect b/pkg/front_end/testcases/nnbd/forbidden_supers.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/forbidden_supers.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/forbidden_supers.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/forin.dart.outline.expect b/pkg/front_end/testcases/nnbd/forin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/forin.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/forin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.outline.expect b/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.outline.expect
deleted file mode 100644
index b4161d9..0000000
--- a/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "from_agnostic_lib.dart" as fro;
-
-import "org-dartlang-testcase:///from_agnostic_lib.dart";
-
-static const field core::bool c1 = core::identical(fro::a, fro::b);
-static const field core::Map<core::List<core::int?>, core::int> c2 = const <core::List<core::int?>, core::int>{fro::a: 0, fro::b: 1};
-static const field core::Set<core::List<core::int?>> c3 = const <core::List<core::int?>>{fro::a, fro::b};
-static const field core::List<core::int> c4 = fro::a;
-static const field core::List<core::int?> c5 = fro::b;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as fro;
-import "dart:core" as core;
-
-static const field core::List<core::int> a = #C1;
-static const field core::List<core::int?> b = #C2;
-
-constants  {
-  #C1 = <core::int>[]
-  #C2 = <core::int?>[]
-}
-
-Extra constant evaluation status:
-Evaluated: StaticInvocation @ org-dartlang-testcase:///from_agnostic.dart:7:12 -> BoolConstant(false)
-Evaluated: MapLiteral @ org-dartlang-testcase:///from_agnostic.dart:8:12 -> InstanceConstant(const _ImmutableMap<List<int?>, int>{_ImmutableMap._kvPairs: const <dynamic>[const <int>[], 0, const <int?>[], 1]})
-Evaluated: SetLiteral @ org-dartlang-testcase:///from_agnostic.dart:9:12 -> InstanceConstant(const _UnmodifiableSet<List<int?>>{_UnmodifiableSet._map: const _ImmutableMap<List<int?>, Null>{_ImmutableMap._kvPairs: const <dynamic>[const <int>[], null, const <int?>[], null]}})
-Evaluated: StaticGet @ org-dartlang-testcase:///from_agnostic.dart:10:12 -> ListConstant(const <int>[])
-Evaluated: StaticGet @ org-dartlang-testcase:///from_agnostic.dart:11:12 -> ListConstant(const <int?>[])
-Extra constant evaluation: evaluated: 5, effectively constant: 5
diff --git a/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.weak.outline.expect
new file mode 100644
index 0000000..afae808
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/from_agnostic/from_agnostic.dart.weak.outline.expect
@@ -0,0 +1,34 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "from_agnostic_lib.dart" as fro;
+
+import "org-dartlang-testcase:///from_agnostic_lib.dart";
+
+static const field core::bool c1 = core::identical(fro::a, fro::b);
+static const field core::Map<core::List<core::int?>, core::int> c2 = const <core::List<core::int?>, core::int>{fro::a: 0, fro::b: 1};
+static const field core::Set<core::List<core::int?>> c3 = const <core::List<core::int?>>{fro::a, fro::b};
+static const field core::List<core::int> c4 = fro::a;
+static const field core::List<core::int?> c5 = fro::b;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as fro;
+import "dart:core" as core;
+
+static const field core::List<core::int> a = #C1;
+static const field core::List<core::int?> b = #C2;
+
+constants  {
+  #C1 = <core::int>[]
+  #C2 = <core::int?>[]
+}
+
+Extra constant evaluation status:
+Evaluated: StaticInvocation @ org-dartlang-testcase:///from_agnostic.dart:7:12 -> BoolConstant(false)
+Evaluated: MapLiteral @ org-dartlang-testcase:///from_agnostic.dart:8:12 -> InstanceConstant(const _ImmutableMap<List<int?>*, int*>{_ImmutableMap._kvPairs: const <dynamic>[const <int*>[], 0, const <int?>[], 1]})
+Evaluated: SetLiteral @ org-dartlang-testcase:///from_agnostic.dart:9:12 -> InstanceConstant(const _UnmodifiableSet<List<int?>*>{_UnmodifiableSet._map: const _ImmutableMap<List<int?>*, Null>{_ImmutableMap._kvPairs: const <dynamic>[const <int*>[], null, const <int?>[], null]}})
+Evaluated: StaticGet @ org-dartlang-testcase:///from_agnostic.dart:10:12 -> ListConstant(const <int*>[])
+Evaluated: StaticGet @ org-dartlang-testcase:///from_agnostic.dart:11:12 -> ListConstant(const <int?>[])
+Extra constant evaluation: evaluated: 5, effectively constant: 5
diff --git a/pkg/front_end/testcases/nnbd/function_types.dart.outline.expect b/pkg/front_end/testcases/nnbd/function_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/function_types.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/function_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/future_or_variables.dart.outline.expect b/pkg/front_end/testcases/nnbd/future_or_variables.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/future_or_variables.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/future_or_variables.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.strong.transformed.expect
deleted file mode 100644
index 4e6abc1..0000000
--- a/pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.strong.transformed.expect
+++ /dev/null
@@ -1,155 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:14:12: Error: The type 'int?' of the getter 'A.property3' is not a subtype of the type 'int' of the setter 'A.property3'.
-//   int? get property3; // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:16:12: Context: This is the declaration of the setter 'A.property3'.
-//   void set property3(int i);
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:48:12: Error: The type 'int?' of the inherited getter 'B1.property3' is not a subtype of the type 'int' of the setter 'B2.property3'.
-//   void set property3(int i); // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:32:12: Context: This is the declaration of the getter 'B1.property3'.
-//   int? get property3;
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:54:12: Error: The type 'int?' of the inherited field 'B1.property6' is not a subtype of the type 'int' of the setter 'B2.property6'.
-//   void set property6(int i); // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:38:14: Context: This is the declaration of the field 'B1.property6'.
-//   final int? property6;
-//              ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:78:12: Error: The type 'int?' of the getter 'C2.property3' is not a subtype of the type 'int' of the inherited setter 'C1.property3'.
-//   int? get property3; // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:62:12: Context: This is the declaration of the setter 'C1.property3'.
-//   void set property3(int i);
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:86:12: Error: The return type of the method 'C2.property6' is 'int?', which does not match the return type, 'int', of the overridden method, 'C1.property6'.
-// Change to a subtype of 'int'.
-//   int? get property6; // error
-//            ^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:68:7: Context: This is the overridden method ('property6').
-//   int property6;
-//       ^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:86:12: Error: The type 'int?' of the getter 'C2.property6' is not a subtype of the type 'int' of the inherited setter 'C1.property6'.
-//   int? get property6; // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:68:7: Context: This is the declaration of the setter 'C1.property6'.
-//   int property6;
-//       ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:105:16: Error: The type 'int?' of the inherited getter 'D1.property3' is not a subtype of the type 'int' of the inherited setter 'D2.property3'.
-// abstract class D3 implements D1, D2 /* error on property3 */ {}
-//                ^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:94:12: Context: This is the declaration of the getter 'D1.property3'.
-//   int? get property3;
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:102:12: Context: This is the declaration of the setter 'D2.property3'.
-//   void set property3(int i);
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:107:16: Error: The type 'int?' of the inherited getter 'D1.property3' is not a subtype of the type 'int' of the inherited setter 'D2.property3'.
-// abstract class D4 implements D3 /* no need for error on property3 */ {}
-//                ^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:94:12: Context: This is the declaration of the getter 'D1.property3'.
-//   int? get property3;
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:102:12: Context: This is the declaration of the setter 'D2.property3'.
-//   void set property3(int i);
-//            ^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int property4;
-  field core::int? property5;
-  covariant field core::int property6;
-  constructor •(core::int property4, core::int? property5, core::int property6) → self::A
-    : self::A::property4 = property4, self::A::property5 = property5, self::A::property6 = property6, super core::Object::•()
-    ;
-  abstract get property1() → core::int;
-  abstract set property1(core::int i) → void;
-  abstract get property2() → core::int;
-  abstract set property2(core::int? i) → void;
-  abstract get property3() → core::int?;
-  abstract set property3(core::int i) → void;
-}
-abstract class B1 extends core::Object {
-  final field core::int property4;
-  final field core::int property5;
-  final field core::int? property6;
-  constructor •(core::int property4, core::int property5, core::int? property6) → self::B1
-    : self::B1::property4 = property4, self::B1::property5 = property5, self::B1::property6 = property6, super core::Object::•()
-    ;
-  abstract get property1() → core::int;
-  abstract get property2() → core::int;
-  abstract get property3() → core::int?;
-}
-abstract class B2 extends core::Object implements self::B1 {
-  synthetic constructor •() → self::B2
-    : super core::Object::•()
-    ;
-  abstract set property1(core::int i) → void;
-  abstract set property2(core::int? i) → void;
-  abstract set property3(core::int i) → void;
-  abstract set property4(core::int i) → void;
-  abstract set property5(core::int? i) → void;
-  abstract set property6(core::int i) → void;
-}
-abstract class C1 extends core::Object {
-  field core::int property4;
-  field core::int? property5;
-  field core::int property6;
-  constructor •(core::int property4, core::int? property5, core::int property6) → self::C1
-    : self::C1::property4 = property4, self::C1::property5 = property5, self::C1::property6 = property6, super core::Object::•()
-    ;
-  abstract set property1(core::int i) → void;
-  abstract set property2(core::int? i) → void;
-  abstract set property3(core::int i) → void;
-}
-abstract class C2 extends core::Object implements self::C1 {
-  synthetic constructor •() → self::C2
-    : super core::Object::•()
-    ;
-  abstract get property1() → core::int;
-  abstract get property2() → core::int;
-  abstract get property3() → core::int?;
-  abstract get property4() → core::int;
-  abstract get property5() → core::int;
-  abstract get property6() → core::int?;
-}
-abstract class D1 extends core::Object {
-  synthetic constructor •() → self::D1
-    : super core::Object::•()
-    ;
-  abstract get property1() → core::int;
-  abstract get property2() → core::int;
-  abstract get property3() → core::int?;
-}
-abstract class D2 extends core::Object {
-  synthetic constructor •() → self::D2
-    : super core::Object::•()
-    ;
-  abstract set property1(core::int i) → void;
-  abstract set property2(core::int? i) → void;
-  abstract set property3(core::int i) → void;
-}
-abstract class D3 extends core::Object implements self::D1, self::D2 {
-  synthetic constructor •() → self::D3
-    : super core::Object::•()
-    ;
-}
-abstract class D4 extends core::Object implements self::D3 {
-  synthetic constructor •() → self::D4
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.outline.expect b/pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.weak.transformed.expect
deleted file mode 100644
index 4e6abc1..0000000
--- a/pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart.weak.transformed.expect
+++ /dev/null
@@ -1,155 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:14:12: Error: The type 'int?' of the getter 'A.property3' is not a subtype of the type 'int' of the setter 'A.property3'.
-//   int? get property3; // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:16:12: Context: This is the declaration of the setter 'A.property3'.
-//   void set property3(int i);
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:48:12: Error: The type 'int?' of the inherited getter 'B1.property3' is not a subtype of the type 'int' of the setter 'B2.property3'.
-//   void set property3(int i); // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:32:12: Context: This is the declaration of the getter 'B1.property3'.
-//   int? get property3;
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:54:12: Error: The type 'int?' of the inherited field 'B1.property6' is not a subtype of the type 'int' of the setter 'B2.property6'.
-//   void set property6(int i); // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:38:14: Context: This is the declaration of the field 'B1.property6'.
-//   final int? property6;
-//              ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:78:12: Error: The type 'int?' of the getter 'C2.property3' is not a subtype of the type 'int' of the inherited setter 'C1.property3'.
-//   int? get property3; // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:62:12: Context: This is the declaration of the setter 'C1.property3'.
-//   void set property3(int i);
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:86:12: Error: The return type of the method 'C2.property6' is 'int?', which does not match the return type, 'int', of the overridden method, 'C1.property6'.
-// Change to a subtype of 'int'.
-//   int? get property6; // error
-//            ^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:68:7: Context: This is the overridden method ('property6').
-//   int property6;
-//       ^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:86:12: Error: The type 'int?' of the getter 'C2.property6' is not a subtype of the type 'int' of the inherited setter 'C1.property6'.
-//   int? get property6; // error
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:68:7: Context: This is the declaration of the setter 'C1.property6'.
-//   int property6;
-//       ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:105:16: Error: The type 'int?' of the inherited getter 'D1.property3' is not a subtype of the type 'int' of the inherited setter 'D2.property3'.
-// abstract class D3 implements D1, D2 /* error on property3 */ {}
-//                ^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:94:12: Context: This is the declaration of the getter 'D1.property3'.
-//   int? get property3;
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:102:12: Context: This is the declaration of the setter 'D2.property3'.
-//   void set property3(int i);
-//            ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:107:16: Error: The type 'int?' of the inherited getter 'D1.property3' is not a subtype of the type 'int' of the inherited setter 'D2.property3'.
-// abstract class D4 implements D3 /* no need for error on property3 */ {}
-//                ^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:94:12: Context: This is the declaration of the getter 'D1.property3'.
-//   int? get property3;
-//            ^^^^^^^^^
-// pkg/front_end/testcases/nnbd/getter_vs_setter_type.dart:102:12: Context: This is the declaration of the setter 'D2.property3'.
-//   void set property3(int i);
-//            ^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class A extends core::Object {
-  field core::int property4;
-  field core::int? property5;
-  covariant field core::int property6;
-  constructor •(core::int property4, core::int? property5, core::int property6) → self::A
-    : self::A::property4 = property4, self::A::property5 = property5, self::A::property6 = property6, super core::Object::•()
-    ;
-  abstract get property1() → core::int;
-  abstract set property1(core::int i) → void;
-  abstract get property2() → core::int;
-  abstract set property2(core::int? i) → void;
-  abstract get property3() → core::int?;
-  abstract set property3(core::int i) → void;
-}
-abstract class B1 extends core::Object {
-  final field core::int property4;
-  final field core::int property5;
-  final field core::int? property6;
-  constructor •(core::int property4, core::int property5, core::int? property6) → self::B1
-    : self::B1::property4 = property4, self::B1::property5 = property5, self::B1::property6 = property6, super core::Object::•()
-    ;
-  abstract get property1() → core::int;
-  abstract get property2() → core::int;
-  abstract get property3() → core::int?;
-}
-abstract class B2 extends core::Object implements self::B1 {
-  synthetic constructor •() → self::B2
-    : super core::Object::•()
-    ;
-  abstract set property1(core::int i) → void;
-  abstract set property2(core::int? i) → void;
-  abstract set property3(core::int i) → void;
-  abstract set property4(core::int i) → void;
-  abstract set property5(core::int? i) → void;
-  abstract set property6(core::int i) → void;
-}
-abstract class C1 extends core::Object {
-  field core::int property4;
-  field core::int? property5;
-  field core::int property6;
-  constructor •(core::int property4, core::int? property5, core::int property6) → self::C1
-    : self::C1::property4 = property4, self::C1::property5 = property5, self::C1::property6 = property6, super core::Object::•()
-    ;
-  abstract set property1(core::int i) → void;
-  abstract set property2(core::int? i) → void;
-  abstract set property3(core::int i) → void;
-}
-abstract class C2 extends core::Object implements self::C1 {
-  synthetic constructor •() → self::C2
-    : super core::Object::•()
-    ;
-  abstract get property1() → core::int;
-  abstract get property2() → core::int;
-  abstract get property3() → core::int?;
-  abstract get property4() → core::int;
-  abstract get property5() → core::int;
-  abstract get property6() → core::int?;
-}
-abstract class D1 extends core::Object {
-  synthetic constructor •() → self::D1
-    : super core::Object::•()
-    ;
-  abstract get property1() → core::int;
-  abstract get property2() → core::int;
-  abstract get property3() → core::int?;
-}
-abstract class D2 extends core::Object {
-  synthetic constructor •() → self::D2
-    : super core::Object::•()
-    ;
-  abstract set property1(core::int i) → void;
-  abstract set property2(core::int? i) → void;
-  abstract set property3(core::int i) → void;
-}
-abstract class D3 extends core::Object implements self::D1, self::D2 {
-  synthetic constructor •() → self::D3
-    : super core::Object::•()
-    ;
-}
-abstract class D4 extends core::Object implements self::D3 {
-  synthetic constructor •() → self::D4
-    : super core::Object::•()
-    ;
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/getter_vs_setter_type_late.dart.outline.expect b/pkg/front_end/testcases/nnbd/getter_vs_setter_type_late.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/getter_vs_setter_type_late.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/getter_vs_setter_type_late.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/getter_vs_setter_type_nnbd.dart.outline.expect b/pkg/front_end/testcases/nnbd/getter_vs_setter_type_nnbd.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/getter_vs_setter_type_nnbd.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/getter_vs_setter_type_nnbd.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/infer_from_late_variable.dart.outline.expect b/pkg/front_end/testcases/nnbd/infer_from_late_variable.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/infer_from_late_variable.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/infer_from_late_variable.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/infer_from_promoted.dart.outline.expect b/pkg/front_end/testcases/nnbd/infer_from_promoted.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/infer_from_promoted.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/infer_from_promoted.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/infer_if_null.dart.outline.expect b/pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/infer_if_null.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/infer_if_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/infer_method_types.dart.outline.expect b/pkg/front_end/testcases/nnbd/infer_method_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/infer_method_types.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/infer_method_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/infer_object_from_dynamic.dart.outline.expect b/pkg/front_end/testcases/nnbd/infer_object_from_dynamic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/infer_object_from_dynamic.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/infer_object_from_dynamic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/injected_late_field_checks/main.dart.outline.expect b/pkg/front_end/testcases/nnbd/injected_late_field_checks/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/injected_late_field_checks/main.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/injected_late_field_checks/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/instance_duplicates.dart.outline.expect b/pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/instance_duplicates.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/instance_duplicates.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/intersection_types.dart.outline.expect b/pkg/front_end/testcases/nnbd/intersection_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/intersection_types.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/intersection_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue34803.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue34803.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue34803.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue34803.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue39659.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue39659.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue39659.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue39659.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue39822.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue39822.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue39822.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue39822.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue40093.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue40093.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue40093.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue40093.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue40134.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue40134.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue40134.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue40134.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue40600.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue40600.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue40600.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue40600.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue40601.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue40601.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue40601.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue40601.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue40805.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue40805.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue40805.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue40805.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue40945.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue40945.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue40945.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue40945.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue40951.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue40951.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue40951.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue40951.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue40954.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue40954.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue40954.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue40954.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41102.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41102.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41102.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41102.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41103.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41103.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41103.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41103.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41108.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41108.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41108.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41108.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41114.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41114.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41114.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41114.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41156.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41156.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41156.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41156.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41273.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41273.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41273.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41273.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41349.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41349.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41349.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41349.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41386.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41386.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41386.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41386.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41386b.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41386b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41386b.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41386b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41415.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41415.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41415.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41415.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41437a.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41437a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41437a.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41437a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41437b.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41437b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41437b.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41437b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41437c.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41437c.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41437c.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41437c.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41495.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41495.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41495.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41495.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41520.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41520.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41520.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41520.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41602.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41602.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41602.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41602.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41657.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41657.dart.outline.expect
deleted file mode 100644
index b01f0d8..0000000
--- a/pkg/front_end/testcases/nnbd/issue41657.dart.outline.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-static final field core::bool isLegacySubtyping1a;
-static const field core::bool isLegacySubtyping1b = const <Null>[] is{ForNonNullableByDefault} core::List<core::int>;
-static final field core::bool isLegacySubtyping2a;
-static const field core::bool isLegacySubtyping2b = const <core::int?>[] is{ForNonNullableByDefault} core::List<core::int>;
-static const field core::List<core::int> assertLegacySubtyping1 = const <Null>[] as{ForNonNullableByDefault} core::List<core::int>;
-static const field core::List<core::int> assertLegacySubtyping2 = const <core::int?>[] as{ForNonNullableByDefault} core::List<core::int>;
-static method main() → void
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: IsExpression @ org-dartlang-testcase:///issue41657.dart:6:38 -> BoolConstant(false)
-Evaluated: IsExpression @ org-dartlang-testcase:///issue41657.dart:8:38 -> BoolConstant(false)
-Evaluated: ListLiteral @ org-dartlang-testcase:///issue41657.dart:10:38 -> ListConstant(const <Null>[])
-Evaluated: ListLiteral @ org-dartlang-testcase:///issue41657.dart:12:38 -> ListConstant(const <int?>[])
-Extra constant evaluation: evaluated: 6, effectively constant: 4
diff --git a/pkg/front_end/testcases/nnbd/issue41657.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/issue41657.dart.weak.outline.expect
new file mode 100644
index 0000000..4443bfe
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/issue41657.dart.weak.outline.expect
@@ -0,0 +1,22 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static final field core::bool isLegacySubtyping1a;
+static const field core::bool isLegacySubtyping1b = const <Null>[] is{ForNonNullableByDefault} core::List<core::int>;
+static final field core::bool isLegacySubtyping2a;
+static const field core::bool isLegacySubtyping2b = const <core::int?>[] is{ForNonNullableByDefault} core::List<core::int>;
+static const field core::List<core::int> assertLegacySubtyping1 = const <Null>[] as{ForNonNullableByDefault} core::List<core::int>;
+static const field core::List<core::int> assertLegacySubtyping2 = const <core::int?>[] as{ForNonNullableByDefault} core::List<core::int>;
+static method main() → void
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: IsExpression @ org-dartlang-testcase:///issue41657.dart:6:38 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///issue41657.dart:8:38 -> BoolConstant(true)
+Evaluated: AsExpression @ org-dartlang-testcase:///issue41657.dart:10:41 -> ListConstant(const <Null>[])
+Evaluated: AsExpression @ org-dartlang-testcase:///issue41657.dart:12:41 -> ListConstant(const <int?>[])
+Extra constant evaluation: evaluated: 4, effectively constant: 4
diff --git a/pkg/front_end/testcases/nnbd/issue41697.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41697.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41697.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41697.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41697b.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41697b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41697b.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41697b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41700a.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41700a.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/nnbd/issue41700a.dart.outline.expect
copy to pkg/front_end/testcases/nnbd/issue41700a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41700b.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41700b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41700b.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41700b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue41952.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue41952.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41952.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue41952.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42089.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42089.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42089.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42089.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42143.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42143.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42143.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42143.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42199.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42199.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42199.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42199.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42362.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42362.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42362.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42362.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42429.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42429.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42429.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42429.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42433.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42433.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42433.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42433.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42434.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42434.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42434.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42434.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42434_2.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42434_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42434_2.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42434_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42459.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42459.dart.outline.expect
deleted file mode 100644
index 64923de..0000000
--- a/pkg/front_end/testcases/nnbd/issue42459.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd/issue41700a.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42459.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue41700a.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42459.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42504.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42504.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42504.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42504.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42540.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42540.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42540.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42540.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42546.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42546.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42546.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42546.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42579.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42579.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42579.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42579.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42579_2.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42579_2.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42579_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42579_3.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42579_3.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42579_3.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42603.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42603.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42603.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42603.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42607.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42607.dart.outline.expect
deleted file mode 100644
index 67a3569..0000000
--- a/pkg/front_end/testcases/nnbd/issue42607.dart.outline.expect
+++ /dev/null
@@ -1,14 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/issue42607.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
-// // @dart = 2.6
-// ^^^^^^^^^^^^^^
-//
-import self as self;
-
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/general/bug21938.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42607.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/bug21938.dart.outline.expect
copy to pkg/front_end/testcases/nnbd/issue42607.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42743.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42743.dart.outline.expect
deleted file mode 100644
index 074fe5d..0000000
--- a/pkg/front_end/testcases/nnbd/issue42743.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-static method main() → dynamic async 
-  ;
diff --git a/pkg/front_end/testcases/nnbd/issue41114.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42743.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/nnbd/issue41114.dart.outline.expect
copy to pkg/front_end/testcases/nnbd/issue42743.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42758.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42758.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42844_1.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42844_1.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42844_1.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42844_1.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42844_2.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42844_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42844_2.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42844_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue42967.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue42967.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue42967.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue42967.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43174.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43174.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43174.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43174.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43211.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43211.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43211.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43211.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43256.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43256.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43276.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43276.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43276.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43276.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43278.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43278.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43278.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43278.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43354.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43354.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43354.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43354.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43455.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43455.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43455.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43455.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43495.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43495.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43536.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43536.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43536.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43536.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43591.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43591.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43591.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43591.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43689.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43689.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43689.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43689.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43716a.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43716a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43716a.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43716a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43716b.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43716b.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43716b.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43716b.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43721.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43721.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43721.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43721.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue43918.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue43918.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue43918.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue43918.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue44276.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue44276.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue44276.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue44276.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue44362.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue44362.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue44362.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue44362.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue44455.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue44455.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue44455.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue44455.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue44595.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue44595.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue44595.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue44595.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue44857.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue44857.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue44857.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue44857.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue_39286.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue_39286.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue_39286.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue_39286.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/issue_39286_2.dart.outline.expect b/pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/issue_39286_2.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/issue_39286_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/language_issue1182.dart.outline.expect b/pkg/front_end/testcases/nnbd/language_issue1182.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/language_issue1182.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/language_issue1182.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/late.dart.hierarchy.expect b/pkg/front_end/testcases/nnbd/late.dart.hierarchy.expect
deleted file mode 100644
index 57d69c5..0000000
--- a/pkg/front_end/testcases/nnbd/late.dart.hierarchy.expect
+++ /dev/null
@@ -1,47 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Class:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Class.lateInstanceField
-    Class.finalLateStaticField
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Class.method
-    Class.int
-    Class.late
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Class.finalLateInstanceField
-    Object._simpleInstanceOfFalse
-    Class.lateStaticField
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Class.lateInstanceField
-    Class.int
-    Class.late
-    Class.lateStaticField
diff --git a/pkg/front_end/testcases/nnbd/late.dart.outline.expect b/pkg/front_end/testcases/nnbd/late.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/late.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/late.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/later.dart.outline.expect b/pkg/front_end/testcases/nnbd/later.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/later.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/later.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.outline.expect b/pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/lhs_of_if_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/list_constructor.dart.outline.expect b/pkg/front_end/testcases/nnbd/list_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/list_constructor.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/list_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/load_library.dart.outline.expect b/pkg/front_end/testcases/nnbd/load_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/load_library.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/load_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/main_declaration.dart.outline.expect b/pkg/front_end/testcases/nnbd/main_declaration.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/main_declaration.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/main_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.outline.expect b/pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/missing_required_named_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/mix_in_field.dart.outline.expect b/pkg/front_end/testcases/nnbd/mix_in_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/mix_in_field.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/mix_in_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/mutual_subtype_norm.dart.outline.expect b/pkg/front_end/testcases/nnbd/mutual_subtype_norm.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/mutual_subtype_norm.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/mutual_subtype_norm.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/never_bound.dart.outline.expect b/pkg/front_end/testcases/nnbd/never_bound.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/never_bound.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/never_bound.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/never_calls.dart.outline.expect b/pkg/front_end/testcases/nnbd/never_calls.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/never_calls.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/never_calls.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/never_equals.dart.outline.expect b/pkg/front_end/testcases/nnbd/never_equals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/never_equals.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/never_equals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/never_receiver.dart.outline.expect b/pkg/front_end/testcases/nnbd/never_receiver.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/never_receiver.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/never_receiver.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/no_support_for_old_null_aware_index_access_syntax.dart.outline.expect b/pkg/front_end/testcases/nnbd/no_support_for_old_null_aware_index_access_syntax.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/no_support_for_old_null_aware_index_access_syntax.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/no_support_for_old_null_aware_index_access_syntax.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart.outline.expect b/pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/non_nullable_field_initialization.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/non_nullable_optional.dart.outline.expect b/pkg/front_end/testcases/nnbd/non_nullable_optional.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/non_nullable_optional.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/non_nullable_optional.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.outline.expect b/pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nonfield_vs_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.outline.expect b/pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/not_definitely_unassigned_late_local_variables.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_access.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_access.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_aware_chain.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_aware_chain.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_aware_chain.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_aware_static_access.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_aware_static_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_aware_this_access.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_aware_this_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_check.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_check.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_check.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_check_context.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_check_context.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_check_context.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_check_context.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_shorting.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_shorting.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_shorting.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_shorting.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_shorting_cascade.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_shorting_explicit_extension.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_shorting_extension.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_shorting_extension.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/null_shorting_index.dart.outline.expect b/pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/null_shorting_index.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/null_shorting_index.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nullable_access.dart.outline.expect b/pkg/front_end/testcases/nnbd/nullable_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nullable_access.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nullable_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nullable_extension.dart.outline.expect b/pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nullable_extension.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nullable_extension.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nullable_null.dart.outline.expect b/pkg/front_end/testcases/nnbd/nullable_null.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nullable_null.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nullable_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_object_access.dart.strong.transformed.expect
deleted file mode 100644
index 81b9a41..0000000
--- a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.strong.transformed.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:31:43: Error: The argument type 'Invocation' can't be assigned to the parameter type 'CustomInvocation'.
-//  - 'Invocation' is from 'dart:core'.
-//  - 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-//   String noSuchMethod1b = c1.noSuchMethod(invocation); // error
-//                                           ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:34:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-//   c1 == ''; // error
-//         ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:42:32: Error: A value of type 'Type' can't be assigned to a variable of type 'CustomType'.
-//  - 'Type' is from 'dart:core'.
-//  - 'CustomType' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-//   CustomType runtimeType2 = c2.runtimeType; // error
-//                                ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:44:17: Error: 'runtimeType' isn't a function or method and can't be invoked.
-//   c2.runtimeType(); // error
-//                 ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:47:10: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'String Function(CustomInvocation)'.
-//  - 'Invocation' is from 'dart:core'.
-//  - 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-//       c2.noSuchMethod; // error
-//          ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:56:53: Error: A value of type 'String Function()' can't be assigned to a variable of type 'String Function({Object o})'.
-//  - 'Object' is from 'dart:core'.
-//   String Function({Object o}) toStringTearOff2 = c2.toString; // error
-//                                                     ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:59:6: Error: Method 'toString' cannot be called on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-// Try calling using ?. instead.
-//   c2.toString(o: c1); // error
-//      ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class CustomType extends core::Type {
-  synthetic constructor •() → self::CustomType
-    : super core::Type::•()
-    ;
-  method call() → void {}
-}
-abstract class CustomInvocation extends core::Object implements core::Invocation {
-  synthetic constructor •() → self::CustomInvocation
-    : super core::Object::•()
-    ;
-}
-abstract class Class extends core::Object {
-  synthetic constructor •() → self::Class
-    : super core::Object::•()
-    ;
-  abstract get runtimeType() → self::CustomType;
-  forwarding-stub forwarding-semi-stub method noSuchMethod(covariant self::CustomInvocation invocation) → core::String
-    return super.{core::Object::noSuchMethod}(invocation);
-  forwarding-stub forwarding-semi-stub operator ==(covariant self::Class o) → core::bool
-    return super.{core::Object::==}(o);
-  abstract method toString({core::Object o = #C1}) → core::String;
-}
-static method main() → dynamic {}
-static method test(self::Class c1, self::Class? c2, core::Invocation invocation, self::CustomInvocation customInvocation) → void {
-  self::CustomType runtimeType1 = c1.{self::Class::runtimeType};
-  self::CustomType runtimeTypeVariable1 = c1.{self::Class::runtimeType};
-  c1.{self::Class::runtimeType}.{self::CustomType::call}();
-  (self::CustomInvocation) → core::String noSuchMethodTearOff1 = c1.{self::Class::noSuchMethod};
-  (self::CustomInvocation) → core::String noSuchMethodTearOffVariable1 = c1.{self::Class::noSuchMethod};
-  core::String noSuchMethod1a = c1.{self::Class::noSuchMethod}(customInvocation);
-  core::String noSuchMethod1b = c1.{self::Class::noSuchMethod}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:31:43: Error: The argument type 'Invocation' can't be assigned to the parameter type 'CustomInvocation'.
- - 'Invocation' is from 'dart:core'.
- - 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-  String noSuchMethod1b = c1.noSuchMethod(invocation); // error
-                                          ^" in invocation as{TypeError,ForNonNullableByDefault} self::CustomInvocation);
-  core::String noSuchMethodVariable1 = c1.{self::Class::noSuchMethod}(customInvocation);
-  c1.{self::Class::==}(let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:34:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-  c1 == ''; // error
-        ^" in "" as{TypeError,ForNonNullableByDefault} self::Class?);
-  c1.{self::Class::==}(c2);
-  ({o: core::Object}) → core::String toStringTearOff1 = c1.{self::Class::toString};
-  ({o: core::Object}) → core::String toStringTearOffVariable1 = c1.{self::Class::toString};
-  c1.{self::Class::toString}(o: c1);
-  self::CustomType runtimeType2 = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:42:32: Error: A value of type 'Type' can't be assigned to a variable of type 'CustomType'.
- - 'Type' is from 'dart:core'.
- - 'CustomType' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-  CustomType runtimeType2 = c2.runtimeType; // error
-                               ^" in c2.{core::Object::runtimeType} as{TypeError,ForNonNullableByDefault} self::CustomType;
-  core::Type runtimeTypeVariable2 = c2.{core::Object::runtimeType};
-  invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:44:17: Error: 'runtimeType' isn't a function or method and can't be invoked.
-  c2.runtimeType(); // error
-                ^^^^^^^^^^^";
-  (self::CustomInvocation) → core::String noSuchMethodTearOff2 = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:47:10: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'String Function(CustomInvocation)'.
- - 'Invocation' is from 'dart:core'.
- - 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-      c2.noSuchMethod; // error
-         ^" in c2.{core::Object::noSuchMethod} as{TypeError,ForNonNullableByDefault} (self::CustomInvocation) → core::String;
-  (core::Invocation) → dynamic noSuchMethodTearOffVariable2 = c2.{core::Object::noSuchMethod};
-  core::int noSuchMethod2 = c2.{core::Object::noSuchMethod}(invocation) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
-  dynamic noSuchMethodVariable2 = c2.{core::Object::noSuchMethod}(invocation);
-  c2.{core::Object::==}("");
-  c2.{core::Object::==}(c1);
-  ({o: core::Object}) → core::String toStringTearOff2 = let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:56:53: Error: A value of type 'String Function()' can't be assigned to a variable of type 'String Function({Object o})'.
- - 'Object' is from 'dart:core'.
-  String Function({Object o}) toStringTearOff2 = c2.toString; // error
-                                                    ^" in c2.{core::Object::toString} as{TypeError,ForNonNullableByDefault} ({o: core::Object}) → core::String;
-  () → core::String toStringTearOffVariable2 = c2.{core::Object::toString};
-  let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:59:6: Error: Method 'toString' cannot be called on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-Try calling using ?. instead.
-  c2.toString(o: c1); // error
-     ^^^^^^^^" in c2.{self::Class::toString}(o: c1);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.outline.expect b/pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nullable_object_access.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.transformed.expect
deleted file mode 100644
index 81b9a41..0000000
--- a/pkg/front_end/testcases/nnbd/nullable_object_access.dart.weak.transformed.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:31:43: Error: The argument type 'Invocation' can't be assigned to the parameter type 'CustomInvocation'.
-//  - 'Invocation' is from 'dart:core'.
-//  - 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-//   String noSuchMethod1b = c1.noSuchMethod(invocation); // error
-//                                           ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:34:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-//   c1 == ''; // error
-//         ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:42:32: Error: A value of type 'Type' can't be assigned to a variable of type 'CustomType'.
-//  - 'Type' is from 'dart:core'.
-//  - 'CustomType' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-//   CustomType runtimeType2 = c2.runtimeType; // error
-//                                ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:44:17: Error: 'runtimeType' isn't a function or method and can't be invoked.
-//   c2.runtimeType(); // error
-//                 ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:47:10: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'String Function(CustomInvocation)'.
-//  - 'Invocation' is from 'dart:core'.
-//  - 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-//       c2.noSuchMethod; // error
-//          ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:56:53: Error: A value of type 'String Function()' can't be assigned to a variable of type 'String Function({Object o})'.
-//  - 'Object' is from 'dart:core'.
-//   String Function({Object o}) toStringTearOff2 = c2.toString; // error
-//                                                     ^
-//
-// pkg/front_end/testcases/nnbd/nullable_object_access.dart:59:6: Error: Method 'toString' cannot be called on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-// Try calling using ?. instead.
-//   c2.toString(o: c1); // error
-//      ^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-abstract class CustomType extends core::Type {
-  synthetic constructor •() → self::CustomType
-    : super core::Type::•()
-    ;
-  method call() → void {}
-}
-abstract class CustomInvocation extends core::Object implements core::Invocation {
-  synthetic constructor •() → self::CustomInvocation
-    : super core::Object::•()
-    ;
-}
-abstract class Class extends core::Object {
-  synthetic constructor •() → self::Class
-    : super core::Object::•()
-    ;
-  abstract get runtimeType() → self::CustomType;
-  forwarding-stub forwarding-semi-stub method noSuchMethod(covariant self::CustomInvocation invocation) → core::String
-    return super.{core::Object::noSuchMethod}(invocation);
-  forwarding-stub forwarding-semi-stub operator ==(covariant self::Class o) → core::bool
-    return super.{core::Object::==}(o);
-  abstract method toString({core::Object o = #C1}) → core::String;
-}
-static method main() → dynamic {}
-static method test(self::Class c1, self::Class? c2, core::Invocation invocation, self::CustomInvocation customInvocation) → void {
-  self::CustomType runtimeType1 = c1.{self::Class::runtimeType};
-  self::CustomType runtimeTypeVariable1 = c1.{self::Class::runtimeType};
-  c1.{self::Class::runtimeType}.{self::CustomType::call}();
-  (self::CustomInvocation) → core::String noSuchMethodTearOff1 = c1.{self::Class::noSuchMethod};
-  (self::CustomInvocation) → core::String noSuchMethodTearOffVariable1 = c1.{self::Class::noSuchMethod};
-  core::String noSuchMethod1a = c1.{self::Class::noSuchMethod}(customInvocation);
-  core::String noSuchMethod1b = c1.{self::Class::noSuchMethod}(let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:31:43: Error: The argument type 'Invocation' can't be assigned to the parameter type 'CustomInvocation'.
- - 'Invocation' is from 'dart:core'.
- - 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-  String noSuchMethod1b = c1.noSuchMethod(invocation); // error
-                                          ^" in invocation as{TypeError,ForNonNullableByDefault} self::CustomInvocation);
-  core::String noSuchMethodVariable1 = c1.{self::Class::noSuchMethod}(customInvocation);
-  c1.{self::Class::==}(let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:34:9: Error: The argument type 'String' can't be assigned to the parameter type 'Class?'.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-  c1 == ''; // error
-        ^" in "" as{TypeError,ForNonNullableByDefault} self::Class?);
-  c1.{self::Class::==}(c2);
-  ({o: core::Object}) → core::String toStringTearOff1 = c1.{self::Class::toString};
-  ({o: core::Object}) → core::String toStringTearOffVariable1 = c1.{self::Class::toString};
-  c1.{self::Class::toString}(o: c1);
-  self::CustomType runtimeType2 = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:42:32: Error: A value of type 'Type' can't be assigned to a variable of type 'CustomType'.
- - 'Type' is from 'dart:core'.
- - 'CustomType' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-  CustomType runtimeType2 = c2.runtimeType; // error
-                               ^" in c2.{core::Object::runtimeType} as{TypeError,ForNonNullableByDefault} self::CustomType;
-  core::Type runtimeTypeVariable2 = c2.{core::Object::runtimeType};
-  invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:44:17: Error: 'runtimeType' isn't a function or method and can't be invoked.
-  c2.runtimeType(); // error
-                ^^^^^^^^^^^";
-  (self::CustomInvocation) → core::String noSuchMethodTearOff2 = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:47:10: Error: A value of type 'dynamic Function(Invocation)' can't be assigned to a variable of type 'String Function(CustomInvocation)'.
- - 'Invocation' is from 'dart:core'.
- - 'CustomInvocation' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-      c2.noSuchMethod; // error
-         ^" in c2.{core::Object::noSuchMethod} as{TypeError,ForNonNullableByDefault} (self::CustomInvocation) → core::String;
-  (core::Invocation) → dynamic noSuchMethodTearOffVariable2 = c2.{core::Object::noSuchMethod};
-  core::int noSuchMethod2 = c2.{core::Object::noSuchMethod}(invocation) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
-  dynamic noSuchMethodVariable2 = c2.{core::Object::noSuchMethod}(invocation);
-  c2.{core::Object::==}("");
-  c2.{core::Object::==}(c1);
-  ({o: core::Object}) → core::String toStringTearOff2 = let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:56:53: Error: A value of type 'String Function()' can't be assigned to a variable of type 'String Function({Object o})'.
- - 'Object' is from 'dart:core'.
-  String Function({Object o}) toStringTearOff2 = c2.toString; // error
-                                                    ^" in c2.{core::Object::toString} as{TypeError,ForNonNullableByDefault} ({o: core::Object}) → core::String;
-  () → core::String toStringTearOffVariable2 = c2.{core::Object::toString};
-  let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_object_access.dart:59:6: Error: Method 'toString' cannot be called on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/nullable_object_access.dart'.
-Try calling using ?. instead.
-  c2.toString(o: c1); // error
-     ^^^^^^^^" in c2.{self::Class::toString}(o: c1);
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/nnbd/nullable_param.dart.hierarchy.expect b/pkg/front_end/testcases/nnbd/nullable_param.dart.hierarchy.expect
deleted file mode 100644
index 2d561e3..0000000
--- a/pkg/front_end/testcases/nnbd/nullable_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.field
diff --git a/pkg/front_end/testcases/nnbd/nullable_param.dart.outline.expect b/pkg/front_end/testcases/nnbd/nullable_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nullable_param.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nullable_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_receiver.dart.strong.transformed.expect
deleted file mode 100644
index 3b658a9..0000000
--- a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.strong.transformed.expect
+++ /dev/null
@@ -1,163 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:20:5: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
-// Try accessing using ?. instead.
-//   s.length;
-//     ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:21:5: Error: Method 'substring' cannot be called on 'String?' because it is potentially null.
-// Try calling using ?. instead.
-//   s.substring(1, 1);
-//     ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:23:5: Error: Method 'foo' cannot be called on 'A?' because it is potentially null.
-//  - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try calling using ?. instead.
-//   a.foo();
-//     ^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:24:5: Error: Property 'bar' cannot be accessed on 'A?' because it is potentially null.
-//  - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try accessing using ?. instead.
-//   a.bar;
-//     ^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:25:5: Error: Property 'baz' cannot be accessed on 'A?' because it is potentially null.
-//  - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try accessing using ?. instead.
-//   a.baz = 42;
-//     ^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:26:4: Error: Can't use an expression of type 'A?' as a function because it's potentially null.
-//  - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try calling using ?.call instead.
-//   a();
-//    ^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:27:5: Error: Method 'toString' cannot be called on 'B?' because it is potentially null.
-//  - 'B' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try calling using ?. instead.
-//   b.toString(0);
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:29:17: Error: Can't tear off method 'call' from a potentially null value.
-//   Function f1 = a;
-//                 ^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:30:24: Error: Can't tear off method 'call' from a potentially null value.
-//   void Function() f2 = a;
-//                        ^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:31:25: Error: Can't tear off method 'call' from a potentially null value.
-//   void Function()? f3 = a;
-//                         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-  get bar() → core::int
-    return 42;
-  set baz(core::int value) → void {}
-  method call() → void {}
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B
-    : super core::Object::•()
-    ;
-  method toString([core::int extra = #C1]) → core::String
-    return super.{core::Object::toString}();
-}
-static method error(core::String? s, self::A? a, self::B? b) → dynamic {
-  let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:20:5: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
-Try accessing using ?. instead.
-  s.length;
-    ^^^^^^" in s.{core::String::length};
-  let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:21:5: Error: Method 'substring' cannot be called on 'String?' because it is potentially null.
-Try calling using ?. instead.
-  s.substring(1, 1);
-    ^^^^^^^^^" in s.{core::String::substring}(1, 1);
-  let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:23:5: Error: Method 'foo' cannot be called on 'A?' because it is potentially null.
- - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try calling using ?. instead.
-  a.foo();
-    ^^^" in a.{self::A::foo}();
-  let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:24:5: Error: Property 'bar' cannot be accessed on 'A?' because it is potentially null.
- - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try accessing using ?. instead.
-  a.bar;
-    ^^^" in a.{self::A::bar};
-  let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:25:5: Error: Property 'baz' cannot be accessed on 'A?' because it is potentially null.
- - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try accessing using ?. instead.
-  a.baz = 42;
-    ^^^" in a.{self::A::baz} = 42;
-  let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:26:4: Error: Can't use an expression of type 'A?' as a function because it's potentially null.
- - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try calling using ?.call instead.
-  a();
-   ^" in a.{self::A::call}();
-  let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:27:5: Error: Method 'toString' cannot be called on 'B?' because it is potentially null.
- - 'B' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try calling using ?. instead.
-  b.toString(0);
-    ^^^^^^^^" in b.{self::B::toString}(0);
-  core::Function f1 = let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:29:17: Error: Can't tear off method 'call' from a potentially null value.
-  Function f1 = a;
-                ^" in a as{TypeError} core::Function;
-  () → void f2 = let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:30:24: Error: Can't tear off method 'call' from a potentially null value.
-  void Function() f2 = a;
-                       ^" in a as{TypeError} () → void;
-  () →? void f3 = let final<BottomType> #t10 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:31:25: Error: Can't tear off method 'call' from a potentially null value.
-  void Function()? f3 = a;
-                        ^" in a as{TypeError} () →? void;
-}
-static method ok<T extends core::Object? = core::Object?>(core::String? s, self::A? a, self::ok::T% t, self::B? b, core::Invocation i) → dynamic {
-  s.{core::Object::==}(s);
-  a.{core::Object::==}(a);
-  t.{core::Object::==}(t);
-  b.{core::Object::==}(b);
-  s.{core::Object::hashCode};
-  a.{core::Object::hashCode};
-  t.{core::Object::hashCode};
-  b.{core::Object::hashCode};
-  s.{core::Object::toString}();
-  a.{core::Object::toString}();
-  t.{core::Object::toString}();
-  b.{core::Object::toString}();
-  try {
-    s.{core::Object::noSuchMethod}(i);
-  }
-  on core::Object catch(final core::Object e, final core::StackTrace t) {
-  }
-  try {
-    a.{core::Object::noSuchMethod}(i);
-  }
-  on core::Object catch(final core::Object e, final core::StackTrace t) {
-  }
-  try {
-    t.{core::Object::noSuchMethod}(i);
-  }
-  on core::Object catch(final core::Object e, final core::StackTrace t) {
-  }
-  try {
-    b.{core::Object::noSuchMethod}(i);
-  }
-  on core::Object catch(final core::Object e, final core::StackTrace t) {
-  }
-  s.{core::Object::runtimeType};
-  a.{core::Object::runtimeType};
-  t.{core::Object::runtimeType};
-  b.{core::Object::runtimeType};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 42
-}
diff --git a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.outline.expect b/pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nullable_receiver.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.transformed.expect
deleted file mode 100644
index 3b658a9..0000000
--- a/pkg/front_end/testcases/nnbd/nullable_receiver.dart.weak.transformed.expect
+++ /dev/null
@@ -1,163 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:20:5: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
-// Try accessing using ?. instead.
-//   s.length;
-//     ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:21:5: Error: Method 'substring' cannot be called on 'String?' because it is potentially null.
-// Try calling using ?. instead.
-//   s.substring(1, 1);
-//     ^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:23:5: Error: Method 'foo' cannot be called on 'A?' because it is potentially null.
-//  - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try calling using ?. instead.
-//   a.foo();
-//     ^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:24:5: Error: Property 'bar' cannot be accessed on 'A?' because it is potentially null.
-//  - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try accessing using ?. instead.
-//   a.bar;
-//     ^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:25:5: Error: Property 'baz' cannot be accessed on 'A?' because it is potentially null.
-//  - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try accessing using ?. instead.
-//   a.baz = 42;
-//     ^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:26:4: Error: Can't use an expression of type 'A?' as a function because it's potentially null.
-//  - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try calling using ?.call instead.
-//   a();
-//    ^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:27:5: Error: Method 'toString' cannot be called on 'B?' because it is potentially null.
-//  - 'B' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-// Try calling using ?. instead.
-//   b.toString(0);
-//     ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:29:17: Error: Can't tear off method 'call' from a potentially null value.
-//   Function f1 = a;
-//                 ^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:30:24: Error: Can't tear off method 'call' from a potentially null value.
-//   void Function() f2 = a;
-//                        ^
-//
-// pkg/front_end/testcases/nnbd/nullable_receiver.dart:31:25: Error: Can't tear off method 'call' from a potentially null value.
-//   void Function()? f3 = a;
-//                         ^
-//
-import self as self;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → self::A
-    : super core::Object::•()
-    ;
-  method foo() → dynamic {}
-  get bar() → core::int
-    return 42;
-  set baz(core::int value) → void {}
-  method call() → void {}
-}
-class B extends core::Object {
-  synthetic constructor •() → self::B
-    : super core::Object::•()
-    ;
-  method toString([core::int extra = #C1]) → core::String
-    return super.{core::Object::toString}();
-}
-static method error(core::String? s, self::A? a, self::B? b) → dynamic {
-  let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:20:5: Error: Property 'length' cannot be accessed on 'String?' because it is potentially null.
-Try accessing using ?. instead.
-  s.length;
-    ^^^^^^" in s.{core::String::length};
-  let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:21:5: Error: Method 'substring' cannot be called on 'String?' because it is potentially null.
-Try calling using ?. instead.
-  s.substring(1, 1);
-    ^^^^^^^^^" in s.{core::String::substring}(1, 1);
-  let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:23:5: Error: Method 'foo' cannot be called on 'A?' because it is potentially null.
- - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try calling using ?. instead.
-  a.foo();
-    ^^^" in a.{self::A::foo}();
-  let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:24:5: Error: Property 'bar' cannot be accessed on 'A?' because it is potentially null.
- - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try accessing using ?. instead.
-  a.bar;
-    ^^^" in a.{self::A::bar};
-  let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:25:5: Error: Property 'baz' cannot be accessed on 'A?' because it is potentially null.
- - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try accessing using ?. instead.
-  a.baz = 42;
-    ^^^" in a.{self::A::baz} = 42;
-  let final<BottomType> #t6 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:26:4: Error: Can't use an expression of type 'A?' as a function because it's potentially null.
- - 'A' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try calling using ?.call instead.
-  a();
-   ^" in a.{self::A::call}();
-  let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:27:5: Error: Method 'toString' cannot be called on 'B?' because it is potentially null.
- - 'B' is from 'pkg/front_end/testcases/nnbd/nullable_receiver.dart'.
-Try calling using ?. instead.
-  b.toString(0);
-    ^^^^^^^^" in b.{self::B::toString}(0);
-  core::Function f1 = let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:29:17: Error: Can't tear off method 'call' from a potentially null value.
-  Function f1 = a;
-                ^" in a as{TypeError} core::Function;
-  () → void f2 = let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:30:24: Error: Can't tear off method 'call' from a potentially null value.
-  void Function() f2 = a;
-                       ^" in a as{TypeError} () → void;
-  () →? void f3 = let final<BottomType> #t10 = invalid-expression "pkg/front_end/testcases/nnbd/nullable_receiver.dart:31:25: Error: Can't tear off method 'call' from a potentially null value.
-  void Function()? f3 = a;
-                        ^" in a as{TypeError} () →? void;
-}
-static method ok<T extends core::Object? = core::Object?>(core::String? s, self::A? a, self::ok::T% t, self::B? b, core::Invocation i) → dynamic {
-  s.{core::Object::==}(s);
-  a.{core::Object::==}(a);
-  t.{core::Object::==}(t);
-  b.{core::Object::==}(b);
-  s.{core::Object::hashCode};
-  a.{core::Object::hashCode};
-  t.{core::Object::hashCode};
-  b.{core::Object::hashCode};
-  s.{core::Object::toString}();
-  a.{core::Object::toString}();
-  t.{core::Object::toString}();
-  b.{core::Object::toString}();
-  try {
-    s.{core::Object::noSuchMethod}(i);
-  }
-  on core::Object catch(final core::Object e, final core::StackTrace t) {
-  }
-  try {
-    a.{core::Object::noSuchMethod}(i);
-  }
-  on core::Object catch(final core::Object e, final core::StackTrace t) {
-  }
-  try {
-    t.{core::Object::noSuchMethod}(i);
-  }
-  on core::Object catch(final core::Object e, final core::StackTrace t) {
-  }
-  try {
-    b.{core::Object::noSuchMethod}(i);
-  }
-  on core::Object catch(final core::Object e, final core::StackTrace t) {
-  }
-  s.{core::Object::runtimeType};
-  a.{core::Object::runtimeType};
-  t.{core::Object::runtimeType};
-  b.{core::Object::runtimeType};
-}
-static method main() → dynamic {}
-
-constants  {
-  #C1 = 42
-}
diff --git a/pkg/front_end/testcases/nnbd/nullable_rhs_of_typedef.dart.outline.expect b/pkg/front_end/testcases/nnbd/nullable_rhs_of_typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nullable_rhs_of_typedef.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nullable_rhs_of_typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/nullable_setter.dart.outline.expect b/pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/nullable_setter.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/nullable_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/numbers.dart.outline.expect b/pkg/front_end/testcases/nnbd/numbers.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/numbers.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/numbers.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/numbers_inferred.dart.outline.expect b/pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/numbers_inferred.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/numbers_inferred.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/override_checks.dart.outline.expect b/pkg/front_end/testcases/nnbd/override_checks.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/override_checks.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/override_checks.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/override_inference.dart.outline.expect b/pkg/front_end/testcases/nnbd/override_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/override_inference.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/override_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/platform_definite_assignment/main.dart.outline.expect b/pkg/front_end/testcases/nnbd/platform_definite_assignment/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/platform_definite_assignment/main.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/platform_definite_assignment/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/platform_nonnullable_fields/main.dart.outline.expect b/pkg/front_end/testcases/nnbd/platform_nonnullable_fields/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/platform_nonnullable_fields/main.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/platform_nonnullable_fields/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.outline.expect b/pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/platform_optional_parameters/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/potentially_constant_type_as.dart.outline.expect b/pkg/front_end/testcases/nnbd/potentially_constant_type_as.dart.outline.expect
deleted file mode 100644
index 55b2345..0000000
--- a/pkg/front_end/testcases/nnbd/potentially_constant_type_as.dart.outline.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field self::Class::T% field;
-  const constructor •(dynamic value) → self::Class<self::Class::T%>
-    : self::Class::field = value as{ForNonNullableByDefault} self::Class::T%, super core::Object::•()
-    ;
-}
-class ClassWithBound<T extends core::num = core::num> extends core::Object /*hasConstConstructor*/  {
-  final field self::ClassWithBound::T field;
-  const constructor •() → self::ClassWithBound<self::ClassWithBound::T>
-    : self::ClassWithBound::field = self::three as{ForNonNullableByDefault} self::ClassWithBound::T, super core::Object::•()
-    ;
-  const constructor withValue(dynamic value) → self::ClassWithBound<self::ClassWithBound::T>
-    : self::ClassWithBound::field = value as{ForNonNullableByDefault} self::ClassWithBound::T, super core::Object::•()
-    ;
-}
-class ClassWithList<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::List<self::ClassWithList::T%> field;
-  const constructor •(dynamic value) → self::ClassWithList<self::ClassWithList::T%>
-    : self::ClassWithList::field = value as{ForNonNullableByDefault} core::List<self::ClassWithList::T%>, super core::Object::•()
-    ;
-}
-class ClassWithFunction<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field (self::ClassWithFunction::T%) → self::ClassWithFunction::T% field;
-  const constructor •(dynamic value) → self::ClassWithFunction<self::ClassWithFunction::T%>
-    : self::ClassWithFunction::field = value as{ForNonNullableByDefault} (self::ClassWithFunction::T%) → self::ClassWithFunction::T%, super core::Object::•()
-    ;
-}
-static const field core::num three = 3;
-static const field (core::int) → core::int idAsIntFunction = self::idFunction<core::int>;
-static method dynamicFunction(dynamic d) → dynamic
-  ;
-static method objectFunction(core::Object? o) → core::Object?
-  ;
-static method intFunction(core::int i) → core::int
-  ;
-static method idFunction<T extends core::Object? = dynamic>(self::idFunction::T% t) → self::idFunction::T%
-  ;
-static method main() → void
-  ;
-static method weakMode() → dynamic
-  ;
-static method errors() → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: StaticGet @ org-dartlang-testcase:///potentially_constant_type_as.dart:22:36 -> IntConstant(3)
-Evaluated: Instantiation @ org-dartlang-testcase:///potentially_constant_type_as.dart:11:43 -> PartialInstantiationConstant(idFunction<int>)
-Extra constant evaluation: evaluated: 11, effectively constant: 2
diff --git a/pkg/front_end/testcases/nnbd/potentially_constant_type_as.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/potentially_constant_type_as.dart.weak.outline.expect
new file mode 100644
index 0000000..391e7e9
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/potentially_constant_type_as.dart.weak.outline.expect
@@ -0,0 +1,53 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field self::Class::T% field;
+  const constructor •(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value as{ForNonNullableByDefault} self::Class::T%, super core::Object::•()
+    ;
+}
+class ClassWithBound<T extends core::num = core::num> extends core::Object /*hasConstConstructor*/  {
+  final field self::ClassWithBound::T field;
+  const constructor •() → self::ClassWithBound<self::ClassWithBound::T>
+    : self::ClassWithBound::field = self::three as{ForNonNullableByDefault} self::ClassWithBound::T, super core::Object::•()
+    ;
+  const constructor withValue(dynamic value) → self::ClassWithBound<self::ClassWithBound::T>
+    : self::ClassWithBound::field = value as{ForNonNullableByDefault} self::ClassWithBound::T, super core::Object::•()
+    ;
+}
+class ClassWithList<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::List<self::ClassWithList::T%> field;
+  const constructor •(dynamic value) → self::ClassWithList<self::ClassWithList::T%>
+    : self::ClassWithList::field = value as{ForNonNullableByDefault} core::List<self::ClassWithList::T%>, super core::Object::•()
+    ;
+}
+class ClassWithFunction<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field (self::ClassWithFunction::T%) → self::ClassWithFunction::T% field;
+  const constructor •(dynamic value) → self::ClassWithFunction<self::ClassWithFunction::T%>
+    : self::ClassWithFunction::field = value as{ForNonNullableByDefault} (self::ClassWithFunction::T%) → self::ClassWithFunction::T%, super core::Object::•()
+    ;
+}
+static const field core::num three = 3;
+static const field (core::int) → core::int idAsIntFunction = self::idFunction<core::int>;
+static method dynamicFunction(dynamic d) → dynamic
+  ;
+static method objectFunction(core::Object? o) → core::Object?
+  ;
+static method intFunction(core::int i) → core::int
+  ;
+static method idFunction<T extends core::Object? = dynamic>(self::idFunction::T% t) → self::idFunction::T%
+  ;
+static method main() → void
+  ;
+static method weakMode() → dynamic
+  ;
+static method errors() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///potentially_constant_type_as.dart:22:36 -> IntConstant(3)
+Evaluated: Instantiation @ org-dartlang-testcase:///potentially_constant_type_as.dart:11:43 -> PartialInstantiationConstant(idFunction<int*>)
+Extra constant evaluation: evaluated: 11, effectively constant: 2
diff --git a/pkg/front_end/testcases/nnbd/potentially_constant_type_is.dart.outline.expect b/pkg/front_end/testcases/nnbd/potentially_constant_type_is.dart.outline.expect
deleted file mode 100644
index b2e2658..0000000
--- a/pkg/front_end/testcases/nnbd/potentially_constant_type_is.dart.outline.expect
+++ /dev/null
@@ -1,49 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::bool field;
-  const constructor •(dynamic value) → self::Class<self::Class::T%>
-    : self::Class::field = value is{ForNonNullableByDefault} self::Class::T%, super core::Object::•()
-    ;
-}
-class ClassWithBound<T extends core::num = core::num> extends core::Object /*hasConstConstructor*/  {
-  final field core::bool field;
-  const constructor •() → self::ClassWithBound<self::ClassWithBound::T>
-    : self::ClassWithBound::field = self::three is{ForNonNullableByDefault} self::ClassWithBound::T, super core::Object::•()
-    ;
-  const constructor withValue(dynamic value) → self::ClassWithBound<self::ClassWithBound::T>
-    : self::ClassWithBound::field = value is{ForNonNullableByDefault} self::ClassWithBound::T, super core::Object::•()
-    ;
-}
-class ClassWithList<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::bool field;
-  const constructor •(dynamic value) → self::ClassWithList<self::ClassWithList::T%>
-    : self::ClassWithList::field = value is{ForNonNullableByDefault} core::List<self::ClassWithList::T%>, super core::Object::•()
-    ;
-}
-class ClassWithFunction<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field core::bool field;
-  const constructor •(dynamic value) → self::ClassWithFunction<self::ClassWithFunction::T%>
-    : self::ClassWithFunction::field = value is{ForNonNullableByDefault} (self::ClassWithFunction::T%) → self::ClassWithFunction::T%, super core::Object::•()
-    ;
-}
-static const field core::num three = 3;
-static const field (core::int) → core::int idAsIntFunction = self::idFunction<core::int>;
-static method dynamicFunction(dynamic d) → dynamic
-  ;
-static method objectFunction(core::Object? o) → core::Object?
-  ;
-static method intFunction(core::int i) → core::int
-  ;
-static method idFunction<T extends core::Object? = dynamic>(self::idFunction::T% t) → self::idFunction::T%
-  ;
-static method main() → void
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: StaticGet @ org-dartlang-testcase:///potentially_constant_type_is.dart:22:36 -> IntConstant(3)
-Evaluated: Instantiation @ org-dartlang-testcase:///potentially_constant_type_is.dart:11:43 -> PartialInstantiationConstant(idFunction<int>)
-Extra constant evaluation: evaluated: 11, effectively constant: 2
diff --git a/pkg/front_end/testcases/nnbd/potentially_constant_type_is.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/potentially_constant_type_is.dart.weak.outline.expect
new file mode 100644
index 0000000..90a132b
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/potentially_constant_type_is.dart.weak.outline.expect
@@ -0,0 +1,49 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool field;
+  const constructor •(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class::T%, super core::Object::•()
+    ;
+}
+class ClassWithBound<T extends core::num = core::num> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool field;
+  const constructor •() → self::ClassWithBound<self::ClassWithBound::T>
+    : self::ClassWithBound::field = self::three is{ForNonNullableByDefault} self::ClassWithBound::T, super core::Object::•()
+    ;
+  const constructor withValue(dynamic value) → self::ClassWithBound<self::ClassWithBound::T>
+    : self::ClassWithBound::field = value is{ForNonNullableByDefault} self::ClassWithBound::T, super core::Object::•()
+    ;
+}
+class ClassWithList<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool field;
+  const constructor •(dynamic value) → self::ClassWithList<self::ClassWithList::T%>
+    : self::ClassWithList::field = value is{ForNonNullableByDefault} core::List<self::ClassWithList::T%>, super core::Object::•()
+    ;
+}
+class ClassWithFunction<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool field;
+  const constructor •(dynamic value) → self::ClassWithFunction<self::ClassWithFunction::T%>
+    : self::ClassWithFunction::field = value is{ForNonNullableByDefault} (self::ClassWithFunction::T%) → self::ClassWithFunction::T%, super core::Object::•()
+    ;
+}
+static const field core::num three = 3;
+static const field (core::int) → core::int idAsIntFunction = self::idFunction<core::int>;
+static method dynamicFunction(dynamic d) → dynamic
+  ;
+static method objectFunction(core::Object? o) → core::Object?
+  ;
+static method intFunction(core::int i) → core::int
+  ;
+static method idFunction<T extends core::Object? = dynamic>(self::idFunction::T% t) → self::idFunction::T%
+  ;
+static method main() → void
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///potentially_constant_type_is.dart:22:36 -> IntConstant(3)
+Evaluated: Instantiation @ org-dartlang-testcase:///potentially_constant_type_is.dart:11:43 -> PartialInstantiationConstant(idFunction<int*>)
+Extra constant evaluation: evaluated: 11, effectively constant: 2
diff --git a/pkg/front_end/testcases/nnbd/potentially_non_nullable_field.dart.outline.expect b/pkg/front_end/testcases/nnbd/potentially_non_nullable_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/potentially_non_nullable_field.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/potentially_non_nullable_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.strong.transformed.expect
deleted file mode 100644
index f0ea1d5..0000000
--- a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.strong.transformed.expect
+++ /dev/null
@@ -1,356 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:20:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
-// var topLevelBinary = nullableInt + 0;
-//                                  ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:21:21: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-// var topLevelUnary = -nullableInt;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:22:35: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-// var topLevelIndexGet = nullableMap[0];
-//                                   ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:23:35: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-// var topLevelIndexSet = nullableMap[0] = 1;
-//                                   ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:24:38: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-// var topLevelIndexGetSet = nullableMap[0] += 1;
-//                                      ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:24:38: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-// var topLevelIndexGetSet = nullableMap[0] += 1;
-//                                      ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:25:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-// var topLevelPropertyGet = nullableClass.property;
-//                                         ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:26:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-// var topLevelPropertySet = nullableClass.property = 1;
-//                                         ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:27:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-// var topLevelPropertyGetSet = nullableClass.property += 1;
-//                                            ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:28:46: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try calling using ?. instead.
-// var topLevelMethodInvocation = nullableClass.method();
-//                                              ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:29:43: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-// var topLevelMethodTearOff = nullableClass.method;
-//                                           ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:30:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try calling using ?. instead.
-// var topLevelFunctionImplicitCall = nullableFunction();
-//                                                    ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:31:53: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try calling using ?. instead.
-// var topLevelFunctionExplicitCall = nullableFunction.call();
-//                                                     ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:32:48: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try accessing using ?. instead.
-// var topLevelFunctionTearOff = nullableFunction.call;
-//                                                ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:33:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-// Try calling using ?. instead.
-// var topLevelFunctionTypeImplicitCall = nullableFunctionType();
-//                                                            ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:34:61: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-// Try calling using ?. instead.
-// var topLevelFunctionTypeExplicitCall = nullableFunctionType.call();
-//                                                             ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:35:56: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
-// Try accessing using ?. instead.
-// var topLevelFunctionTypeTearOff = nullableFunctionType.call;
-//                                                        ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:38:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
-//   var localBinary = nullableInt + 0;
-//                                 ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:39:20: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-//   var localUnary = -nullableInt;
-//                    ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:40:34: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-//   var localIndexGet = nullableMap[0];
-//                                  ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:34: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-//   var localIndexSet = nullableMap[0] = 1;
-//                                  ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:37: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-//   var localIndexGetSet = nullableMap[0] += 1;
-//                                     ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:37: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-//   var localIndexGetSet = nullableMap[0] += 1;
-//                                     ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:43:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-//   var localPropertyGet = nullableClass.property;
-//                                        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-//   var localPropertySet = nullableClass.property = 1;
-//                                        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:45:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-//   var localPropertyGetSet = nullableClass.property += 1;
-//                                           ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:46:45: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try calling using ?. instead.
-//   var localMethodInvocation = nullableClass.method();
-//                                             ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:47:42: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-//   var localMethodTearOff = nullableClass.method;
-//                                          ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:48:51: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try calling using ?. instead.
-//   var localFunctionImplicitCall = nullableFunction();
-//                                                   ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:49:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try calling using ?. instead.
-//   var localFunctionExplicitCall = nullableFunction.call();
-//                                                    ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:50:47: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try accessing using ?. instead.
-//   var localFunctionTearOff = nullableFunction.call;
-//                                               ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:51:59: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-// Try calling using ?. instead.
-//   var localFunctionTypeImplicitCall = nullableFunctionType();
-//                                                           ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:52:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-// Try calling using ?. instead.
-//   var localFunctionTypeExplicitCall = nullableFunctionType.call();
-//                                                            ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:53:55: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
-// Try accessing using ?. instead.
-//   var localFunctionTypeTearOff = nullableFunctionType.call;
-//                                                       ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field core::int property = 0;
-  synthetic constructor •() → self::Class
-    : super core::Object::•()
-    ;
-  method method() → core::int
-    return 0;
-}
-static field core::num topLevelBinary = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:20:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
-var topLevelBinary = nullableInt + 0;
-                                 ^";
-static field core::int topLevelUnary = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:21:21: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-var topLevelUnary = -nullableInt;
-                    ^";
-static field dynamic topLevelIndexGet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:22:35: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-var topLevelIndexGet = nullableMap[0];
-                                  ^";
-static field core::int topLevelIndexSet = let final core::Map<dynamic, dynamic>? #t1 = self::nullableMap in let final core::int #t2 = 0 in let final core::int #t3 = 1 in let final void #t4 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:23:35: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-var topLevelIndexSet = nullableMap[0] = 1;
-                                  ^" in #t3;
-static field dynamic topLevelIndexGetSet = let final core::Map<dynamic, dynamic>? #t5 = self::nullableMap in let final core::int #t6 = 0 in let final dynamic #t7 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:24:38: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-var topLevelIndexGetSet = nullableMap[0] += 1;
-                                     ^".+(1) in let final void #t8 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:24:38: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-var topLevelIndexGetSet = nullableMap[0] += 1;
-                                     ^" in #t7;
-static field core::int topLevelPropertyGet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:25:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-var topLevelPropertyGet = nullableClass.property;
-                                        ^^^^^^^^";
-static field core::int topLevelPropertySet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:26:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-var topLevelPropertySet = nullableClass.property = 1;
-                                        ^^^^^^^^";
-static field core::int topLevelPropertyGetSet = let final self::Class? #t9 = self::nullableClass in invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:27:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-var topLevelPropertyGetSet = nullableClass.property += 1;
-                                           ^^^^^^^^";
-static field dynamic topLevelMethodInvocation = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:28:46: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try calling using ?. instead.
-var topLevelMethodInvocation = nullableClass.method();
-                                             ^^^^^^";
-static field () → core::int topLevelMethodTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:29:43: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-var topLevelMethodTearOff = nullableClass.method;
-                                          ^^^^^^";
-static field dynamic topLevelFunctionImplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:30:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try calling using ?. instead.
-var topLevelFunctionImplicitCall = nullableFunction();
-                                                   ^";
-static field dynamic topLevelFunctionExplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:31:53: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try calling using ?. instead.
-var topLevelFunctionExplicitCall = nullableFunction.call();
-                                                    ^^^^";
-static field core::Function? topLevelFunctionTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:32:48: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try accessing using ?. instead.
-var topLevelFunctionTearOff = nullableFunction.call;
-                                               ^^^^";
-static field dynamic topLevelFunctionTypeImplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:33:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-Try calling using ?. instead.
-var topLevelFunctionTypeImplicitCall = nullableFunctionType();
-                                                           ^";
-static field dynamic topLevelFunctionTypeExplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:34:61: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-Try calling using ?. instead.
-var topLevelFunctionTypeExplicitCall = nullableFunctionType.call();
-                                                            ^^^^";
-static field () →? void topLevelFunctionTypeTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:35:56: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
-Try accessing using ?. instead.
-var topLevelFunctionTypeTearOff = nullableFunctionType.call;
-                                                       ^^^^";
-static get nullableFunction() → core::Function?
-  return () → core::Null? {};
-static get nullableFunctionType() → () →? void
-  return () → core::Null? {};
-static get nullableInt() → core::int?
-  return 0;
-static get nullableMap() → core::Map<dynamic, dynamic>?
-  return <dynamic, dynamic>{};
-static get nullableClass() → self::Class?
-  return new self::Class::•();
-static method test() → dynamic {
-  core::num localBinary = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:38:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
-  var localBinary = nullableInt + 0;
-                                ^";
-  core::int localUnary = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:39:20: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-  var localUnary = -nullableInt;
-                   ^";
-  dynamic localIndexGet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:40:34: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-  var localIndexGet = nullableMap[0];
-                                 ^";
-  core::int localIndexSet = let final core::Map<dynamic, dynamic>? #t10 = self::nullableMap in let final core::int #t11 = 0 in let final core::int #t12 = 1 in let final void #t13 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:34: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-  var localIndexSet = nullableMap[0] = 1;
-                                 ^" in #t12;
-  dynamic localIndexGetSet = let final core::Map<dynamic, dynamic>? #t14 = self::nullableMap in let final core::int #t15 = 0 in let final dynamic #t16 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:37: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-  var localIndexGetSet = nullableMap[0] += 1;
-                                    ^".+(1) in let final void #t17 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:37: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-  var localIndexGetSet = nullableMap[0] += 1;
-                                    ^" in #t16;
-  core::int localPropertyGet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:43:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-  var localPropertyGet = nullableClass.property;
-                                       ^^^^^^^^";
-  core::int localPropertySet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-  var localPropertySet = nullableClass.property = 1;
-                                       ^^^^^^^^";
-  core::int localPropertyGetSet = let final self::Class? #t18 = self::nullableClass in invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:45:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-  var localPropertyGetSet = nullableClass.property += 1;
-                                          ^^^^^^^^";
-  dynamic localMethodInvocation = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:46:45: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try calling using ?. instead.
-  var localMethodInvocation = nullableClass.method();
-                                            ^^^^^^";
-  () → core::int localMethodTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:47:42: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-  var localMethodTearOff = nullableClass.method;
-                                         ^^^^^^";
-  dynamic localFunctionImplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:48:51: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try calling using ?. instead.
-  var localFunctionImplicitCall = nullableFunction();
-                                                  ^";
-  dynamic localFunctionExplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:49:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try calling using ?. instead.
-  var localFunctionExplicitCall = nullableFunction.call();
-                                                   ^^^^";
-  core::Function? localFunctionTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:50:47: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try accessing using ?. instead.
-  var localFunctionTearOff = nullableFunction.call;
-                                              ^^^^";
-  dynamic localFunctionTypeImplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:51:59: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-Try calling using ?. instead.
-  var localFunctionTypeImplicitCall = nullableFunctionType();
-                                                          ^";
-  dynamic localFunctionTypeExplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:52:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-Try calling using ?. instead.
-  var localFunctionTypeExplicitCall = nullableFunctionType.call();
-                                                           ^^^^";
-  () →? void localFunctionTypeTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:53:55: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
-Try accessing using ?. instead.
-  var localFunctionTypeTearOff = nullableFunctionType.call;
-                                                      ^^^^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.outline.expect b/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.transformed.expect
deleted file mode 100644
index f0ea1d5..0000000
--- a/pkg/front_end/testcases/nnbd/potentially_nullable_access.dart.weak.transformed.expect
+++ /dev/null
@@ -1,356 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:20:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
-// var topLevelBinary = nullableInt + 0;
-//                                  ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:21:21: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-// var topLevelUnary = -nullableInt;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:22:35: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-// var topLevelIndexGet = nullableMap[0];
-//                                   ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:23:35: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-// var topLevelIndexSet = nullableMap[0] = 1;
-//                                   ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:24:38: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-// var topLevelIndexGetSet = nullableMap[0] += 1;
-//                                      ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:24:38: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-// var topLevelIndexGetSet = nullableMap[0] += 1;
-//                                      ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:25:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-// var topLevelPropertyGet = nullableClass.property;
-//                                         ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:26:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-// var topLevelPropertySet = nullableClass.property = 1;
-//                                         ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:27:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-// var topLevelPropertyGetSet = nullableClass.property += 1;
-//                                            ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:28:46: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try calling using ?. instead.
-// var topLevelMethodInvocation = nullableClass.method();
-//                                              ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:29:43: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-// var topLevelMethodTearOff = nullableClass.method;
-//                                           ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:30:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try calling using ?. instead.
-// var topLevelFunctionImplicitCall = nullableFunction();
-//                                                    ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:31:53: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try calling using ?. instead.
-// var topLevelFunctionExplicitCall = nullableFunction.call();
-//                                                     ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:32:48: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try accessing using ?. instead.
-// var topLevelFunctionTearOff = nullableFunction.call;
-//                                                ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:33:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-// Try calling using ?. instead.
-// var topLevelFunctionTypeImplicitCall = nullableFunctionType();
-//                                                            ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:34:61: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-// Try calling using ?. instead.
-// var topLevelFunctionTypeExplicitCall = nullableFunctionType.call();
-//                                                             ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:35:56: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
-// Try accessing using ?. instead.
-// var topLevelFunctionTypeTearOff = nullableFunctionType.call;
-//                                                        ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:38:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
-//   var localBinary = nullableInt + 0;
-//                                 ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:39:20: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-//   var localUnary = -nullableInt;
-//                    ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:40:34: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-//   var localIndexGet = nullableMap[0];
-//                                  ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:34: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-//   var localIndexSet = nullableMap[0] = 1;
-//                                  ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:37: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-//   var localIndexGetSet = nullableMap[0] += 1;
-//                                     ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:37: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
-//  - 'Map' is from 'dart:core'.
-//   var localIndexGetSet = nullableMap[0] += 1;
-//                                     ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:43:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-//   var localPropertyGet = nullableClass.property;
-//                                        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-//   var localPropertySet = nullableClass.property = 1;
-//                                        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:45:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-//   var localPropertyGetSet = nullableClass.property += 1;
-//                                           ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:46:45: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try calling using ?. instead.
-//   var localMethodInvocation = nullableClass.method();
-//                                             ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:47:42: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
-//  - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-// Try accessing using ?. instead.
-//   var localMethodTearOff = nullableClass.method;
-//                                          ^^^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:48:51: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try calling using ?. instead.
-//   var localFunctionImplicitCall = nullableFunction();
-//                                                   ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:49:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try calling using ?. instead.
-//   var localFunctionExplicitCall = nullableFunction.call();
-//                                                    ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:50:47: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
-//  - 'Function' is from 'dart:core'.
-// Try accessing using ?. instead.
-//   var localFunctionTearOff = nullableFunction.call;
-//                                               ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:51:59: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-// Try calling using ?. instead.
-//   var localFunctionTypeImplicitCall = nullableFunctionType();
-//                                                           ^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:52:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-// Try calling using ?. instead.
-//   var localFunctionTypeExplicitCall = nullableFunctionType.call();
-//                                                            ^^^^
-//
-// pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:53:55: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
-// Try accessing using ?. instead.
-//   var localFunctionTypeTearOff = nullableFunctionType.call;
-//                                                       ^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field core::int property = 0;
-  synthetic constructor •() → self::Class
-    : super core::Object::•()
-    ;
-  method method() → core::int
-    return 0;
-}
-static field core::num topLevelBinary = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:20:34: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
-var topLevelBinary = nullableInt + 0;
-                                 ^";
-static field core::int topLevelUnary = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:21:21: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-var topLevelUnary = -nullableInt;
-                    ^";
-static field dynamic topLevelIndexGet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:22:35: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-var topLevelIndexGet = nullableMap[0];
-                                  ^";
-static field core::int topLevelIndexSet = let final core::Map<dynamic, dynamic>? #t1 = self::nullableMap in let final core::int #t2 = 0 in let final core::int #t3 = 1 in let final void #t4 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:23:35: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-var topLevelIndexSet = nullableMap[0] = 1;
-                                  ^" in #t3;
-static field dynamic topLevelIndexGetSet = let final core::Map<dynamic, dynamic>? #t5 = self::nullableMap in let final core::int #t6 = 0 in let final dynamic #t7 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:24:38: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-var topLevelIndexGetSet = nullableMap[0] += 1;
-                                     ^".+(1) in let final void #t8 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:24:38: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-var topLevelIndexGetSet = nullableMap[0] += 1;
-                                     ^" in #t7;
-static field core::int topLevelPropertyGet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:25:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-var topLevelPropertyGet = nullableClass.property;
-                                        ^^^^^^^^";
-static field core::int topLevelPropertySet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:26:41: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-var topLevelPropertySet = nullableClass.property = 1;
-                                        ^^^^^^^^";
-static field core::int topLevelPropertyGetSet = let final self::Class? #t9 = self::nullableClass in invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:27:44: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-var topLevelPropertyGetSet = nullableClass.property += 1;
-                                           ^^^^^^^^";
-static field dynamic topLevelMethodInvocation = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:28:46: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try calling using ?. instead.
-var topLevelMethodInvocation = nullableClass.method();
-                                             ^^^^^^";
-static field () → core::int topLevelMethodTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:29:43: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-var topLevelMethodTearOff = nullableClass.method;
-                                          ^^^^^^";
-static field dynamic topLevelFunctionImplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:30:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try calling using ?. instead.
-var topLevelFunctionImplicitCall = nullableFunction();
-                                                   ^";
-static field dynamic topLevelFunctionExplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:31:53: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try calling using ?. instead.
-var topLevelFunctionExplicitCall = nullableFunction.call();
-                                                    ^^^^";
-static field core::Function? topLevelFunctionTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:32:48: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try accessing using ?. instead.
-var topLevelFunctionTearOff = nullableFunction.call;
-                                               ^^^^";
-static field dynamic topLevelFunctionTypeImplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:33:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-Try calling using ?. instead.
-var topLevelFunctionTypeImplicitCall = nullableFunctionType();
-                                                           ^";
-static field dynamic topLevelFunctionTypeExplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:34:61: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-Try calling using ?. instead.
-var topLevelFunctionTypeExplicitCall = nullableFunctionType.call();
-                                                            ^^^^";
-static field () →? void topLevelFunctionTypeTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:35:56: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
-Try accessing using ?. instead.
-var topLevelFunctionTypeTearOff = nullableFunctionType.call;
-                                                       ^^^^";
-static get nullableFunction() → core::Function?
-  return () → core::Null? {};
-static get nullableFunctionType() → () →? void
-  return () → core::Null? {};
-static get nullableInt() → core::int?
-  return 0;
-static get nullableMap() → core::Map<dynamic, dynamic>?
-  return <dynamic, dynamic>{};
-static get nullableClass() → self::Class?
-  return new self::Class::•();
-static method test() → dynamic {
-  core::num localBinary = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:38:33: Error: Operator '+' cannot be called on 'int?' because it is potentially null.
-  var localBinary = nullableInt + 0;
-                                ^";
-  core::int localUnary = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:39:20: Error: Operator 'unary-' cannot be called on 'int?' because it is potentially null.
-  var localUnary = -nullableInt;
-                   ^";
-  dynamic localIndexGet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:40:34: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-  var localIndexGet = nullableMap[0];
-                                 ^";
-  core::int localIndexSet = let final core::Map<dynamic, dynamic>? #t10 = self::nullableMap in let final core::int #t11 = 0 in let final core::int #t12 = 1 in let final void #t13 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:41:34: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-  var localIndexSet = nullableMap[0] = 1;
-                                 ^" in #t12;
-  dynamic localIndexGetSet = let final core::Map<dynamic, dynamic>? #t14 = self::nullableMap in let final core::int #t15 = 0 in let final dynamic #t16 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:37: Error: Operator '[]' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-  var localIndexGetSet = nullableMap[0] += 1;
-                                    ^".+(1) in let final void #t17 = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:42:37: Error: Operator '[]=' cannot be called on 'Map<dynamic, dynamic>?' because it is potentially null.
- - 'Map' is from 'dart:core'.
-  var localIndexGetSet = nullableMap[0] += 1;
-                                    ^" in #t16;
-  core::int localPropertyGet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:43:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-  var localPropertyGet = nullableClass.property;
-                                       ^^^^^^^^";
-  core::int localPropertySet = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:44:40: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-  var localPropertySet = nullableClass.property = 1;
-                                       ^^^^^^^^";
-  core::int localPropertyGetSet = let final self::Class? #t18 = self::nullableClass in invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:45:43: Error: Property 'property' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-  var localPropertyGetSet = nullableClass.property += 1;
-                                          ^^^^^^^^";
-  dynamic localMethodInvocation = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:46:45: Error: Method 'method' cannot be called on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try calling using ?. instead.
-  var localMethodInvocation = nullableClass.method();
-                                            ^^^^^^";
-  () → core::int localMethodTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:47:42: Error: Property 'method' cannot be accessed on 'Class?' because it is potentially null.
- - 'Class' is from 'pkg/front_end/testcases/nnbd/potentially_nullable_access.dart'.
-Try accessing using ?. instead.
-  var localMethodTearOff = nullableClass.method;
-                                         ^^^^^^";
-  dynamic localFunctionImplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:48:51: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try calling using ?. instead.
-  var localFunctionImplicitCall = nullableFunction();
-                                                  ^";
-  dynamic localFunctionExplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:49:52: Error: Method 'call' cannot be called on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try calling using ?. instead.
-  var localFunctionExplicitCall = nullableFunction.call();
-                                                   ^^^^";
-  core::Function? localFunctionTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:50:47: Error: Property 'call' cannot be accessed on 'Function?' because it is potentially null.
- - 'Function' is from 'dart:core'.
-Try accessing using ?. instead.
-  var localFunctionTearOff = nullableFunction.call;
-                                              ^^^^";
-  dynamic localFunctionTypeImplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:51:59: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-Try calling using ?. instead.
-  var localFunctionTypeImplicitCall = nullableFunctionType();
-                                                          ^";
-  dynamic localFunctionTypeExplicitCall = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:52:60: Error: Method 'call' cannot be called on 'void Function()?' because it is potentially null.
-Try calling using ?. instead.
-  var localFunctionTypeExplicitCall = nullableFunctionType.call();
-                                                           ^^^^";
-  () →? void localFunctionTypeTearOff = invalid-expression "pkg/front_end/testcases/nnbd/potentially_nullable_access.dart:53:55: Error: Property 'call' cannot be accessed on 'void Function()?' because it is potentially null.
-Try accessing using ?. instead.
-  var localFunctionTypeTearOff = nullableFunctionType.call;
-                                                      ^^^^";
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.outline.expect b/pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/pure_index_expressions.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/pure_index_expressions.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.outline.expect b/pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/redundant_type_casts.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/redundant_type_casts.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/required.dart.hierarchy.expect b/pkg/front_end/testcases/nnbd/required.dart.hierarchy.expect
deleted file mode 100644
index 339927f..0000000
--- a/pkg/front_end/testcases/nnbd/required.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Class:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Class.method
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/nnbd/required.dart.outline.expect b/pkg/front_end/testcases/nnbd/required.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/required.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/required.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/required_named_parameter.dart.outline.expect b/pkg/front_end/testcases/nnbd/required_named_parameter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/required_named_parameter.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/required_named_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/return_async.dart.outline.expect b/pkg/front_end/testcases/nnbd/return_async.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/return_async.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/return_async.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/return_late.dart.outline.expect b/pkg/front_end/testcases/nnbd/return_late.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/return_late.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/return_late.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.outline.expect b/pkg/front_end/testcases/nnbd/return_null.dart.outline.expect
deleted file mode 100644
index d70d113..0000000
--- a/pkg/front_end/testcases/nnbd/return_null.dart.outline.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-
-class Enum extends core::Object /*isEnum*/  {
-  final field core::int index;
-  final field core::String _name;
-  static const field core::List<self::Enum> values = const <self::Enum>[self::Enum::a, self::Enum::b];
-  static const field self::Enum a = const self::Enum::•(0, "Enum.a");
-  static const field self::Enum b = const self::Enum::•(1, "Enum.b");
-  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};
-}
-static method returnImplicit() → core::String
-  ;
-static method returnExplicit() → core::String
-  ;
-static method returnMixed(core::bool b) → core::String
-  ;
-static method returnAsync1() → asy::Future<dynamic> async 
-  ;
-static method returnAsync2() → FutureOr<dynamic> async 
-  ;
-static method returnAsync3() → FutureOr<core::int> async 
-  ;
-static method returnAsync4() → FutureOr<core::int?> async 
-  ;
-static method returnAsync5() → dynamic async 
-  ;
-static method returnAsync6() → asy::Future<core::int?> async 
-  ;
-static method returnAsync7() → asy::Future<core::int?> async 
-  ;
-static method yieldSync() → core::Iterable<dynamic> sync* 
-  ;
-static method yieldAsync() → asy::Stream<dynamic> async* 
-  ;
-static method caseReturn1(self::Enum e) → self::Enum
-  ;
-static method caseReturn2(self::Enum e) → self::Enum
-  ;
-static method localFunctions() → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: ListLiteral @ org-dartlang-testcase:///return_null.dart:43:6 -> ListConstant(const <Enum>[const Enum{Enum.index: 0, Enum._name: "Enum.a"}, const Enum{Enum.index: 1, Enum._name: "Enum.b"}])
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///return_null.dart:43:13 -> InstanceConstant(const Enum{Enum.index: 0, Enum._name: "Enum.a"})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///return_null.dart:43:16 -> InstanceConstant(const Enum{Enum.index: 1, Enum._name: "Enum.b"})
-Extra constant evaluation: evaluated: 7, effectively constant: 3
diff --git a/pkg/front_end/testcases/nnbd/return_null.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/return_null.dart.weak.outline.expect
new file mode 100644
index 0000000..0db3cd1
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/return_null.dart.weak.outline.expect
@@ -0,0 +1,58 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:async" as asy;
+
+import "dart:async";
+
+class Enum extends core::Object /*isEnum*/  {
+  final field core::int index;
+  final field core::String _name;
+  static const field core::List<self::Enum> values = const <self::Enum>[self::Enum::a, self::Enum::b];
+  static const field self::Enum a = const self::Enum::•(0, "Enum.a");
+  static const field self::Enum b = const self::Enum::•(1, "Enum.b");
+  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};
+}
+static method returnImplicit() → core::String
+  ;
+static method returnExplicit() → core::String
+  ;
+static method returnMixed(core::bool b) → core::String
+  ;
+static method returnAsync1() → asy::Future<dynamic> async 
+  ;
+static method returnAsync2() → FutureOr<dynamic> async 
+  ;
+static method returnAsync3() → FutureOr<core::int> async 
+  ;
+static method returnAsync4() → FutureOr<core::int?> async 
+  ;
+static method returnAsync5() → dynamic async 
+  ;
+static method returnAsync6() → asy::Future<core::int?> async 
+  ;
+static method returnAsync7() → asy::Future<core::int?> async 
+  ;
+static method yieldSync() → core::Iterable<dynamic> sync* 
+  ;
+static method yieldAsync() → asy::Stream<dynamic> async* 
+  ;
+static method caseReturn1(self::Enum e) → self::Enum
+  ;
+static method caseReturn2(self::Enum e) → self::Enum
+  ;
+static method localFunctions() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///return_null.dart:43:6 -> ListConstant(const <Enum*>[const Enum{Enum.index: 0, Enum._name: "Enum.a"}, const Enum{Enum.index: 1, Enum._name: "Enum.b"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///return_null.dart:43:13 -> InstanceConstant(const Enum{Enum.index: 0, Enum._name: "Enum.a"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///return_null.dart:43:16 -> InstanceConstant(const Enum{Enum.index: 1, Enum._name: "Enum.b"})
+Extra constant evaluation: evaluated: 7, effectively constant: 3
diff --git a/pkg/front_end/testcases/nnbd/shorting_null_check.dart.outline.expect b/pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/shorting_null_check.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/shorting_null_check.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/shorting_stop.dart.outline.expect b/pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/shorting_stop.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/shorting_stop.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/simple_never.dart.outline.expect b/pkg/front_end/testcases/nnbd/simple_never.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/simple_never.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/simple_never.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.outline.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/spread_if_null.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.outline.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong.dart.outline.expect b/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong.dart.outline.expect
deleted file mode 100644
index 953b07d..0000000
--- a/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong.dart.outline.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong_lib.dart: Error: A library can't opt out of null safety by default, when using sound null safety.
-//
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "org-dartlang-testcase:///strong_lib.dart";
-
-static method main() → dynamic
-  ;
-
-library;
-import self as self2;
-import "dart:core" as core;
-
-static field core::int* x;
-static method foo() → void
-  ;
diff --git a/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong.dart.weak.outline.expect
new file mode 100644
index 0000000..cc211a0
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_dill/strong.dart.weak.outline.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "org-dartlang-testcase:///strong_lib.dart";
+
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+static field core::int* x;
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong.dart.outline.expect b/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong.dart.outline.expect
deleted file mode 100644
index f0ae2dc..0000000
--- a/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong.dart.outline.expect
+++ /dev/null
@@ -1,22 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "org-dartlang-testcase:///strong_lib.dart";
-
-static method main() → dynamic
-  ;
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong_lib.dart:1:1: Error: A library can't opt out of null safety by default, when using sound null safety.
-// // @dart = 2.7
-// ^^^^^^^^^^^^^^
-//
-import self as self2;
-import "dart:core" as core;
-
-static field core::int* x;
-static method foo() → void
-  ;
diff --git a/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong.dart.weak.outline.expect
new file mode 100644
index 0000000..cc211a0
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/strong_lib_not_ok_from_source/strong.dart.weak.outline.expect
@@ -0,0 +1,15 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "org-dartlang-testcase:///strong_lib.dart";
+
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+static field core::int* x;
+static method foo() → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd/strong_ok_from_dill/strong.dart.outline.expect b/pkg/front_end/testcases/nnbd/strong_ok_from_dill/strong.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/strong_ok_from_dill/strong.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/strong_ok_from_dill/strong.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/strong_ok_from_source/strong.dart.outline.expect b/pkg/front_end/testcases/nnbd/strong_ok_from_source/strong.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/strong_ok_from_source/strong.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/strong_ok_from_source/strong.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_dill/strong.dart.outline.expect b/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_dill/strong.dart.outline.expect
deleted file mode 100644
index 6f3562f..0000000
--- a/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_dill/strong.dart.outline.expect
+++ /dev/null
@@ -1,23 +0,0 @@
-//
-// Problems in component:
-//
-// Error: Cannot run with sound null safety, because the following dependencies
-// don't support null safety:
-//
-//  - package:opt_in_package/opt_out_lib.dart
-//  - package:opt_out_package
-//
-// For solutions, see https://dart.dev/go/unsound-null-safety
-//
-// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_dill/opt_in_package/lib/opt_in_lib.dart: Error: Loaded library is compiled with unsound null safety and cannot be used in compilation for sound null safety.
-//
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "package:opt_in_package/opt_in_lib.dart";
-import "package:opt_in_package/opt_out_lib.dart";
-import "package:opt_out_package/regular_lib1.dart";
-import "package:opt_out_package/regular_lib2.dart";
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_dill/strong.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_dill/strong.dart.weak.outline.expect
new file mode 100644
index 0000000..77705e8
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_dill/strong.dart.weak.outline.expect
@@ -0,0 +1,10 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "package:opt_in_package/opt_in_lib.dart";
+import "package:opt_in_package/opt_out_lib.dart";
+import "package:opt_out_package/regular_lib1.dart";
+import "package:opt_out_package/regular_lib2.dart";
+
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/strong.dart.outline.expect b/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/strong.dart.outline.expect
deleted file mode 100644
index 967b08d..0000000
--- a/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/strong.dart.outline.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-//
-// Problems outside component:
-//
-// pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/opt_in_package/lib/opt_out_lib.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
-// // @dart=2.7
-// ^^^^^^^^^^^^
-//
-//
-// Problems in component:
-//
-// Error: Cannot run with sound null safety, because the following dependencies
-// don't support null safety:
-//
-//  - package:opt_out_package
-//
-// For solutions, see https://dart.dev/go/unsound-null-safety
-//
-library /*isNonNullableByDefault*/;
-import self as self;
-
-import "package:opt_in_package/opt_in_lib.dart";
-import "package:opt_in_package/opt_out_lib.dart";
-import "package:opt_out_package/regular_lib1.dart";
-import "package:opt_out_package/regular_lib2.dart";
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/strong.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/strong.dart.weak.outline.expect
new file mode 100644
index 0000000..77705e8
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/strong_package_not_ok_from_source/strong.dart.weak.outline.expect
@@ -0,0 +1,10 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "package:opt_in_package/opt_in_lib.dart";
+import "package:opt_in_package/opt_out_lib.dart";
+import "package:opt_out_package/regular_lib1.dart";
+import "package:opt_out_package/regular_lib2.dart";
+
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd/substitution_in_inference.dart.outline.expect b/pkg/front_end/testcases/nnbd/substitution_in_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/substitution_in_inference.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/substitution_in_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.outline.expect b/pkg/front_end/testcases/nnbd/super_bounded_hint.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/super_bounded_hint.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/super_bounded_hint.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.outline.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.outline.expect
deleted file mode 100644
index 0c1c54e..0000000
--- a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.outline.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-class Enum extends core::Object /*isEnum*/  {
-  final field core::int index;
-  final field core::String _name;
-  static const field core::List<self::Enum> values = const <self::Enum>[self::Enum::e1, self::Enum::e2];
-  static const field self::Enum e1 = const self::Enum::•(0, "Enum.e1");
-  static const field self::Enum e2 = const self::Enum::•(1, "Enum.e2");
-  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};
-}
-static method method1(self::Enum? e) → core::int
-  ;
-static method method2(self::Enum? e) → core::int
-  ;
-static method method3(self::Enum? e) → core::int
-  ;
-static method method4(self::Enum? e) → core::int
-  ;
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual) → dynamic
-  ;
-
-
-Extra constant evaluation status:
-Evaluated: ListLiteral @ org-dartlang-testcase:///switch_nullable_enum.dart:5:6 -> ListConstant(const <Enum>[const Enum{Enum.index: 0, Enum._name: "Enum.e1"}, const Enum{Enum.index: 1, Enum._name: "Enum.e2"}])
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///switch_nullable_enum.dart:5:13 -> InstanceConstant(const Enum{Enum.index: 0, Enum._name: "Enum.e1"})
-Evaluated: ConstructorInvocation @ org-dartlang-testcase:///switch_nullable_enum.dart:5:17 -> InstanceConstant(const Enum{Enum.index: 1, Enum._name: "Enum.e2"})
-Extra constant evaluation: evaluated: 7, effectively constant: 3
diff --git a/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.outline.expect
new file mode 100644
index 0000000..5e2d3c5
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd/switch_nullable_enum.dart.weak.outline.expect
@@ -0,0 +1,37 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Enum extends core::Object /*isEnum*/  {
+  final field core::int index;
+  final field core::String _name;
+  static const field core::List<self::Enum> values = const <self::Enum>[self::Enum::e1, self::Enum::e2];
+  static const field self::Enum e1 = const self::Enum::•(0, "Enum.e1");
+  static const field self::Enum e2 = const self::Enum::•(1, "Enum.e2");
+  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};
+}
+static method method1(self::Enum? e) → core::int
+  ;
+static method method2(self::Enum? e) → core::int
+  ;
+static method method3(self::Enum? e) → core::int
+  ;
+static method method4(self::Enum? e) → core::int
+  ;
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///switch_nullable_enum.dart:5:6 -> ListConstant(const <Enum*>[const Enum{Enum.index: 0, Enum._name: "Enum.e1"}, const Enum{Enum.index: 1, Enum._name: "Enum.e2"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///switch_nullable_enum.dart:5:13 -> InstanceConstant(const Enum{Enum.index: 0, Enum._name: "Enum.e1"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///switch_nullable_enum.dart:5:17 -> InstanceConstant(const Enum{Enum.index: 1, Enum._name: "Enum.e2"})
+Extra constant evaluation: evaluated: 7, effectively constant: 3
diff --git a/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.outline.expect b/pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/switch_redesign_fall_over.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/switch_redesign_types.dart.outline.expect b/pkg/front_end/testcases/nnbd/switch_redesign_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/switch_redesign_types.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/switch_redesign_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.outline.expect b/pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/tearoff_from_nullable_receiver.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/type_constraint_solving_closures_in_upper_and_lower_bounds.dart.outline.expect b/pkg/front_end/testcases/nnbd/type_constraint_solving_closures_in_upper_and_lower_bounds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/type_constraint_solving_closures_in_upper_and_lower_bounds.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/type_constraint_solving_closures_in_upper_and_lower_bounds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/type_parameter_types.dart.outline.expect b/pkg/front_end/testcases/nnbd/type_parameter_types.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/type_parameter_types.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/type_parameter_types.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/uninitialized_non_nullable_late_fields.dart.outline.expect b/pkg/front_end/testcases/nnbd/uninitialized_non_nullable_late_fields.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/uninitialized_non_nullable_late_fields.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/uninitialized_non_nullable_late_fields.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.outline.expect b/pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.outline.expect
rename to pkg/front_end/testcases/nnbd/upper_bound_on_promoted_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart.weak.outline.expect
new file mode 100644
index 0000000..5b5abc7
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart.weak.outline.expect
@@ -0,0 +1,659 @@
+//
+// Problems in component:
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart:15:7: Error: 'B with MixinB' can't implement both 'B<num>' and 'B<int>'
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2c extends B<num> with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart:19:7: Error: 'B with MixinB' can't implement both 'B<Object>' and 'B<dynamic>'
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'Object' is from 'dart:core'.
+// class Class2e extends B<Object> with MixinB<dynamic> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart:23:7: Error: 'C with MixinC' can't implement both 'C<num, num>' and 'C<num, int>'
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class3b extends C<num, num> with MixinC<num, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:23:7: Error: 'B with MixinB' can't implement both 'B<int?>' and 'B<int>'
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2b extends B<int?> with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:25:7: Error: 'B with MixinB' can't implement both 'B<num>' and 'B<int>'
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2c extends B<num> with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:29:7: Error: 'B with MixinB' can't implement both 'B<Object>' and 'B<dynamic>'
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'Object' is from 'dart:core'.
+// class Class2e extends B<Object> with MixinB<dynamic> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:35:7: Error: 'C with MixinC' can't implement both 'C<num, num>' and 'C<num, int>'
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class3b extends C<num, num> with MixinC<num, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:37:7: Error: 'C with MixinC' can't implement both 'C<num?, int>' and 'C<num, int>'
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class3c extends C<num?, int> with MixinC<num, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:49:7: Error: 'ClassBa with MixinB' can't implement both 'B<int?>' and 'B<int>'
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class4a extends ClassBa with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:53:7: Error: 'ClassBb with MixinB' can't implement both 'B<int>' and 'B<int?>'
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class4c extends ClassBb with MixinB<int?> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:57:7: Error: 'ClassCa with MixinC' can't implement both 'C<num?, int?>' and 'C<num?, int>'
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class5a extends ClassCa with MixinC<num?, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:61:7: Error: 'ClassCb with MixinC' can't implement both 'C<num?, int>' and 'C<num?, int?>'
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class5c extends ClassCb with MixinC<num?, int?> {} // error
+//       ^
+//
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart:9:7: Error: 'Object' doesn't implement 'A' so it can't be used with 'MixinA'.
+//  - 'Object' is from 'dart:core'.
+//  - 'A' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinA' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class1a extends Object with MixinA {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart:13:7: Error: 'Object' doesn't implement 'B<int>' so it can't be used with 'MixinB<int>'.
+//  - 'Object' is from 'dart:core'.
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinB' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2a extends Object with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart:15:7: Error: 'B<num>' doesn't implement 'B<int>' so it can't be used with 'MixinB<int>'.
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinB' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2c extends B<num> with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart:21:7: Error: 'Object' doesn't implement 'C<num, int>' so it can't be used with 'MixinC<num, int>'.
+//  - 'Object' is from 'dart:core'.
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinC' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class3a extends Object with MixinC<num, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins.dart:23:7: Error: 'C<num, num>' doesn't implement 'C<num, int>' so it can't be used with 'MixinC<num, int>'.
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinC' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class3b extends C<num, num> with MixinC<num, int> {} // error
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+import "bad_mixins_lib.dart" as bad;
+
+import "org-dartlang-testcase:///bad_mixins_lib.dart";
+
+abstract class _Class1a&Object&MixinA = core::Object with bad::MixinA /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Class1a&Object&MixinA*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class1a extends self::_Class1a&Object&MixinA {
+  synthetic constructor •() → self::Class1a*
+    ;
+}
+abstract class _Class1b&A&MixinA = bad::A with bad::MixinA /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class1b&A&MixinA*
+    : super bad::A::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class1b extends self::_Class1b&A&MixinA {
+  synthetic constructor •() → self::Class1b*
+    ;
+}
+abstract class _Class2a&Object&MixinB = core::Object with bad::MixinB<core::int*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Class2a&Object&MixinB*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class2a extends self::_Class2a&Object&MixinB {
+  synthetic constructor •() → self::Class2a*
+    ;
+}
+abstract class _Class2c&B&MixinB = bad::B<core::num*> with bad::MixinB<core::int*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class2c&B&MixinB*
+    : super bad::B::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class2c extends self::_Class2c&B&MixinB {
+  synthetic constructor •() → self::Class2c*
+    ;
+}
+abstract class _Class2d&B&MixinB = bad::B<core::int*> with bad::MixinB<core::int*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class2d&B&MixinB*
+    : super bad::B::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class2d extends self::_Class2d&B&MixinB {
+  synthetic constructor •() → self::Class2d*
+    ;
+}
+abstract class _Class2e&B&MixinB = bad::B<core::Object*> with bad::MixinB<dynamic> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class2e&B&MixinB*
+    : super bad::B::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class2e extends self::_Class2e&B&MixinB {
+  synthetic constructor •() → self::Class2e*
+    ;
+}
+abstract class _Class3a&Object&MixinC = core::Object with bad::MixinC<core::num*, core::int*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Class3a&Object&MixinC*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class3a extends self::_Class3a&Object&MixinC {
+  synthetic constructor •() → self::Class3a*
+    ;
+}
+abstract class _Class3b&C&MixinC = bad::C<core::num*, core::num*> with bad::MixinC<core::num*, core::int*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class3b&C&MixinC*
+    : super bad::C::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class3b extends self::_Class3b&C&MixinC {
+  synthetic constructor •() → self::Class3b*
+    ;
+}
+abstract class _Class3d&C&MixinC = bad::C<core::num*, core::int*> with bad::MixinC<core::num*, core::int*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class3d&C&MixinC*
+    : super bad::C::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class3d extends self::_Class3d&C&MixinC {
+  synthetic constructor •() → self::Class3d*
+    ;
+}
+abstract class _Class4a&ClassBa&MixinB = bad::ClassBa with bad::MixinB<core::int*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class4a&ClassBa&MixinB*
+    : super bad::ClassBa::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class4a extends self::_Class4a&ClassBa&MixinB {
+  synthetic constructor •() → self::Class4a*
+    ;
+}
+abstract class _Class4b&ClassBb&MixinB = bad::ClassBb with bad::MixinB<core::int*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class4b&ClassBb&MixinB*
+    : super bad::ClassBb::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class4b extends self::_Class4b&ClassBb&MixinB {
+  synthetic constructor •() → self::Class4b*
+    ;
+}
+abstract class _Class5a&ClassCa&MixinC = bad::ClassCa with bad::MixinC<core::num*, core::int*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class5a&ClassCa&MixinC*
+    : super bad::ClassCa::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class5a extends self::_Class5a&ClassCa&MixinC {
+  synthetic constructor •() → self::Class5a*
+    ;
+}
+abstract class _Class5b&ClassCb&MixinC = bad::ClassCb with bad::MixinC<core::num*, core::int*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class5b&ClassCb&MixinC*
+    : super bad::ClassCb::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class5b extends self::_Class5b&ClassCb&MixinC {
+  synthetic constructor •() → self::Class5b*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:17:7: Error: 'Object' doesn't implement 'A' so it can't be used with 'MixinA'.
+//  - 'Object' is from 'dart:core'.
+//  - 'A' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinA' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class1a extends Object with MixinA {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:21:7: Error: 'Object' doesn't implement 'B<int>' so it can't be used with 'MixinB<int>'.
+//  - 'Object' is from 'dart:core'.
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinB' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2a extends Object with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:23:7: Error: 'B<int?>' doesn't implement 'B<int>' so it can't be used with 'MixinB<int>'.
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinB' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2b extends B<int?> with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:25:7: Error: 'B<num>' doesn't implement 'B<int>' so it can't be used with 'MixinB<int>'.
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinB' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2c extends B<num> with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:29:7: Error: 'B<Object>' doesn't implement 'B<dynamic>' so it can't be used with 'MixinB<dynamic>'.
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'Object' is from 'dart:core'.
+//  - 'MixinB' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class2e extends B<Object> with MixinB<dynamic> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:33:7: Error: 'Object' doesn't implement 'C<num, int>' so it can't be used with 'MixinC<num, int>'.
+//  - 'Object' is from 'dart:core'.
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinC' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class3a extends Object with MixinC<num, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:35:7: Error: 'C<num, num>' doesn't implement 'C<num, int>' so it can't be used with 'MixinC<num, int>'.
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinC' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class3b extends C<num, num> with MixinC<num, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:37:7: Error: 'C<num?, int>' doesn't implement 'C<num, int>' so it can't be used with 'MixinC<num, int>'.
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinC' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class3c extends C<num?, int> with MixinC<num, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:49:7: Error: 'ClassBa' doesn't implement 'B<int>' so it can't be used with 'MixinB<int>'.
+//  - 'ClassBa' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinB' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class4a extends ClassBa with MixinB<int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:53:7: Error: 'ClassBb' doesn't implement 'B<int?>' so it can't be used with 'MixinB<int?>'.
+//  - 'ClassBb' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'B' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinB' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class4c extends ClassBb with MixinB<int?> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:57:7: Error: 'ClassCa' doesn't implement 'C<num?, int>' so it can't be used with 'MixinC<num?, int>'.
+//  - 'ClassCa' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinC' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class5a extends ClassCa with MixinC<num?, int> {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart:61:7: Error: 'ClassCb' doesn't implement 'C<num?, int?>' so it can't be used with 'MixinC<num?, int?>'.
+//  - 'ClassCb' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+//  - 'MixinC' is from 'pkg/front_end/testcases/nnbd_mixed/bad_mixins_lib.dart'.
+// class Class5c extends ClassCb with MixinC<num?, int?> {} // error
+//       ^
+//
+import self as bad;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → bad::A
+    ;
+}
+class B<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → bad::B<bad::B::T%>
+    ;
+}
+class C<T extends core::Object? = dynamic, S extends bad::C::T% = dynamic> extends core::Object {
+  synthetic constructor •() → bad::C<bad::C::T%, bad::C::S%>
+    ;
+}
+abstract class MixinA extends bad::A /*isMixinDeclaration*/  {
+}
+abstract class MixinB<T extends core::Object? = dynamic> extends bad::B<bad::MixinB::T%> /*isMixinDeclaration*/  {
+}
+abstract class MixinC<T extends core::Object? = dynamic, S extends bad::MixinC::T% = dynamic> extends bad::C<bad::MixinC::T%, bad::MixinC::S%> /*isMixinDeclaration*/  {
+}
+abstract class _Class1a&Object&MixinA = core::Object with bad::MixinA /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → bad::_Class1a&Object&MixinA
+    : super core::Object::•()
+    ;
+}
+class Class1a extends bad::_Class1a&Object&MixinA {
+  synthetic constructor •() → bad::Class1a
+    ;
+}
+abstract class _Class1b&A&MixinA = bad::A with bad::MixinA /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class1b&A&MixinA
+    : super bad::A::•()
+    ;
+}
+class Class1b extends bad::_Class1b&A&MixinA {
+  synthetic constructor •() → bad::Class1b
+    ;
+}
+abstract class _Class2a&Object&MixinB = core::Object with bad::MixinB<core::int> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → bad::_Class2a&Object&MixinB
+    : super core::Object::•()
+    ;
+}
+class Class2a extends bad::_Class2a&Object&MixinB {
+  synthetic constructor •() → bad::Class2a
+    ;
+}
+abstract class _Class2b&B&MixinB = bad::B<core::int?> with bad::MixinB<core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class2b&B&MixinB
+    : super bad::B::•()
+    ;
+}
+class Class2b extends bad::_Class2b&B&MixinB {
+  synthetic constructor •() → bad::Class2b
+    ;
+}
+abstract class _Class2c&B&MixinB = bad::B<core::num> with bad::MixinB<core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class2c&B&MixinB
+    : super bad::B::•()
+    ;
+}
+class Class2c extends bad::_Class2c&B&MixinB {
+  synthetic constructor •() → bad::Class2c
+    ;
+}
+abstract class _Class2d&B&MixinB = bad::B<core::int> with bad::MixinB<core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class2d&B&MixinB
+    : super bad::B::•()
+    ;
+}
+class Class2d extends bad::_Class2d&B&MixinB {
+  synthetic constructor •() → bad::Class2d
+    ;
+}
+abstract class _Class2e&B&MixinB = bad::B<core::Object> with bad::MixinB<dynamic> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class2e&B&MixinB
+    : super bad::B::•()
+    ;
+}
+class Class2e extends bad::_Class2e&B&MixinB {
+  synthetic constructor •() → bad::Class2e
+    ;
+}
+abstract class _Class2f&B&MixinB = bad::B<core::Object?> with bad::MixinB<dynamic> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class2f&B&MixinB
+    : super bad::B::•()
+    ;
+}
+class Class2f extends bad::_Class2f&B&MixinB {
+  synthetic constructor •() → bad::Class2f
+    ;
+}
+abstract class _Class3a&Object&MixinC = core::Object with bad::MixinC<core::num, core::int> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → bad::_Class3a&Object&MixinC
+    : super core::Object::•()
+    ;
+}
+class Class3a extends bad::_Class3a&Object&MixinC {
+  synthetic constructor •() → bad::Class3a
+    ;
+}
+abstract class _Class3b&C&MixinC = bad::C<core::num, core::num> with bad::MixinC<core::num, core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class3b&C&MixinC
+    : super bad::C::•()
+    ;
+}
+class Class3b extends bad::_Class3b&C&MixinC {
+  synthetic constructor •() → bad::Class3b
+    ;
+}
+abstract class _Class3c&C&MixinC = bad::C<core::num?, core::int> with bad::MixinC<core::num, core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class3c&C&MixinC
+    : super bad::C::•()
+    ;
+}
+class Class3c extends bad::_Class3c&C&MixinC {
+  synthetic constructor •() → bad::Class3c
+    ;
+}
+abstract class _Class3d&C&MixinC = bad::C<core::num, core::int> with bad::MixinC<core::num, core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class3d&C&MixinC
+    : super bad::C::•()
+    ;
+}
+class Class3d extends bad::_Class3d&C&MixinC {
+  synthetic constructor •() → bad::Class3d
+    ;
+}
+class ClassBa extends bad::B<core::int?> {
+  synthetic constructor •() → bad::ClassBa
+    ;
+}
+class ClassBb extends bad::B<core::int> {
+  synthetic constructor •() → bad::ClassBb
+    ;
+}
+class ClassCa extends bad::C<core::num?, core::int?> {
+  synthetic constructor •() → bad::ClassCa
+    ;
+}
+class ClassCb extends bad::C<core::num?, core::int> {
+  synthetic constructor •() → bad::ClassCb
+    ;
+}
+abstract class _Class4a&ClassBa&MixinB = bad::ClassBa with bad::MixinB<core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class4a&ClassBa&MixinB
+    : super bad::ClassBa::•()
+    ;
+}
+class Class4a extends bad::_Class4a&ClassBa&MixinB {
+  synthetic constructor •() → bad::Class4a
+    ;
+}
+abstract class _Class4b&ClassBa&MixinB = bad::ClassBa with bad::MixinB<core::int?> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class4b&ClassBa&MixinB
+    : super bad::ClassBa::•()
+    ;
+}
+class Class4b extends bad::_Class4b&ClassBa&MixinB {
+  synthetic constructor •() → bad::Class4b
+    ;
+}
+abstract class _Class4c&ClassBb&MixinB = bad::ClassBb with bad::MixinB<core::int?> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class4c&ClassBb&MixinB
+    : super bad::ClassBb::•()
+    ;
+}
+class Class4c extends bad::_Class4c&ClassBb&MixinB {
+  synthetic constructor •() → bad::Class4c
+    ;
+}
+abstract class _Class4d&ClassBb&MixinB = bad::ClassBb with bad::MixinB<core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class4d&ClassBb&MixinB
+    : super bad::ClassBb::•()
+    ;
+}
+class Class4d extends bad::_Class4d&ClassBb&MixinB {
+  synthetic constructor •() → bad::Class4d
+    ;
+}
+abstract class _Class5a&ClassCa&MixinC = bad::ClassCa with bad::MixinC<core::num?, core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class5a&ClassCa&MixinC
+    : super bad::ClassCa::•()
+    ;
+}
+class Class5a extends bad::_Class5a&ClassCa&MixinC {
+  synthetic constructor •() → bad::Class5a
+    ;
+}
+abstract class _Class5b&ClassCa&MixinC = bad::ClassCa with bad::MixinC<core::num?, core::int?> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class5b&ClassCa&MixinC
+    : super bad::ClassCa::•()
+    ;
+}
+class Class5b extends bad::_Class5b&ClassCa&MixinC {
+  synthetic constructor •() → bad::Class5b
+    ;
+}
+abstract class _Class5c&ClassCb&MixinC = bad::ClassCb with bad::MixinC<core::num?, core::int?> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class5c&ClassCb&MixinC
+    : super bad::ClassCb::•()
+    ;
+}
+class Class5c extends bad::_Class5c&ClassCb&MixinC {
+  synthetic constructor •() → bad::Class5c
+    ;
+}
+abstract class _Class5d&ClassCb&MixinC = bad::ClassCb with bad::MixinC<core::num?, core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → bad::_Class5d&ClassCb&MixinC
+    : super bad::ClassCb::•()
+    ;
+}
+class Class5d extends bad::_Class5d&ClassCb&MixinC {
+  synthetic constructor •() → bad::Class5d
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.outline.expect
deleted file mode 100644
index 19d5bb9..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.outline.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart:9:7: Error: Type argument 'T' doesn't conform to the bound 'Never' of the type variable 'T' on 'Class' in the supertype 'Class' of class 'LegacyClass'.
-// Try changing type arguments so that they conform to the bounds.
-// class LegacyClass<T extends Null> extends Class<T> {
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in_lib.dart:5:13: Context: This is the type variable whose bound isn't conformed to.
-// class Class<T extends Never> {
-//             ^
-//
-// pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart:10:3: Error: Declared bound 'Null' of type variable 'T' of 'LegacyClass.method' doesn't match the bound 'Never' on overridden method 'Class.method'.
-//   method<T extends Null>() {}
-//   ^
-// pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in_lib.dart:6:3: Context: This is the overridden method ('method').
-//   method<T extends Never>() {}
-//   ^
-//
-import self as self;
-import "dart:core" as core;
-import "bounds_from_opt_in_lib.dart" as bou;
-
-import "org-dartlang-testcase:///bounds_from_opt_in_lib.dart";
-
-class LegacyClass<T extends core::Null? = core::Null?> extends bou::Class<self::LegacyClass::T%> {
-  synthetic constructor •() → self::LegacyClass<self::LegacyClass::T%>
-    ;
-  method method<T extends core::Null? = core::Null?>() → dynamic
-    ;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as bou;
-import "dart:core" as core;
-
-class Class<T extends Never = Never> extends core::Object {
-  synthetic constructor •() → bou::Class<bou::Class::T>
-    ;
-  method method<T extends Never = Never>() → dynamic
-    ;
-}
-static method method<T extends Never = Never>() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..e35c602
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/bounds_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,40 @@
+library;
+import self as self;
+import "bounds_from_opt_in_lib.dart" as bou;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///bounds_from_opt_in_lib.dart";
+
+class LegacyClass<T extends Null = Null> extends bou::Class<self::LegacyClass::T*> {
+  synthetic constructor •() → self::LegacyClass<self::LegacyClass::T*>*
+    ;
+  method method<T extends Null = Null>() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as bou;
+import "dart:core" as core;
+
+class Class<T extends Never = Never> extends core::Object {
+  synthetic constructor •() → bou::Class<bou::Class::T>
+    ;
+  method method<T extends Never = Never>() → dynamic
+    ;
+}
+static method method<T extends Never = Never>() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/call_opt_in_through_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/call_opt_in_through_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..6f6f986
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/call_opt_in_through_opt_out.dart.weak.outline.expect
@@ -0,0 +1,38 @@
+library;
+import self as self;
+
+import "org-dartlang-testcase:///call_opt_in_through_opt_out_lib.dart";
+
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+static method takesNull(Null n) → void
+  ;
+static method takesNever(Never n) → void
+  ;
+static method applyTakesNull((Null) → void f) → dynamic
+  ;
+static method applyTakesNever((Never) → void f) → dynamic
+  ;
+static method applyTakesNullNamed({required (Null) → void f}) → dynamic
+  ;
+static method applyTakesNeverNamed({required (Never) → void f}) → dynamic
+  ;
+static method takesNullable(core::int? i) → void
+  ;
+static method takesNonNullable(core::int i) → void
+  ;
+static method applyTakesNullable((core::int?) → void f) → dynamic
+  ;
+static method applyTakesNonNullable((core::int) → void f) → dynamic
+  ;
+static method applyTakesNullableNamed({required (core::int?) → void f}) → dynamic
+  ;
+static method applyTakesNonNullableNamed({required (core::int) → void f}) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.outline.expect
new file mode 100644
index 0000000..30aff56
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/const_canonical_type.dart.weak.outline.expect
@@ -0,0 +1,65 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "const_canonical_type_lib.dart" as con;
+import "dart:core" as core;
+
+import "dart:async";
+import "org-dartlang-testcase:///const_canonical_type_lib.dart" as oo;
+
+typedef F1 = () → con::A<FutureOr<dynamic>>;
+typedef F2 = () → con::A<dynamic>;
+typedef F3 = () → con::A<FutureOr<FutureOr<dynamic>?>>;
+typedef F4 = () → con::A<dynamic>;
+class Check extends core::Object /*hasConstConstructor*/  {
+  final field dynamic _ignored;
+  const constructor •(dynamic x, dynamic y) → self::Check
+    : assert(core::identical(x, y)), self::Check::_ignored = core::identical(x, y) ?{core::int} 42 : 1.{core::num::~/}(0), super core::Object::•()
+    ;
+}
+static method expectEqual(dynamic x, dynamic y) → void
+  ;
+static method test1() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library;
+import self as con;
+import "dart:core" as core;
+
+import "dart:async";
+
+typedef F1 = () →* con::A<FutureOr<dynamic>*>*;
+typedef F2 = () →* con::A<dynamic>*;
+typedef F3 = () →* con::A<FutureOr<FutureOr<dynamic>*>*>*;
+typedef F4 = () →* con::A<dynamic>*;
+class A<X extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → con::A<con::A::X*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field core::Type* c = con::A<dynamic>*;
+static field core::Type* v;
+static const field con::A<core::List<() →* con::A<FutureOr<dynamic>*>*>*>* a1 = const con::A::•<core::List<() →* con::A<FutureOr<dynamic>*>*>*>();
+static const field con::A<core::List<() →* con::A<dynamic>*>*>* a2 = const con::A::•<core::List<() →* con::A<dynamic>*>*>();
+static const field con::A<core::List<() →* con::A<FutureOr<FutureOr<dynamic>*>*>*>*>* a3 = const con::A::•<core::List<() →* con::A<FutureOr<FutureOr<dynamic>*>*>*>*>();
+static const field con::A<core::List<() →* con::A<dynamic>*>*>* a4 = const con::A::•<core::List<() →* con::A<dynamic>*>*>();
+
+
+Extra constant evaluation status:
+Evaluated: TypeLiteral @ org-dartlang-testcase:///const_canonical_type_lib.dart:18:11 -> TypeLiteralConstant(A<dynamic>*)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_canonical_type_lib.dart:21:12 -> InstanceConstant(const A<List<A<dynamic>* Function()*>*>{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_canonical_type_lib.dart:22:12 -> InstanceConstant(const A<List<A<dynamic>* Function()*>*>{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_canonical_type_lib.dart:23:12 -> InstanceConstant(const A<List<A<dynamic>* Function()*>*>{})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_canonical_type_lib.dart:24:12 -> InstanceConstant(const A<List<A<dynamic>* Function()*>*>{})
+Extra constant evaluation: evaluated: 13, effectively constant: 5
diff --git a/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.outline.expect
new file mode 100644
index 0000000..a26ee06
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/const_is.dart.weak.outline.expect
@@ -0,0 +1,20 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "org-dartlang-testcase:///const_is_lib.dart";
+
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+typedef fnTypeWithNullableObjectBound = <T extends core::Object? = core::Object?>() → void;
+typedef fnTypeWithNeverBound = <T extends Never = dynamic>() → void;
+static method fnWithNonNullObjectBound<T extends core::Object = core::Object>() → void
+  ;
+static method fnWithNullBound<T extends Null = Null>() → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.outline.expect
deleted file mode 100644
index f00c03a..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.outline.expect
+++ /dev/null
@@ -1,44 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-import "dart:async";
-import "org-dartlang-testcase:///constant_null_is_lib.dart";
-
-static const field core::bool c0 = null is{ForNonNullableByDefault} core::int?;
-static const field core::bool c1 = null is{ForNonNullableByDefault} core::int;
-static const field core::bool c2 = null is{ForNonNullableByDefault} core::Null?;
-static const field core::bool c3 = null is{ForNonNullableByDefault} Never?;
-static const field core::bool c4 = null is{ForNonNullableByDefault} Never;
-static const field core::bool c5 = null is{ForNonNullableByDefault} asy::FutureOr<core::int?>;
-static const field core::bool c6 = null is{ForNonNullableByDefault} asy::FutureOr<core::int>;
-static const field core::bool c7 = null is{ForNonNullableByDefault} asy::FutureOr<core::int>?;
-static const field core::bool c8 = null is{ForNonNullableByDefault} asy::FutureOr<core::Null?>;
-static const field core::bool c9 = null is{ForNonNullableByDefault} asy::FutureOr<core::Null?>?;
-static const field core::bool c10 = null is{ForNonNullableByDefault} asy::FutureOr<Never>;
-static const field core::bool c11 = null is{ForNonNullableByDefault} asy::FutureOr<Never?>;
-static const field core::bool c12 = null is{ForNonNullableByDefault} asy::FutureOr<Never>?;
-static method main() → dynamic
-  ;
-static method expect(dynamic expected, dynamic actual, core::String message) → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/constant_null_is_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self2;
-import "dart:core" as core;
-
-import "dart:async";
-import "org-dartlang-testcase:///constant_null_is.dart";
-
-static const field core::bool d0 = null is{ForNonNullableByDefault} core::int;
-static const field core::bool d1 = null is{ForNonNullableByDefault} core::Null?;
-static method test() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.outline.expect
new file mode 100644
index 0000000..89852e6
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/constant_null_is.dart.weak.outline.expect
@@ -0,0 +1,112 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "dart:async";
+import "org-dartlang-testcase:///constant_null_is_lib.dart";
+
+class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field core::bool field;
+  const constructor constructor1(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class::T%, super core::Object::•()
+    ;
+  const constructor constructor2(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class::T?, super core::Object::•()
+    ;
+  const constructor constructor3(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class<self::Class::T%>, super core::Object::•()
+    ;
+  const constructor constructor4(dynamic value) → self::Class<self::Class::T%>
+    : self::Class::field = value is{ForNonNullableByDefault} self::Class<self::Class::T%>?, super core::Object::•()
+    ;
+}
+static final field core::bool isWeakMode;
+static const field core::bool c0 = null is{ForNonNullableByDefault} core::int?;
+static const field core::bool c1 = null is{ForNonNullableByDefault} core::int;
+static const field core::bool c2 = null is{ForNonNullableByDefault} Null;
+static const field core::bool c3 = null is{ForNonNullableByDefault} Never?;
+static const field core::bool c4 = null is{ForNonNullableByDefault} Never;
+static const field core::bool c5 = null is{ForNonNullableByDefault} FutureOr<core::int?>;
+static const field core::bool c6 = null is{ForNonNullableByDefault} FutureOr<core::int>;
+static const field core::bool c7 = null is{ForNonNullableByDefault} FutureOr<core::int>?;
+static const field core::bool c8 = null is{ForNonNullableByDefault} FutureOr<Null>;
+static const field core::bool c9 = null is{ForNonNullableByDefault} FutureOr<Null>?;
+static const field core::bool c10 = null is{ForNonNullableByDefault} FutureOr<Never>;
+static const field core::bool c11 = null is{ForNonNullableByDefault} FutureOr<Never?>;
+static const field core::bool c12 = null is{ForNonNullableByDefault} FutureOr<Never>?;
+static const field self::Class<core::int> e1 = const self::Class::constructor1<core::int>(null);
+static const field self::Class<core::List<core::int>> e2 = const self::Class::constructor1<core::List<core::int>>(const <Null>[null]);
+static const field self::Class<Null> e3 = const self::Class::constructor1<Null>(null);
+static const field self::Class<core::int> e4 = const self::Class::constructor2<core::int>(null);
+static const field self::Class<core::int?> e5 = const self::Class::constructor2<core::int?>(null);
+static const field self::Class<Null> e6 = const self::Class::constructor2<Null>(null);
+static const field self::Class<core::int> e7 = const self::Class::constructor3<core::int>(null);
+static const field self::Class<core::int?> e8 = const self::Class::constructor3<core::int?>(null);
+static const field self::Class<Null> e9 = const self::Class::constructor3<Null>(null);
+static const field self::Class<core::int> e10 = const self::Class::constructor4<core::int>(null);
+static const field self::Class<core::int?> e11 = const self::Class::constructor4<core::int?>(null);
+static const field self::Class<Null> e12 = const self::Class::constructor4<Null>(null);
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual, core::String message) → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+import "constant_null_is.dart" as self;
+
+import "dart:async";
+import "org-dartlang-testcase:///constant_null_is.dart";
+
+static const field core::bool* d0 = null is core::int*;
+static const field core::bool* d1 = null is Null;
+static const field self::Class<core::int*>* d4 = const self::Class::constructor1<core::int*>(null);
+static const field self::Class<Null>* d5 = const self::Class::constructor1<Null>(null);
+static const field self::Class<core::int*>* d6 = const self::Class::constructor2<core::int*>(null);
+static const field self::Class<Null>* d7 = const self::Class::constructor2<Null>(null);
+static const field self::Class<core::int*>* d8 = const self::Class::constructor3<core::int*>(null);
+static const field self::Class<Null>* d9 = const self::Class::constructor3<Null>(null);
+static const field self::Class<core::int*>* d10 = const self::Class::constructor4<core::int*>(null);
+static const field self::Class<Null>* d11 = const self::Class::constructor4<Null>(null);
+static method test() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:10:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:11:17 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:12:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:13:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:14:17 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:15:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:16:17 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:17:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:18:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:19:17 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:20:18 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:21:18 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is.dart:22:18 -> BoolConstant(true)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:23:18 -> InstanceConstant(const Class<int*>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:24:18 -> InstanceConstant(const Class<List<int*>*>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:25:18 -> InstanceConstant(const Class<Null>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:26:18 -> InstanceConstant(const Class<int*>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:27:18 -> InstanceConstant(const Class<int?>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:28:18 -> InstanceConstant(const Class<Null>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:29:18 -> InstanceConstant(const Class<int*>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:30:18 -> InstanceConstant(const Class<int?>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:31:18 -> InstanceConstant(const Class<Null>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:32:19 -> InstanceConstant(const Class<int*>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:33:19 -> InstanceConstant(const Class<int?>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is.dart:34:19 -> InstanceConstant(const Class<Null>{Class.field: true})
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is_lib.dart:10:17 -> BoolConstant(false)
+Evaluated: IsExpression @ org-dartlang-testcase:///constant_null_is_lib.dart:11:17 -> BoolConstant(true)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is_lib.dart:14:18 -> InstanceConstant(const Class<int*>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is_lib.dart:15:18 -> InstanceConstant(const Class<Null>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is_lib.dart:16:18 -> InstanceConstant(const Class<int*>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is_lib.dart:17:18 -> InstanceConstant(const Class<Null>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is_lib.dart:18:18 -> InstanceConstant(const Class<int*>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is_lib.dart:19:18 -> InstanceConstant(const Class<Null>{Class.field: false})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is_lib.dart:20:19 -> InstanceConstant(const Class<int*>{Class.field: true})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constant_null_is_lib.dart:21:19 -> InstanceConstant(const Class<Null>{Class.field: true})
+Extra constant evaluation: evaluated: 43, effectively constant: 35
diff --git a/pkg/front_end/testcases/nnbd_mixed/constants.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/constants.dart.outline.expect
deleted file mode 100644
index c9f4c52..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/constants.dart.outline.expect
+++ /dev/null
@@ -1,72 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "constants_lib.dart" as con;
-
-import "org-dartlang-testcase:///constants_lib.dart" as lib;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::Type objectTypeLiteral = core::Object;
-static const field (core::int) → core::int partialInstantiation = con::id<core::int>;
-static const field con::Class<core::int> instance = const con::Class::•<core::int>(0);
-static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
-static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::List<core::int> listLiteral = const <core::int>[0];
-static const field core::Set<core::int> setLiteral = const <core::int>{0};
-static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
-static const field core::List<core::int> listConcatenation = self::listLiteral;
-static const field core::Set<core::int> setConcatenation = self::setLiteral;
-static const field core::Map<core::int, core::String> mapConcatenation = self::mapLiteral;
-static const field core::bool objectTypeLiteralIdentical = core::identical(self::objectTypeLiteral, con::objectTypeLiteral);
-static const field core::bool partialInstantiationIdentical = core::identical(self::partialInstantiation, con::partialInstantiation);
-static const field core::bool instanceIdentical = core::identical(self::instance, con::instance);
-static const field core::bool functionTypeLiteralIdentical = core::identical(self::functionTypeLiteral, con::functionTypeLiteral);
-static const field core::bool genericFunctionTypeLiteralIdentical = core::identical(self::genericFunctionTypeLiteral, con::genericFunctionTypeLiteral);
-static const field core::bool listLiteralIdentical = core::identical(self::listLiteral, con::listLiteral);
-static const field core::bool setLiteralIdentical = core::identical(self::setLiteral, con::setLiteral);
-static const field core::bool mapLiteralIdentical = core::identical(self::mapLiteral, con::mapLiteral);
-static const field core::bool listConcatenationIdentical = core::identical(self::listConcatenation, con::listConcatenation);
-static const field core::bool setConcatenationIdentical = core::identical(self::setConcatenation, con::setConcatenation);
-static const field core::bool mapConcatenationIdentical = core::identical(self::mapConcatenation, con::mapConcatenation);
-static final field core::bool inStrongMode;
-static method _inStrongMode() → core::bool
-  ;
-static method main() → dynamic
-  ;
-static method test(dynamic expected, dynamic actual) → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/constants_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as con;
-import "dart:core" as core;
-
-typedef F1<invariant T extends core::Object? = dynamic> = (T%) → T%;
-typedef F2 = <T extends core::Object? = dynamic>(T%) → T%;
-class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field con::Class::T% field;
-  const constructor •(con::Class::T% field) → con::Class<con::Class::T%>
-    : con::Class::field = field, super core::Object::•()
-    ;
-}
-static const field core::Type objectTypeLiteral = core::Object;
-static const field (core::Object?, core::Object?) → core::bool c2 = core::identical;
-static const field (core::int) → core::int partialInstantiation = con::id<core::int>;
-static const field con::Class<core::int> instance = const con::Class::•<core::int>(0);
-static const field core::Type functionTypeLiteral = (dynamic) → dynamic;
-static const field core::Type genericFunctionTypeLiteral = <T extends core::Object? = dynamic>(T%) → T%;
-static const field core::List<core::int> listLiteral = const <core::int>[0];
-static const field core::Set<core::int> setLiteral = const <core::int>{0};
-static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
-static const field core::List<core::int> listConcatenation = con::listLiteral;
-static const field core::Set<core::int> setConcatenation = con::setLiteral;
-static const field core::Map<core::int, core::String> mapConcatenation = con::mapLiteral;
-static method id<T extends core::Object? = dynamic>(con::id::T% t) → con::id::T%
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/constants.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/constants.dart.weak.outline.expect
new file mode 100644
index 0000000..8f7c607
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/constants.dart.weak.outline.expect
@@ -0,0 +1,90 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "constants_lib.dart" as con;
+
+import "org-dartlang-testcase:///constants_lib.dart" as lib;
+
+static const field (core::int) → core::int partialInstantiation = con::id<core::int>;
+static const field con::Class<core::int> instance = const con::Class::•<core::int>(0);
+static const field core::List<core::int> listLiteral = const <core::int>[0];
+static const field core::Set<core::int> setLiteral = const <core::int>{0};
+static const field core::Map<core::int, core::String> mapLiteral = const <core::int, core::String>{0: "foo"};
+static const field core::List<core::int> listConcatenation = self::listLiteral;
+static const field core::Set<core::int> setConcatenation = self::setLiteral;
+static const field core::Map<core::int, core::String> mapConcatenation = self::mapLiteral;
+static const field core::bool partialInstantiationIdentical = core::identical(self::partialInstantiation, con::partialInstantiation);
+static const field core::bool instanceIdentical = core::identical(self::instance, con::instance);
+static const field core::bool listLiteralIdentical = core::identical(self::listLiteral, con::listLiteral);
+static const field core::bool setLiteralIdentical = core::identical(self::setLiteral, con::setLiteral);
+static const field core::bool mapLiteralIdentical = core::identical(self::mapLiteral, con::mapLiteral);
+static const field core::bool listConcatenationIdentical = core::identical(self::listConcatenation, con::listConcatenation);
+static const field core::bool setConcatenationIdentical = core::identical(self::setConcatenation, con::setConcatenation);
+static const field core::bool mapConcatenationIdentical = core::identical(self::mapConcatenation, con::mapConcatenation);
+static method main() → dynamic
+  ;
+static method test(dynamic expected, dynamic actual) → dynamic
+  ;
+
+library;
+import self as con;
+import "dart:core" as core;
+
+typedef F1<invariant T extends core::Object* = dynamic> = (T*) →* T*;
+typedef F2 = <T extends core::Object* = dynamic>(T*) →* T*;
+class Class<T extends core::Object* = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field con::Class::T* field;
+  const constructor •(con::Class::T* field) → con::Class<con::Class::T*>*
+    : con::Class::field = field, super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field (core::Object*, core::Object*) →* core::bool* c2 = core::identical;
+static const field (core::int*) →* core::int* partialInstantiation = con::id<core::int*>;
+static const field con::Class<core::int*>* instance = const con::Class::•<core::int*>(0);
+static const field core::List<core::int*>* listLiteral = const <core::int*>[0];
+static const field core::Set<core::int*>* setLiteral = const <core::int*>{0};
+static const field core::Map<core::int*, core::String*>* mapLiteral = const <core::int*, core::String*>{0: "foo"};
+static const field core::List<core::int*>* listConcatenation = con::listLiteral;
+static const field core::Set<core::int*>* setConcatenation = con::setLiteral;
+static const field core::Map<core::int*, core::String*>* mapConcatenation = con::mapLiteral;
+static method id<T extends core::Object* = dynamic>(con::id::T* t) → con::id::T*
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: Instantiation @ org-dartlang-testcase:///constants.dart:7:52 -> PartialInstantiationConstant(id<int*>)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constants.dart:8:24 -> InstanceConstant(const Class<int*>{Class.field: 0})
+Evaluated: ListLiteral @ org-dartlang-testcase:///constants.dart:9:26 -> ListConstant(const <int*>[0])
+Evaluated: SetLiteral @ org-dartlang-testcase:///constants.dart:10:25 -> InstanceConstant(const _UnmodifiableSet<int*>{_UnmodifiableSet._map: const _ImmutableMap<int*, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
+Evaluated: MapLiteral @ org-dartlang-testcase:///constants.dart:11:33 -> InstanceConstant(const _ImmutableMap<int*, String*>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
+Evaluated: ListConcatenation @ org-dartlang-testcase:///constants.dart:12:32 -> ListConstant(const <int*>[0])
+Evaluated: SetConcatenation @ org-dartlang-testcase:///constants.dart:13:31 -> InstanceConstant(const _UnmodifiableSet<int*>{_UnmodifiableSet._map: const _ImmutableMap<int*, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
+Evaluated: MapConcatenation @ org-dartlang-testcase:///constants.dart:14:7 -> InstanceConstant(const _ImmutableMap<int*, String*>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:17:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:18:27 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:19:30 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:20:29 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:21:29 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:23:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:25:5 -> BoolConstant(true)
+Evaluated: StaticInvocation @ org-dartlang-testcase:///constants.dart:27:5 -> BoolConstant(true)
+Evaluated: StaticGet @ org-dartlang-testcase:///constants_lib.dart:18:12 -> TearOffConstant(identical)
+Evaluated: Instantiation @ org-dartlang-testcase:///constants_lib.dart:19:48 -> PartialInstantiationConstant(id<int*>)
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///constants_lib.dart:20:24 -> InstanceConstant(const Class<int*>{Class.field: 0})
+Evaluated: ListLiteral @ org-dartlang-testcase:///constants_lib.dart:21:26 -> ListConstant(const <int*>[0])
+Evaluated: SetLiteral @ org-dartlang-testcase:///constants_lib.dart:22:25 -> InstanceConstant(const _UnmodifiableSet<int*>{_UnmodifiableSet._map: const _ImmutableMap<int*, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
+Evaluated: MapLiteral @ org-dartlang-testcase:///constants_lib.dart:23:33 -> InstanceConstant(const _ImmutableMap<int*, String*>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
+Evaluated: ListConcatenation @ org-dartlang-testcase:///constants_lib.dart:24:32 -> ListConstant(const <int*>[0])
+Evaluated: SetConcatenation @ org-dartlang-testcase:///constants_lib.dart:25:31 -> InstanceConstant(const _UnmodifiableSet<int*>{_UnmodifiableSet._map: const _ImmutableMap<int*, Null>{_ImmutableMap._kvPairs: const <dynamic>[0, null]}})
+Evaluated: MapConcatenation @ org-dartlang-testcase:///constants_lib.dart:26:7 -> InstanceConstant(const _ImmutableMap<int*, String*>{_ImmutableMap._kvPairs: const <dynamic>[0, "foo"]})
+Extra constant evaluation: evaluated: 26, effectively constant: 25
diff --git a/pkg/front_end/testcases/nnbd_mixed/covariant_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/covariant_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..a3f4752
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/covariant_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,64 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/covariant_from_opt_in.dart:11:27: Error: The parameter 'cls' of the method 'SubClass.invariant' has type 'SubClass', which does not match the corresponding type, 'Class', in the overridden method, 'Class.invariant'.
+//  - 'SubClass' is from 'pkg/front_end/testcases/nnbd_mixed/covariant_from_opt_in.dart'.
+//  - 'Class' is from 'pkg/front_end/testcases/nnbd_mixed/covariant_from_opt_in_lib.dart'.
+// Change to a supertype of 'Class', or, for a covariant parameter, a subtype.
+//   void invariant(SubClass cls) {} // error
+//                           ^
+// pkg/front_end/testcases/nnbd_mixed/covariant_from_opt_in_lib.dart:9:8: Context: This is the overridden method ('invariant').
+//   void invariant(Class cls);
+//        ^
+//
+import self as self;
+import "covariant_from_opt_in_lib.dart" as cov;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///covariant_from_opt_in_lib.dart";
+
+abstract class _SubClass&Class&Mixin = cov::Class with cov::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_SubClass&Class&Mixin*
+    : super cov::Class::•()
+    ;
+  abstract member-signature method covariant(covariant cov::Class* cls) → void; -> cov::Class::covariant
+  abstract member-signature method invariant(cov::Class* cls) → void; -> cov::Class::invariant
+  abstract member-signature method contravariant(cov::Class* cls) → void; -> cov::Class::contravariant
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class SubClass extends self::_SubClass&Class&Mixin {
+  synthetic constructor •() → self::SubClass*
+    ;
+  method covariant(covariant self::SubClass* cls) → void
+    ;
+  method invariant(self::SubClass* cls) → void
+    ;
+  method contravariant(core::Object* cls) → void
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as cov;
+import "dart:core" as core;
+
+abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
+}
+abstract class Class extends core::Object {
+  synthetic constructor •() → cov::Class
+    ;
+  abstract method covariant(covariant cov::Class cls) → void;
+  abstract method invariant(cov::Class cls) → void;
+  abstract method contravariant(cov::Class cls) → void;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/cyclic_typedef.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/cyclic_typedef.dart.weak.outline.expect
new file mode 100644
index 0000000..13ca055
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/cyclic_typedef.dart.weak.outline.expect
@@ -0,0 +1,58 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/cyclic_typedef.dart:10:7: Error: Generic type 'Hest2' can't be used without type arguments in the bounds of its own type variables. It is referenced indirectly through 'Fisk2'.
+// Try providing type arguments to 'Fisk2' here or to some other raw types in the bounds along the reference chain.
+// class Hest2<TypeX extends Fisk2> {}
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/cyclic_typedef.dart:10:13: Context: Bound of this variable references raw type 'Fisk2'.
+// class Hest2<TypeX extends Fisk2> {}
+//             ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/cyclic_typedef_lib.dart:12:31: Context: Bound of this variable references raw type 'Hest2'.
+// typedef Fisk2 = void Function<TypeY extends Hest2>();
+//                               ^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/cyclic_typedef.dart:12:9: Error: Generic type 'Fisk1' can't be used without type arguments in the bounds of its own type variables. It is referenced indirectly through 'Hest1'.
+// Try providing type arguments to 'Hest1' here or to some other raw types in the bounds along the reference chain.
+// typedef Fisk1 = void Function<TypeY extends Hest1>();
+//         ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/cyclic_typedef.dart:12:31: Context: Bound of this variable references raw type 'Hest1'.
+// typedef Fisk1 = void Function<TypeY extends Hest1>();
+//                               ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/cyclic_typedef_lib.dart:10:13: Context: Bound of this variable references raw type 'Fisk1'.
+// class Hest1<TypeX extends Fisk1> {}
+//             ^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///cyclic_typedef_lib.dart";
+
+typedef Fisk1 = <TypeY extends core::Object? = dynamic>() → void;
+class Hest2<TypeX extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Hest2<self::Hest2::TypeX%>
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/cyclic_typedef_lib.dart:10:13: Error: Type variables can't have generic function types in their bounds.
+// class Hest1<TypeX extends Fisk1> {}
+//             ^^^^^
+//
+import self as self2;
+import "cyclic_typedef.dart" as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///cyclic_typedef.dart";
+
+typedef Fisk2 = <TypeY extends self::Hest2<dynamic> = dynamic>() → void;
+class Hest1<TypeX extends <TypeY extends core::Object? = dynamic>() → void = dynamic> extends core::Object {
+  synthetic constructor •() → self2::Hest1<self2::Hest1::TypeX>
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.expect
index c353251..d4de37b 100644
--- a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.expect
@@ -9,14 +9,27 @@
 // // @dart=2.8
 // ^^^^^^^^^^^^
 //
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the package language version or setting the language version to 2.10 or higher.
+// int? versionedUnallowedPackage; // error
+//    ^
+//
 // pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_AllowedPackage; // error
 //    ^
 // pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
 // // @dart=2.8
 // ^^^^^^^^^^^^
 //
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
 library /*isNonNullableByDefault*/;
 import self as self;
 
@@ -46,7 +59,7 @@
 // Problems in library:
 //
 // pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
 // pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -58,7 +71,18 @@
 
 static field core::int? versioned_2_8_Library;
 
-library /*isNonNullableByDefault*/;
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_Library; // error
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
 import self as self4;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.outline.expect
new file mode 100644
index 0000000..10fa83c
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.outline.expect
@@ -0,0 +1,96 @@
+//
+// Problems outside component:
+//
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
+// int? versioned_2_8_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/unversioned_lib.dart:5:4: Error: Null safety features are disabled for this library.
+// Try removing the package language version or setting the language version to 2.10 or higher.
+// int? versionedUnallowedPackage; // error
+//    ^
+//
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_8_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_AllowedPackage; // error
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/not_allowed_package/lib/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "package:allowed_package/unversioned_lib.dart";
+import "package:allowed_package/versioned_2_8_lib.dart";
+import "package:allowed_package/versioned_2_9_lib.dart";
+import "package:allowed_package/versioned_2_10_lib.dart";
+import "package:not_allowed_package/unversioned_lib.dart";
+import "package:not_allowed_package/versioned_2_8_lib.dart";
+import "package:not_allowed_package/versioned_2_9_lib.dart";
+import "package:not_allowed_package/versioned_2_10_lib.dart";
+import "org-dartlang-testcase:///unversioned_lib.dart";
+import "org-dartlang-testcase:///versioned_2_8_lib.dart";
+import "org-dartlang-testcase:///versioned_2_9_lib.dart";
+import "org-dartlang-testcase:///versioned_2_10_lib.dart";
+
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+static field core::int? unversionedLibrary;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_8_Library; // error
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.8
+// ^^^^^^^^^^^^
+//
+import self as self3;
+import "dart:core" as core;
+
+static field core::int? versioned_2_8_Library;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_Library; // error
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self4;
+import "dart:core" as core;
+
+static field core::int? versioned_2_9_Library;
+
+library /*isNonNullableByDefault*/;
+import self as self5;
+import "dart:core" as core;
+
+static field core::int? versioned_2_10_Library;
diff --git a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.transformed.expect
index 833aacd..65936ca 100644
--- a/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/experiment_release_version/main.dart.weak.transformed.expect
@@ -27,7 +27,7 @@
 // Problems in library:
 //
 // pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_8_lib.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.9 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
 // int? versioned_2_8_Library; // error
 //    ^
 // pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_8_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -39,7 +39,18 @@
 
 static field core::int? versioned_2_8_Library;
 
-library /*isNonNullableByDefault*/;
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_9_lib.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// int? versioned_2_9_Library; // error
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/experiment_release_version/versioned_2_9_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
 import self as self4;
 import "dart:core" as core;
 
diff --git a/pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart.outline.expect
deleted file mode 100644
index 99c7835..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,122 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "export_from_opt_out_lib1.dart" as exp;
-import "export_from_opt_out_lib2.dart" as exp2;
-import "export_from_opt_out_lib3.dart" as exp3;
-import "export_from_opt_out_lib5.dart" as exp4;
-additionalExports = (exp::LegacyClass1,
-  exp2::LegacyClass3,
-  exp2::LegacyClass4,
-  exp3::LegacyClass2,
-  exp3::legacyMethod1,
-  exp3::LegacyExtension,
-  exp3::LegacyTypedef,
-  exp4::NnbdClass1,
-  exp4::NnbdClass2)
-
-export "org-dartlang-testcase:///export_from_opt_out_lib1.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib2.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib3.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib3.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib3.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib3.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib3.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib3.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib4.dart";
-export "org-dartlang-testcase:///export_from_opt_out_lib5.dart";
-
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out_lib1.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-import self as exp;
-import "dart:core" as core;
-
-class LegacyClass1 extends core::Object {
-  synthetic constructor •() → exp::LegacyClass1
-    ;
-}
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out_lib2.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-import self as exp2;
-import "dart:core" as core;
-
-class LegacyClass3 extends core::Object {
-  synthetic constructor •() → exp2::LegacyClass3
-    ;
-}
-class LegacyClass4 extends core::Object {
-  synthetic constructor •() → exp2::LegacyClass4
-    ;
-}
-static method legacyMethod2() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out_lib3.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-import self as exp3;
-import "dart:core" as core;
-import "export_from_opt_out_lib5.dart" as exp4;
-additionalExports = (exp4::NnbdClass1,
-  exp4::NnbdClass2)
-
-export "org-dartlang-testcase:///export_from_opt_out_lib5.dart";
-
-typedef LegacyTypedef = () → void;
-class LegacyClass2 extends core::Object {
-  synthetic constructor •() → exp3::LegacyClass2
-    ;
-}
-extension LegacyExtension on core::String {
-}
-static method legacyMethod1() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out_lib4.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-import self as self2;
-import "export_from_opt_out_lib5.dart" as exp4;
-additionalExports = (exp4::NnbdClass1,
-  exp4::NnbdClass2)
-
-export "org-dartlang-testcase:///export_from_opt_out_lib5.dart";
-
-
-library /*isNonNullableByDefault*/;
-import self as exp4;
-import "dart:core" as core;
-
-class NnbdClass1 extends core::Object {
-  synthetic constructor •() → exp4::NnbdClass1
-    ;
-}
-class NnbdClass2 extends core::Object {
-  synthetic constructor •() → exp4::NnbdClass2
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..9f75dcd
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart.weak.outline.expect
@@ -0,0 +1,161 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart:6:1: Error: Null safe libraries are not allowed to export declarations from of opt-out libraries.
+// export 'export_from_opt_out_lib1.dart';
+// ^
+//
+// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart:10:1: Error: Null safe libraries are not allowed to export declarations from of opt-out libraries.
+// export 'export_from_opt_out_lib2.dart' hide legacyMethod2;
+// ^
+//
+// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart:13:1: Error: Null safe libraries are not allowed to export declarations from of opt-out libraries.
+// export 'export_from_opt_out_lib3.dart' show LegacyClass2;
+// ^
+//
+// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart:16:1: Error: Null safe libraries are not allowed to export declarations from of opt-out libraries.
+// export 'export_from_opt_out_lib3.dart' show legacyMethod1;
+// ^
+//
+// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart:19:1: Error: Null safe libraries are not allowed to export declarations from of opt-out libraries.
+// export 'export_from_opt_out_lib3.dart' show LegacyExtension;
+// ^
+//
+// pkg/front_end/testcases/nnbd_mixed/export_from_opt_out.dart:22:1: Error: Null safe libraries are not allowed to export declarations from of opt-out libraries.
+// export 'export_from_opt_out_lib3.dart' show LegacyTypedef;
+// ^
+//
+import self as self;
+import "export_from_opt_out_lib1.dart" as exp;
+import "export_from_opt_out_lib2.dart" as exp2;
+import "export_from_opt_out_lib3.dart" as exp3;
+import "export_from_opt_out_lib5.dart" as exp4;
+additionalExports = (exp::LegacyClass1,
+  exp2::LegacyClass3,
+  exp2::LegacyClass4,
+  exp3::LegacyClass2,
+  exp3::legacyMethod1,
+  exp3::LegacyExtension,
+  exp3::LegacyTypedef,
+  exp4::NnbdClass1,
+  exp4::NnbdClass2)
+
+export "org-dartlang-testcase:///export_from_opt_out_lib1.dart";
+export "org-dartlang-testcase:///export_from_opt_out_lib2.dart" hide legacyMethod2;
+export "org-dartlang-testcase:///export_from_opt_out_lib3.dart" show LegacyClass2;
+export "org-dartlang-testcase:///export_from_opt_out_lib3.dart" show legacyMethod1;
+export "org-dartlang-testcase:///export_from_opt_out_lib3.dart" show LegacyExtension;
+export "org-dartlang-testcase:///export_from_opt_out_lib3.dart" show LegacyTypedef;
+export "org-dartlang-testcase:///export_from_opt_out_lib3.dart" show NnbdClass1;
+export "org-dartlang-testcase:///export_from_opt_out_lib3.dart" hide LegacyClass2, LegacyExtension, LegacyTypedef, legacyMethod1;
+export "org-dartlang-testcase:///export_from_opt_out_lib4.dart";
+export "org-dartlang-testcase:///export_from_opt_out_lib5.dart";
+
+static method main() → dynamic
+  ;
+
+library;
+import self as exp;
+import "dart:core" as core;
+
+class LegacyClass1 extends core::Object {
+  synthetic constructor •() → exp::LegacyClass1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library;
+import self as exp2;
+import "dart:core" as core;
+
+class LegacyClass3 extends core::Object {
+  synthetic constructor •() → exp2::LegacyClass3*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass4 extends core::Object {
+  synthetic constructor •() → exp2::LegacyClass4*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method legacyMethod2() → dynamic
+  ;
+
+library;
+import self as exp3;
+import "dart:core" as core;
+import "export_from_opt_out_lib5.dart" as exp4;
+additionalExports = (exp4::NnbdClass1,
+  exp4::NnbdClass2)
+
+export "org-dartlang-testcase:///export_from_opt_out_lib5.dart";
+
+typedef LegacyTypedef = () →* void;
+class LegacyClass2 extends core::Object {
+  synthetic constructor •() → exp3::LegacyClass2*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+extension LegacyExtension on core::String* {
+}
+static method legacyMethod1() → dynamic
+  ;
+
+library;
+import self as self2;
+import "export_from_opt_out_lib5.dart" as exp4;
+additionalExports = (exp4::NnbdClass1,
+  exp4::NnbdClass2)
+
+export "org-dartlang-testcase:///export_from_opt_out_lib5.dart";
+
+
+library /*isNonNullableByDefault*/;
+import self as exp4;
+import "dart:core" as core;
+
+class NnbdClass1 extends core::Object {
+  synthetic constructor •() → exp4::NnbdClass1
+    ;
+}
+class NnbdClass2 extends core::Object {
+  synthetic constructor •() → exp4::NnbdClass2
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/flutter_issue_63029/flutter_issue_63029.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/flutter_issue_63029/flutter_issue_63029.dart.weak.outline.expect
new file mode 100644
index 0000000..d6c1469
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/flutter_issue_63029/flutter_issue_63029.dart.weak.outline.expect
@@ -0,0 +1,72 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "flutter_issue_63029_lib1.dart" as flu;
+import "flutter_issue_63029_lib2.dart" as flu2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///flutter_issue_63029_lib1.dart";
+import "org-dartlang-testcase:///flutter_issue_63029_lib2.dart";
+
+class E extends flu::A {
+  synthetic constructor •() → self::E
+    ;
+}
+abstract class _F&B&D = flu::B<self::E> with flu2::D<self::E> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_F&B&D
+    : super flu::B::•()
+    ;
+  abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
+}
+class F extends self::_F&B&D {
+  synthetic constructor •() → self::F
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as flu;
+import "dart:core" as core;
+
+abstract class A extends core::Object {
+  synthetic constructor •() → flu::A
+    ;
+}
+abstract class B<T extends flu::A = flu::A> extends core::Object {
+  synthetic constructor •() → flu::B<flu::B::T>
+    ;
+}
+
+library;
+import self as flu2;
+import "dart:core" as core;
+import "flutter_issue_63029_lib1.dart" as flu;
+
+import "org-dartlang-testcase:///flutter_issue_63029_lib1.dart";
+
+class C extends core::Object {
+  synthetic constructor •() → flu2::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class D<T extends flu::A* = flu::A*> extends flu::B<flu2::D::T*> implements flu2::C /*isMixinDeclaration*/  {
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/folder.options b/pkg/front_end/testcases/nnbd_mixed/folder.options
index b552a65..e69de29 100644
--- a/pkg/front_end/testcases/nnbd_mixed/folder.options
+++ b/pkg/front_end/testcases/nnbd_mixed/folder.options
@@ -1 +0,0 @@
---enable-experiment=non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/nnbd_mixed/generic_override.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/generic_override.dart.outline.expect
deleted file mode 100644
index 981f001..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/generic_override.dart.outline.expect
+++ /dev/null
@@ -1,240 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:39:8: Error: Declared bound 'Object?' of type variable 'T' of 'Class2.method4b' doesn't match the bound 'Object' on overridden method 'Class1.method4b'.
-//  - 'Object' is from 'dart:core'.
-//   void method4b<T extends Object?>(); // error
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:19:8: Context: This is the overridden method ('method4b').
-//   void method4b<T extends Object>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:40:8: Error: Declared bound 'Object' of type variable 'T' of 'Class2.method4c' doesn't match the bound 'Object?' on overridden method 'Class1.method4c'.
-//  - 'Object' is from 'dart:core'.
-//   void method4c<T extends Object>(); // error
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:20:8: Context: This is the overridden method ('method4c').
-//   void method4c<T extends Object?>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:43:8: Error: Declared bound 'Class1?' of type variable 'T' of 'Class2.method5b' doesn't match the bound 'Class1' on overridden method 'Class1.method5b'.
-//  - 'Class1' is from 'pkg/front_end/testcases/nnbd_mixed/generic_override.dart'.
-//   void method5b<T extends Class1?>(); // error
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:23:8: Context: This is the overridden method ('method5b').
-//   void method5b<T extends Class1>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:44:8: Error: Declared bound 'Class1' of type variable 'T' of 'Class2.method5c' doesn't match the bound 'Class1?' on overridden method 'Class1.method5c'.
-//  - 'Class1' is from 'pkg/front_end/testcases/nnbd_mixed/generic_override.dart'.
-//   void method5c<T extends Class1>(); // error
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:24:8: Context: This is the overridden method ('method5c').
-//   void method5c<T extends Class1?>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:51:8: Error: Declared bound 'Object?' of type variable 'T' of 'Class3.method2a' doesn't match the bound 'Object' on overridden method 'LegacyClass1.method2a'.
-//  - 'Object' is from 'dart:core'.
-//   void method2a<T>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:13:8: Context: This is the overridden method ('method2a').
-//   void method2a<T extends Object>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:52:8: Error: Declared bound 'Object?' of type variable 'T' of 'Class3.method2b' doesn't match the bound 'Object' on overridden method 'LegacyClass1.method2b'.
-//  - 'Object' is from 'dart:core'.
-//   void method2b<T extends Object?>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:14:8: Context: This is the overridden method ('method2b').
-//   void method2b<T extends Object>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:53:8: Error: Declared bound 'dynamic' of type variable 'T' of 'Class3.method2c' doesn't match the bound 'Object' on overridden method 'LegacyClass1.method2c'.
-//  - 'Object' is from 'dart:core'.
-//   void method2c<T extends dynamic>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:15:8: Context: This is the overridden method ('method2c').
-//   void method2c<T extends Object>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:59:8: Error: Declared bound 'Object?' of type variable 'T' of 'Class3.method4b' doesn't match the bound 'Object' on overridden method 'LegacyClass1.method4b'.
-//  - 'Object' is from 'dart:core'.
-//   void method4b<T extends Object?>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:21:8: Context: This is the overridden method ('method4b').
-//   void method4b<T extends Object>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:63:8: Error: Declared bound 'Class1?' of type variable 'T' of 'Class3.method5b' doesn't match the bound 'Class1' on overridden method 'LegacyClass1.method5b'.
-//  - 'Class1' is from 'pkg/front_end/testcases/nnbd_mixed/generic_override.dart'.
-//   void method5b<T extends Class1?>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:25:8: Context: This is the overridden method ('method5b').
-//   void method5b<T extends Class1>();
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-import "generic_override_lib.dart" as gen;
-
-import "org-dartlang-testcase:///generic_override_lib.dart";
-
-abstract class Class1 extends core::Object {
-  synthetic constructor •() → self::Class1
-    ;
-  abstract method method1a<T extends core::Object? = dynamic>() → void;
-  abstract method method1b<T extends core::Object? = dynamic>() → void;
-  abstract method method1c<T extends core::Object? = dynamic>() → void;
-  abstract method method2a<T extends core::Object? = core::Object?>() → void;
-  abstract method method2b<T extends core::Object? = core::Object?>() → void;
-  abstract method method2c<T extends core::Object? = core::Object?>() → void;
-  abstract method method3a<T extends dynamic = dynamic>() → void;
-  abstract method method3b<T extends dynamic = dynamic>() → void;
-  abstract method method3c<T extends dynamic = dynamic>() → void;
-  abstract method method4a<T extends core::Object = core::Object>() → void;
-  abstract method method4b<T extends core::Object = core::Object>() → void;
-  abstract method method4c<T extends core::Object? = core::Object?>() → void;
-  abstract method method5a<T extends self::Class1 = self::Class1>() → void;
-  abstract method method5b<T extends self::Class1 = self::Class1>() → void;
-  abstract method method5c<T extends self::Class1? = self::Class1?>() → void;
-}
-abstract class Class2 extends self::Class1 {
-  synthetic constructor •() → self::Class2
-    ;
-  abstract method method1a<T extends core::Object? = dynamic>() → void;
-  abstract method method1b<T extends core::Object? = core::Object?>() → void;
-  abstract method method1c<T extends dynamic = dynamic>() → void;
-  abstract method method2a<T extends core::Object? = dynamic>() → void;
-  abstract method method2b<T extends core::Object? = core::Object?>() → void;
-  abstract method method2c<T extends dynamic = dynamic>() → void;
-  abstract method method3a<T extends core::Object? = dynamic>() → void;
-  abstract method method3b<T extends core::Object? = core::Object?>() → void;
-  abstract method method3c<T extends dynamic = dynamic>() → void;
-  abstract method method4a<T extends core::Object = core::Object>() → void;
-  abstract method method4b<T extends core::Object? = core::Object?>() → void;
-  abstract method method4c<T extends core::Object = core::Object>() → void;
-  abstract method method5a<T extends self::Class1 = self::Class1>() → void;
-  abstract method method5b<T extends self::Class1? = self::Class1?>() → void;
-  abstract method method5c<T extends self::Class1 = self::Class1>() → void;
-}
-abstract class Class3 extends gen::LegacyClass1 {
-  synthetic constructor •() → self::Class3
-    ;
-  abstract method method1a<T extends core::Object? = dynamic>() → void;
-  abstract method method1b<T extends core::Object? = core::Object?>() → void;
-  abstract method method1c<T extends dynamic = dynamic>() → void;
-  abstract method method2a<T extends core::Object? = dynamic>() → void;
-  abstract method method2b<T extends core::Object? = core::Object?>() → void;
-  abstract method method2c<T extends dynamic = dynamic>() → void;
-  abstract method method3a<T extends core::Object? = dynamic>() → void;
-  abstract method method3b<T extends core::Object? = core::Object?>() → void;
-  abstract method method3c<T extends dynamic = dynamic>() → void;
-  abstract method method4a<T extends core::Object = core::Object>() → void;
-  abstract method method4b<T extends core::Object? = core::Object?>() → void;
-  abstract method method4c<T extends core::Object = core::Object>() → void;
-  abstract method method5a<T extends self::Class1 = self::Class1>() → void;
-  abstract method method5b<T extends self::Class1? = self::Class1?>() → void;
-  abstract method method5c<T extends self::Class1 = self::Class1>() → void;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:31:8: Error: Declared bound 'Object' of type variable 'T' of 'LegacyClass2.method1b' doesn't match the bound 'Object?' on overridden method 'Class1.method1b'.
-//  - 'Object' is from 'dart:core'.
-//   void method1b<T extends Object>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:9:8: Context: This is the overridden method ('method1b').
-//   void method1b<T>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:34:8: Error: Declared bound 'Object' of type variable 'T' of 'LegacyClass2.method2b' doesn't match the bound 'Object?' on overridden method 'Class1.method2b'.
-//  - 'Object' is from 'dart:core'.
-//   void method2b<T extends Object>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:12:8: Context: This is the overridden method ('method2b').
-//   void method2b<T extends Object?>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:37:8: Error: Declared bound 'Object' of type variable 'T' of 'LegacyClass2.method3b' doesn't match the bound 'dynamic' on overridden method 'Class1.method3b'.
-//  - 'Object' is from 'dart:core'.
-//   void method3b<T extends Object>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:15:8: Context: This is the overridden method ('method3b').
-//   void method3b<T extends dynamic>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:42:8: Error: Declared bound 'Object' of type variable 'T' of 'LegacyClass2.method4c' doesn't match the bound 'Object?' on overridden method 'Class1.method4c'.
-//  - 'Object' is from 'dart:core'.
-//   void method4c<T extends Object>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:20:8: Context: This is the overridden method ('method4c').
-//   void method4c<T extends Object?>();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/generic_override_lib.dart:46:8: Error: Declared bound 'Class1' of type variable 'T' of 'LegacyClass2.method5c' doesn't match the bound 'Class1?' on overridden method 'Class1.method5c'.
-//  - 'Class1' is from 'pkg/front_end/testcases/nnbd_mixed/generic_override.dart'.
-//   void method5c<T extends Class1>();
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:24:8: Context: This is the overridden method ('method5c').
-//   void method5c<T extends Class1?>();
-//        ^
-//
-import self as gen;
-import "dart:core" as core;
-import "generic_override.dart" as self;
-
-import "org-dartlang-testcase:///generic_override.dart";
-
-abstract class LegacyClass1 extends core::Object {
-  synthetic constructor •() → gen::LegacyClass1
-    ;
-  abstract method method1a<T extends core::Object? = dynamic>() → void;
-  abstract method method1b<T extends core::Object? = dynamic>() → void;
-  abstract method method1c<T extends core::Object? = dynamic>() → void;
-  abstract method method2a<T extends core::Object = core::Object>() → void;
-  abstract method method2b<T extends core::Object = core::Object>() → void;
-  abstract method method2c<T extends core::Object = core::Object>() → void;
-  abstract method method3a<T extends dynamic = dynamic>() → void;
-  abstract method method3b<T extends dynamic = dynamic>() → void;
-  abstract method method3c<T extends dynamic = dynamic>() → void;
-  abstract method method4a<T extends core::Object = core::Object>() → void;
-  abstract method method4b<T extends core::Object = core::Object>() → void;
-  abstract method method4c<T extends core::Object = core::Object>() → void;
-  abstract method method5a<T extends self::Class1 = self::Class1>() → void;
-  abstract method method5b<T extends self::Class1 = self::Class1>() → void;
-  abstract method method5c<T extends self::Class1 = self::Class1>() → void;
-}
-abstract class LegacyClass2 extends self::Class1 {
-  synthetic constructor •() → gen::LegacyClass2
-    ;
-  abstract method method1a<T extends core::Object? = dynamic>() → void;
-  abstract method method1b<T extends core::Object = core::Object>() → void;
-  abstract method method1c<T extends dynamic = dynamic>() → void;
-  abstract method method2a<T extends core::Object? = dynamic>() → void;
-  abstract method method2b<T extends core::Object = core::Object>() → void;
-  abstract method method2c<T extends dynamic = dynamic>() → void;
-  abstract method method3a<T extends core::Object? = dynamic>() → void;
-  abstract method method3b<T extends core::Object = core::Object>() → void;
-  abstract method method3c<T extends dynamic = dynamic>() → void;
-  abstract method method4a<T extends core::Object = core::Object>() → void;
-  abstract method method4b<T extends core::Object = core::Object>() → void;
-  abstract method method4c<T extends core::Object = core::Object>() → void;
-  abstract method method5a<T extends self::Class1 = self::Class1>() → void;
-  abstract method method5b<T extends self::Class1 = self::Class1>() → void;
-  abstract method method5c<T extends self::Class1 = self::Class1>() → void;
-}
-abstract class LegacyClass3 extends self::Class1 {
-  synthetic constructor •() → gen::LegacyClass3
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/generic_override.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/generic_override.dart.weak.outline.expect
new file mode 100644
index 0000000..ab28d4e
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/generic_override.dart.weak.outline.expect
@@ -0,0 +1,195 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:39:8: Error: Declared bound 'Object?' of type variable 'T' of 'Class2.method4b' doesn't match the bound 'Object' on overridden method 'Class1.method4b'.
+//  - 'Object' is from 'dart:core'.
+//   void method4b<T extends Object?>(); // error
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:19:8: Context: This is the overridden method ('method4b').
+//   void method4b<T extends Object>();
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:40:8: Error: Declared bound 'Object' of type variable 'T' of 'Class2.method4c' doesn't match the bound 'Object?' on overridden method 'Class1.method4c'.
+//  - 'Object' is from 'dart:core'.
+//   void method4c<T extends Object>(); // error
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:20:8: Context: This is the overridden method ('method4c').
+//   void method4c<T extends Object?>();
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:43:8: Error: Declared bound 'Class1?' of type variable 'T' of 'Class2.method5b' doesn't match the bound 'Class1' on overridden method 'Class1.method5b'.
+//  - 'Class1' is from 'pkg/front_end/testcases/nnbd_mixed/generic_override.dart'.
+//   void method5b<T extends Class1?>(); // error
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:23:8: Context: This is the overridden method ('method5b').
+//   void method5b<T extends Class1>();
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:44:8: Error: Declared bound 'Class1' of type variable 'T' of 'Class2.method5c' doesn't match the bound 'Class1?' on overridden method 'Class1.method5c'.
+//  - 'Class1' is from 'pkg/front_end/testcases/nnbd_mixed/generic_override.dart'.
+//   void method5c<T extends Class1>(); // error
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/generic_override.dart:24:8: Context: This is the overridden method ('method5c').
+//   void method5c<T extends Class1?>();
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+import "generic_override_lib.dart" as gen;
+
+import "org-dartlang-testcase:///generic_override_lib.dart";
+
+abstract class Class1 extends core::Object {
+  synthetic constructor •() → self::Class1
+    ;
+  abstract method method1a<T extends core::Object? = dynamic>() → void;
+  abstract method method1b<T extends core::Object? = dynamic>() → void;
+  abstract method method1c<T extends core::Object? = dynamic>() → void;
+  abstract method method2a<T extends core::Object? = core::Object?>() → void;
+  abstract method method2b<T extends core::Object? = core::Object?>() → void;
+  abstract method method2c<T extends core::Object? = core::Object?>() → void;
+  abstract method method3a<T extends dynamic = dynamic>() → void;
+  abstract method method3b<T extends dynamic = dynamic>() → void;
+  abstract method method3c<T extends dynamic = dynamic>() → void;
+  abstract method method4a<T extends core::Object = core::Object>() → void;
+  abstract method method4b<T extends core::Object = core::Object>() → void;
+  abstract method method4c<T extends core::Object? = core::Object?>() → void;
+  abstract method method5a<T extends self::Class1 = self::Class1>() → void;
+  abstract method method5b<T extends self::Class1 = self::Class1>() → void;
+  abstract method method5c<T extends self::Class1? = self::Class1?>() → void;
+}
+abstract class Class2 extends self::Class1 {
+  synthetic constructor •() → self::Class2
+    ;
+  abstract method method1a<T extends core::Object? = dynamic>() → void;
+  abstract method method1b<T extends core::Object? = core::Object?>() → void;
+  abstract method method1c<T extends dynamic = dynamic>() → void;
+  abstract method method2a<T extends core::Object? = dynamic>() → void;
+  abstract method method2b<T extends core::Object? = core::Object?>() → void;
+  abstract method method2c<T extends dynamic = dynamic>() → void;
+  abstract method method3a<T extends core::Object? = dynamic>() → void;
+  abstract method method3b<T extends core::Object? = core::Object?>() → void;
+  abstract method method3c<T extends dynamic = dynamic>() → void;
+  abstract method method4a<T extends core::Object = core::Object>() → void;
+  abstract method method4b<T extends core::Object? = core::Object?>() → void;
+  abstract method method4c<T extends core::Object = core::Object>() → void;
+  abstract method method5a<T extends self::Class1 = self::Class1>() → void;
+  abstract method method5b<T extends self::Class1? = self::Class1?>() → void;
+  abstract method method5c<T extends self::Class1 = self::Class1>() → void;
+}
+abstract class Class3 extends gen::LegacyClass1 {
+  synthetic constructor •() → self::Class3
+    ;
+  abstract method method1a<T extends core::Object? = dynamic>() → void;
+  abstract method method1b<T extends core::Object? = core::Object?>() → void;
+  abstract method method1c<T extends dynamic = dynamic>() → void;
+  abstract method method2a<T extends core::Object? = dynamic>() → void;
+  abstract method method2b<T extends core::Object? = core::Object?>() → void;
+  abstract method method2c<T extends dynamic = dynamic>() → void;
+  abstract method method3a<T extends core::Object? = dynamic>() → void;
+  abstract method method3b<T extends core::Object? = core::Object?>() → void;
+  abstract method method3c<T extends dynamic = dynamic>() → void;
+  abstract method method4a<T extends core::Object = core::Object>() → void;
+  abstract method method4b<T extends core::Object? = core::Object?>() → void;
+  abstract method method4c<T extends core::Object = core::Object>() → void;
+  abstract method method5a<T extends self::Class1 = self::Class1>() → void;
+  abstract method method5b<T extends self::Class1? = self::Class1?>() → void;
+  abstract method method5c<T extends self::Class1 = self::Class1>() → void;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as gen;
+import "dart:core" as core;
+import "generic_override.dart" as self;
+
+import "org-dartlang-testcase:///generic_override.dart";
+
+abstract class LegacyClass1 extends core::Object {
+  synthetic constructor •() → gen::LegacyClass1*
+    ;
+  abstract method method1a<T extends core::Object* = dynamic>() → void;
+  abstract method method1b<T extends core::Object* = dynamic>() → void;
+  abstract method method1c<T extends core::Object* = dynamic>() → void;
+  abstract method method2a<T extends core::Object* = core::Object*>() → void;
+  abstract method method2b<T extends core::Object* = core::Object*>() → void;
+  abstract method method2c<T extends core::Object* = core::Object*>() → void;
+  abstract method method3a<T extends dynamic = dynamic>() → void;
+  abstract method method3b<T extends dynamic = dynamic>() → void;
+  abstract method method3c<T extends dynamic = dynamic>() → void;
+  abstract method method4a<T extends core::Object* = core::Object*>() → void;
+  abstract method method4b<T extends core::Object* = core::Object*>() → void;
+  abstract method method4c<T extends core::Object* = core::Object*>() → void;
+  abstract method method5a<T extends self::Class1* = self::Class1*>() → void;
+  abstract method method5b<T extends self::Class1* = self::Class1*>() → void;
+  abstract method method5c<T extends self::Class1* = self::Class1*>() → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class LegacyClass2 extends self::Class1 {
+  synthetic constructor •() → gen::LegacyClass2*
+    ;
+  abstract method method1a<T extends core::Object* = dynamic>() → void;
+  abstract method method1b<T extends core::Object* = core::Object*>() → void;
+  abstract method method1c<T extends dynamic = dynamic>() → void;
+  abstract method method2a<T extends core::Object* = dynamic>() → void;
+  abstract method method2b<T extends core::Object* = core::Object*>() → void;
+  abstract method method2c<T extends dynamic = dynamic>() → void;
+  abstract method method3a<T extends core::Object* = dynamic>() → void;
+  abstract method method3b<T extends core::Object* = core::Object*>() → void;
+  abstract method method3c<T extends dynamic = dynamic>() → void;
+  abstract method method4a<T extends core::Object* = core::Object*>() → void;
+  abstract method method4b<T extends core::Object* = core::Object*>() → void;
+  abstract method method4c<T extends core::Object* = core::Object*>() → void;
+  abstract method method5a<T extends self::Class1* = self::Class1*>() → void;
+  abstract method method5b<T extends self::Class1* = self::Class1*>() → void;
+  abstract method method5c<T extends self::Class1* = self::Class1*>() → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class LegacyClass3 extends self::Class1 {
+  synthetic constructor •() → gen::LegacyClass3*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature method method1a<T extends core::Object* = dynamic>() → void; -> self::Class1::method1a
+  abstract member-signature method method1b<T extends core::Object* = dynamic>() → void; -> self::Class1::method1b
+  abstract member-signature method method1c<T extends core::Object* = dynamic>() → void; -> self::Class1::method1c
+  abstract member-signature method method2a<T extends core::Object* = core::Object*>() → void; -> self::Class1::method2a
+  abstract member-signature method method2b<T extends core::Object* = core::Object*>() → void; -> self::Class1::method2b
+  abstract member-signature method method2c<T extends core::Object* = core::Object*>() → void; -> self::Class1::method2c
+  abstract member-signature method method4a<T extends core::Object* = core::Object*>() → void; -> self::Class1::method4a
+  abstract member-signature method method4b<T extends core::Object* = core::Object*>() → void; -> self::Class1::method4b
+  abstract member-signature method method4c<T extends core::Object* = core::Object*>() → void; -> self::Class1::method4c
+  abstract member-signature method method5a<T extends self::Class1* = self::Class1*>() → void; -> self::Class1::method5a
+  abstract member-signature method method5b<T extends self::Class1* = self::Class1*>() → void; -> self::Class1::method5b
+  abstract member-signature method method5c<T extends self::Class1* = self::Class1*>() → void; -> self::Class1::method5c
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_field.dart.weak.outline.expect
new file mode 100644
index 0000000..487ed85
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_field.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class AbstractSuper extends core::Object {
+  field core::int extendedConcreteField;
+  field core::int declaredConcreteExtendsConcreteField;
+  field core::int declaredAbstractExtendsConcreteField;
+  synthetic constructor •() → self::AbstractSuper
+    ;
+  abstract get extendedAbstractField() → core::int;
+  abstract set extendedAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredConcreteExtendsAbstractField() → core::int;
+  abstract set declaredConcreteExtendsAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractExtendsAbstractField() → core::int;
+  abstract set declaredAbstractExtendsAbstractField(core::int #externalFieldValue) → void;
+}
+abstract class AbstractClass extends self::AbstractSuper {
+  field core::int declaredConcreteField;
+  field core::int declaredConcreteExtendsConcreteField;
+  field core::int declaredConcreteExtendsAbstractField;
+  synthetic constructor •() → self::AbstractClass
+    ;
+  abstract get declaredAbstractField() → core::int;
+  abstract set declaredAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractExtendsConcreteField() → core::int;
+  abstract set declaredAbstractExtendsConcreteField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractExtendsAbstractField() → core::int;
+  abstract set declaredAbstractExtendsAbstractField(core::int #externalFieldValue) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_final_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_final_field.dart.weak.outline.expect
new file mode 100644
index 0000000..fe40055
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_final_field.dart.weak.outline.expect
@@ -0,0 +1,26 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class AbstractSuper extends core::Object {
+  final field core::int extendedConcreteField;
+  final field core::int declaredConcreteExtendsConcreteField;
+  final field core::int declaredAbstractExtendsConcreteField;
+  synthetic constructor •() → self::AbstractSuper
+    ;
+  abstract get extendedAbstractField() → core::int;
+  abstract get declaredConcreteExtendsAbstractField() → core::int;
+  abstract get declaredAbstractExtendsAbstractField() → core::int;
+}
+abstract class AbstractClass extends self::AbstractSuper {
+  final field core::int declaredConcreteField;
+  final field core::int declaredConcreteExtendsConcreteField;
+  final field core::int declaredConcreteExtendsAbstractField;
+  synthetic constructor •() → self::AbstractClass
+    ;
+  abstract get declaredAbstractField() → core::int;
+  abstract get declaredAbstractExtendsConcreteField() → core::int;
+  abstract get declaredAbstractExtendsAbstractField() → core::int;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_getter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_getter.dart.weak.outline.expect
new file mode 100644
index 0000000..a89cd8a
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_getter.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class AbstractSuper extends core::Object {
+  synthetic constructor •() → self::AbstractSuper
+    ;
+  get extendedConcreteGetter() → core::int
+    ;
+  abstract get extendedAbstractGetter() → core::int;
+  get declaredConcreteExtendsConcreteGetter() → core::int
+    ;
+  get declaredAbstractExtendsConcreteGetter() → core::int
+    ;
+  abstract get declaredConcreteExtendsAbstractGetter() → core::int;
+  abstract get declaredAbstractExtendsAbstractGetter() → core::int;
+}
+abstract class AbstractClass extends self::AbstractSuper {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  get declaredConcreteGetter() → core::int
+    ;
+  abstract get declaredAbstractGetter() → core::int;
+  get declaredConcreteExtendsConcreteGetter() → core::int
+    ;
+  abstract get declaredAbstractExtendsConcreteGetter() → core::int;
+  get declaredConcreteExtendsAbstractGetter() → core::int
+    ;
+  abstract get declaredAbstractExtendsAbstractGetter() → core::int;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_method.dart.weak.outline.expect
new file mode 100644
index 0000000..afe8e3a
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_method.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class AbstractSuper extends core::Object {
+  synthetic constructor •() → self::AbstractSuper
+    ;
+  method extendedConcreteMethod() → void
+    ;
+  abstract method extendedAbstractMethod() → void;
+  method declaredConcreteExtendsConcreteMethod() → void
+    ;
+  method declaredAbstractExtendsConcreteMethod() → void
+    ;
+  abstract method declaredConcreteExtendsAbstractMethod() → void;
+  abstract method declaredAbstractExtendsAbstractMethod() → void;
+}
+abstract class AbstractClass extends self::AbstractSuper {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  method declaredConcreteMethod() → void
+    ;
+  abstract method declaredAbstractMethod() → void;
+  method declaredConcreteExtendsConcreteMethod() → void
+    ;
+  abstract method declaredAbstractExtendsConcreteMethod() → void;
+  method declaredConcreteExtendsAbstractMethod() → void
+    ;
+  abstract method declaredAbstractExtendsAbstractMethod() → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..b125aa6
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_extends_setter.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class AbstractSuper extends core::Object {
+  synthetic constructor •() → self::AbstractSuper
+    ;
+  set extendedConcreteSetter(core::int value) → void
+    ;
+  abstract set extendedAbstractSetter(core::int value) → void;
+  set declaredConcreteExtendsConcreteSetter(core::int value) → void
+    ;
+  set declaredAbstractExtendsConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredConcreteExtendsAbstractSetter(core::int value) → void;
+  abstract set declaredAbstractExtendsAbstractSetter(core::int value) → void;
+}
+abstract class AbstractClass extends self::AbstractSuper {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  set declaredConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractSetter(core::int value) → void;
+  set declaredConcreteExtendsConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractExtendsConcreteSetter(core::int value) → void;
+  set declaredConcreteExtendsAbstractSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractExtendsAbstractSetter(core::int value) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_field.dart.weak.outline.expect
new file mode 100644
index 0000000..64ca3a3
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_field.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  field core::int implementedConcreteField;
+  field core::int declaredConcreteImplementsConcreteField;
+  field core::int declaredAbstractImplementsConcreteField;
+  synthetic constructor •() → self::Interface
+    ;
+  abstract get implementedAbstractField() → core::int;
+  abstract set implementedAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredConcreteImplementsAbstractField() → core::int;
+  abstract set declaredConcreteImplementsAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractImplementsAbstractField() → core::int;
+  abstract set declaredAbstractImplementsAbstractField(core::int #externalFieldValue) → void;
+}
+abstract class AbstractClass extends core::Object implements self::Interface {
+  field core::int declaredConcreteField;
+  field core::int declaredConcreteImplementsConcreteField;
+  field core::int declaredConcreteImplementsAbstractField;
+  synthetic constructor •() → self::AbstractClass
+    ;
+  abstract get declaredAbstractField() → core::int;
+  abstract set declaredAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractImplementsConcreteField() → core::int;
+  abstract set declaredAbstractImplementsConcreteField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractImplementsAbstractField() → core::int;
+  abstract set declaredAbstractImplementsAbstractField(core::int #externalFieldValue) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_final_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_final_field.dart.weak.outline.expect
new file mode 100644
index 0000000..946f3d0
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_final_field.dart.weak.outline.expect
@@ -0,0 +1,26 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  final field core::int implementedConcreteField;
+  final field core::int declaredConcreteImplementsConcreteField;
+  final field core::int declaredAbstractImplementsConcreteField;
+  synthetic constructor •() → self::Interface
+    ;
+  abstract get implementedAbstractField() → core::int;
+  abstract get declaredConcreteImplementsAbstractField() → core::int;
+  abstract get declaredAbstractImplementsAbstractField() → core::int;
+}
+abstract class AbstractClass extends core::Object implements self::Interface {
+  final field core::int declaredConcreteField;
+  final field core::int declaredConcreteImplementsConcreteField;
+  final field core::int declaredConcreteImplementsAbstractField;
+  synthetic constructor •() → self::AbstractClass
+    ;
+  abstract get declaredAbstractField() → core::int;
+  abstract get declaredAbstractImplementsConcreteField() → core::int;
+  abstract get declaredAbstractImplementsAbstractField() → core::int;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_getter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_getter.dart.weak.outline.expect
new file mode 100644
index 0000000..d2ee5a6
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_getter.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  get implementedConcreteGetter() → core::int
+    ;
+  abstract get implementedAbstractGetter() → core::int;
+  get declaredConcreteImplementsConcreteGetter() → core::int
+    ;
+  get declaredAbstractImplementsConcreteGetter() → core::int
+    ;
+  abstract get declaredConcreteImplementsAbstractGetter() → core::int;
+  abstract get declaredAbstractImplementsAbstractGetter() → core::int;
+}
+abstract class AbstractClass extends core::Object implements self::Interface {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  get declaredConcreteGetter() → core::int
+    ;
+  abstract get declaredAbstractGetter() → core::int;
+  get declaredConcreteImplementsConcreteGetter() → core::int
+    ;
+  abstract get declaredAbstractImplementsConcreteGetter() → core::int;
+  get declaredConcreteImplementsAbstractGetter() → core::int
+    ;
+  abstract get declaredAbstractImplementsAbstractGetter() → core::int;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_method.dart.weak.outline.expect
new file mode 100644
index 0000000..f773ebb
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_method.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  method implementedConcreteMethod() → void
+    ;
+  abstract method implementedAbstractMethod() → void;
+  method declaredConcreteImplementsConcreteMethod() → void
+    ;
+  method declaredAbstractImplementsConcreteMethod() → void
+    ;
+  abstract method declaredConcreteImplementsAbstractMethod() → void;
+  abstract method declaredAbstractImplementsAbstractMethod() → void;
+}
+abstract class AbstractClass extends core::Object implements self::Interface {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  method declaredConcreteMethod() → void
+    ;
+  abstract method declaredAbstractMethod() → void;
+  method declaredConcreteImplementsConcreteMethod() → void
+    ;
+  abstract method declaredAbstractImplementsConcreteMethod() → void;
+  method declaredConcreteImplementsAbstractMethod() → void
+    ;
+  abstract method declaredAbstractImplementsAbstractMethod() → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..cedb3f8
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_implements_setter.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  set implementedConcreteSetter(core::int value) → void
+    ;
+  abstract set implementedAbstractSetter(core::int value) → void;
+  set declaredConcreteImplementsConcreteSetter(core::int value) → void
+    ;
+  set declaredAbstractImplementsConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredConcreteImplementsAbstractSetter(core::int value) → void;
+  abstract set declaredAbstractImplementsAbstractSetter(core::int value) → void;
+}
+abstract class AbstractClass extends core::Object implements self::Interface {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  set declaredConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractSetter(core::int value) → void;
+  set declaredConcreteImplementsConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractImplementsConcreteSetter(core::int value) → void;
+  set declaredConcreteImplementsAbstractSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractImplementsAbstractSetter(core::int value) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.outline.expect
new file mode 100644
index 0000000..8a768bf
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/abstract_mixin.dart.weak.outline.expect
@@ -0,0 +1,52 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method extendedConcreteMixedInAbstractMethod() → void
+    ;
+  method extendedConcreteMixedInConcreteMethod() → void
+    ;
+  method extendedConcreteMixedInAbstractImplementedMethod(core::int i) → void
+    ;
+  method extendedConcreteMixedInConcreteImplementedMethod(core::int i) → void
+    ;
+}
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  method extendedConcreteMixedInAbstractImplementedMethod(covariant core::num i) → void
+    ;
+  method extendedConcreteMixedInConcreteImplementedMethod(covariant core::num i) → void
+    ;
+}
+abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
+  abstract method extendedConcreteMixedInAbstractMethod() → void;
+  method extendedConcreteMixedInConcreteMethod() → void
+    ;
+  abstract method extendedConcreteMixedInAbstractImplementedMethod(core::int i) → void;
+  method extendedConcreteMixedInConcreteImplementedMethod(core::int i) → void
+    ;
+}
+class Class = self::Super with self::Mixin implements self::Interface {
+  synthetic constructor •() → self::Class
+    : super self::Super::•()
+    ;
+  abstract mixin-stub method extendedConcreteMixedInAbstractMethod() → void; -> self::Mixin::extendedConcreteMixedInAbstractMethod
+  mixin-super-stub method extendedConcreteMixedInConcreteMethod() → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteMethod}();
+  forwarding-stub method extendedConcreteMixedInAbstractImplementedMethod(covariant core::int i) → void
+    return super.{self::Super::extendedConcreteMixedInAbstractImplementedMethod}(i);
+  forwarding-stub method extendedConcreteMixedInConcreteImplementedMethod(covariant core::int i) → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteImplementedMethod}(i);
+}
+class Sub extends self::Class {
+  synthetic constructor •() → self::Sub
+    ;
+  method test() → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart.weak.outline.expect
new file mode 100644
index 0000000..cedd31f
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart.weak.outline.expect
@@ -0,0 +1,103 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:5:7: Error: The non-abstract class 'ConcreteSuper' is missing implementations for these members:
+//  - ConcreteSuper.declaredAbstractExtendsAbstractField
+//  - ConcreteSuper.declaredAbstractExtendsAbstractField=
+//  - ConcreteSuper.declaredConcreteExtendsAbstractField
+//  - ConcreteSuper.declaredConcreteExtendsAbstractField=
+//  - ConcreteSuper.extendedAbstractField
+//  - ConcreteSuper.extendedAbstractField=
+// 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 ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:16:16: Context: 'ConcreteSuper.declaredAbstractExtendsAbstractField' is defined here.
+//   abstract int declaredAbstractExtendsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:16:16: Context: 'ConcreteSuper.declaredAbstractExtendsAbstractField=' is defined here.
+//   abstract int declaredAbstractExtendsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:14:16: Context: 'ConcreteSuper.declaredConcreteExtendsAbstractField' is defined here.
+//   abstract int declaredConcreteExtendsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:14:16: Context: 'ConcreteSuper.declaredConcreteExtendsAbstractField=' is defined here.
+//   abstract int declaredConcreteExtendsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:8:16: Context: 'ConcreteSuper.extendedAbstractField' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:8:16: Context: 'ConcreteSuper.extendedAbstractField=' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractExtendsAbstractField
+//  - ConcreteClass.declaredAbstractExtendsAbstractField=
+//  - ConcreteClass.declaredAbstractField
+//  - ConcreteClass.declaredAbstractField=
+//  - ConcreteSuper.extendedAbstractField
+//  - ConcreteSuper.extendedAbstractField=
+// 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 ConcreteClass extends ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:30:16: Context: 'ConcreteClass.declaredAbstractExtendsAbstractField' is defined here.
+//   abstract int declaredAbstractExtendsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:30:16: Context: 'ConcreteClass.declaredAbstractExtendsAbstractField=' is defined here.
+//   abstract int declaredAbstractExtendsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:22:16: Context: 'ConcreteClass.declaredAbstractField' is defined here.
+//   abstract int declaredAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:22:16: Context: 'ConcreteClass.declaredAbstractField=' is defined here.
+//   abstract int declaredAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:8:16: Context: 'ConcreteSuper.extendedAbstractField' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_field.dart:8:16: Context: 'ConcreteSuper.extendedAbstractField=' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class ConcreteSuper extends core::Object {
+  field core::int extendedConcreteField;
+  field core::int declaredConcreteExtendsConcreteField;
+  field core::int declaredAbstractExtendsConcreteField;
+  synthetic constructor •() → self::ConcreteSuper
+    ;
+  abstract get extendedAbstractField() → core::int;
+  abstract set extendedAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredConcreteExtendsAbstractField() → core::int;
+  abstract set declaredConcreteExtendsAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractExtendsAbstractField() → core::int;
+  abstract set declaredAbstractExtendsAbstractField(core::int #externalFieldValue) → void;
+}
+class ConcreteClass extends self::ConcreteSuper {
+  field core::int declaredConcreteField;
+  field core::int declaredConcreteExtendsConcreteField;
+  field core::int declaredConcreteExtendsAbstractField;
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  abstract get declaredAbstractField() → core::int;
+  abstract set declaredAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractExtendsConcreteField() → core::int;
+  abstract set declaredAbstractExtendsConcreteField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractExtendsAbstractField() → core::int;
+  abstract set declaredAbstractExtendsAbstractField(core::int #externalFieldValue) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart.weak.outline.expect
new file mode 100644
index 0000000..5a173f8
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart.weak.outline.expect
@@ -0,0 +1,73 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart:5:7: Error: The non-abstract class 'ConcreteSuper' is missing implementations for these members:
+//  - ConcreteSuper.declaredAbstractExtendsAbstractField
+//  - ConcreteSuper.declaredConcreteExtendsAbstractField
+//  - ConcreteSuper.extendedAbstractField
+// 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 ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart:16:22: Context: 'ConcreteSuper.declaredAbstractExtendsAbstractField' is defined here.
+//   abstract final int declaredAbstractExtendsAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart:14:22: Context: 'ConcreteSuper.declaredConcreteExtendsAbstractField' is defined here.
+//   abstract final int declaredConcreteExtendsAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart:8:22: Context: 'ConcreteSuper.extendedAbstractField' is defined here.
+//   abstract final int extendedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractExtendsAbstractField
+//  - ConcreteClass.declaredAbstractField
+//  - ConcreteSuper.extendedAbstractField
+// 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 ConcreteClass extends ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart:30:22: Context: 'ConcreteClass.declaredAbstractExtendsAbstractField' is defined here.
+//   abstract final int declaredAbstractExtendsAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart:22:22: Context: 'ConcreteClass.declaredAbstractField' is defined here.
+//   abstract final int declaredAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_final_field.dart:8:22: Context: 'ConcreteSuper.extendedAbstractField' is defined here.
+//   abstract final int extendedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class ConcreteSuper extends core::Object {
+  final field core::int extendedConcreteField;
+  final field core::int declaredConcreteExtendsConcreteField;
+  final field core::int declaredAbstractExtendsConcreteField;
+  synthetic constructor •() → self::ConcreteSuper
+    ;
+  abstract get extendedAbstractField() → core::int;
+  abstract get declaredConcreteExtendsAbstractField() → core::int;
+  abstract get declaredAbstractExtendsAbstractField() → core::int;
+}
+class ConcreteClass extends self::ConcreteSuper {
+  final field core::int declaredConcreteField;
+  final field core::int declaredConcreteExtendsConcreteField;
+  final field core::int declaredConcreteExtendsAbstractField;
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  abstract get declaredAbstractField() → core::int;
+  abstract get declaredAbstractExtendsConcreteField() → core::int;
+  abstract get declaredAbstractExtendsAbstractField() → core::int;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart.weak.outline.expect
new file mode 100644
index 0000000..f54d2ed
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart.weak.outline.expect
@@ -0,0 +1,79 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart:5:7: Error: The non-abstract class 'ConcreteSuper' is missing implementations for these members:
+//  - ConcreteSuper.declaredAbstractExtendsAbstractGetter
+//  - ConcreteSuper.declaredConcreteExtendsAbstractGetter
+//  - ConcreteSuper.extendedAbstractGetter
+// 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 ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart:16:11: Context: 'ConcreteSuper.declaredAbstractExtendsAbstractGetter' is defined here.
+//   int get declaredAbstractExtendsAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart:14:11: Context: 'ConcreteSuper.declaredConcreteExtendsAbstractGetter' is defined here.
+//   int get declaredConcreteExtendsAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart:8:11: Context: 'ConcreteSuper.extendedAbstractGetter' is defined here.
+//   int get extendedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractExtendsAbstractGetter
+//  - ConcreteClass.declaredAbstractGetter
+//  - ConcreteSuper.extendedAbstractGetter
+// 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 ConcreteClass extends ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart:30:11: Context: 'ConcreteClass.declaredAbstractExtendsAbstractGetter' is defined here.
+//   int get declaredAbstractExtendsAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart:22:11: Context: 'ConcreteClass.declaredAbstractGetter' is defined here.
+//   int get declaredAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_getter.dart:8:11: Context: 'ConcreteSuper.extendedAbstractGetter' is defined here.
+//   int get extendedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class ConcreteSuper extends core::Object {
+  synthetic constructor •() → self::ConcreteSuper
+    ;
+  get extendedConcreteGetter() → core::int
+    ;
+  abstract get extendedAbstractGetter() → core::int;
+  get declaredConcreteExtendsConcreteGetter() → core::int
+    ;
+  get declaredAbstractExtendsConcreteGetter() → core::int
+    ;
+  abstract get declaredConcreteExtendsAbstractGetter() → core::int;
+  abstract get declaredAbstractExtendsAbstractGetter() → core::int;
+}
+class ConcreteClass extends self::ConcreteSuper {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  get declaredConcreteGetter() → core::int
+    ;
+  abstract get declaredAbstractGetter() → core::int;
+  get declaredConcreteExtendsConcreteGetter() → core::int
+    ;
+  abstract get declaredAbstractExtendsConcreteGetter() → core::int;
+  get declaredConcreteExtendsAbstractGetter() → core::int
+    ;
+  abstract get declaredAbstractExtendsAbstractGetter() → core::int;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart.weak.outline.expect
new file mode 100644
index 0000000..c295c3b
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart.weak.outline.expect
@@ -0,0 +1,79 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart:5:7: Error: The non-abstract class 'ConcreteSuper' is missing implementations for these members:
+//  - ConcreteSuper.declaredAbstractExtendsAbstractMethod
+//  - ConcreteSuper.declaredConcreteExtendsAbstractMethod
+//  - ConcreteSuper.extendedAbstractMethod
+// 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 ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart:16:8: Context: 'ConcreteSuper.declaredAbstractExtendsAbstractMethod' is defined here.
+//   void declaredAbstractExtendsAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart:14:8: Context: 'ConcreteSuper.declaredConcreteExtendsAbstractMethod' is defined here.
+//   void declaredConcreteExtendsAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart:8:8: Context: 'ConcreteSuper.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractExtendsAbstractMethod
+//  - ConcreteClass.declaredAbstractMethod
+//  - ConcreteSuper.extendedAbstractMethod
+// 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 ConcreteClass extends ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart:30:8: Context: 'ConcreteClass.declaredAbstractExtendsAbstractMethod' is defined here.
+//   void declaredAbstractExtendsAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart:22:8: Context: 'ConcreteClass.declaredAbstractMethod' is defined here.
+//   void declaredAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_method.dart:8:8: Context: 'ConcreteSuper.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class ConcreteSuper extends core::Object {
+  synthetic constructor •() → self::ConcreteSuper
+    ;
+  method extendedConcreteMethod() → void
+    ;
+  abstract method extendedAbstractMethod() → void;
+  method declaredConcreteExtendsConcreteMethod() → void
+    ;
+  method declaredAbstractExtendsConcreteMethod() → void
+    ;
+  abstract method declaredConcreteExtendsAbstractMethod() → void;
+  abstract method declaredAbstractExtendsAbstractMethod() → void;
+}
+class ConcreteClass extends self::ConcreteSuper {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  method declaredConcreteMethod() → void
+    ;
+  abstract method declaredAbstractMethod() → void;
+  method declaredConcreteExtendsConcreteMethod() → void
+    ;
+  abstract method declaredAbstractExtendsConcreteMethod() → void;
+  method declaredConcreteExtendsAbstractMethod() → void
+    ;
+  abstract method declaredAbstractExtendsAbstractMethod() → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..31c5cd2
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart.weak.outline.expect
@@ -0,0 +1,79 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart:5:7: Error: The non-abstract class 'ConcreteSuper' is missing implementations for these members:
+//  - ConcreteSuper.declaredAbstractExtendsAbstractSetter=
+//  - ConcreteSuper.declaredConcreteExtendsAbstractSetter=
+//  - ConcreteSuper.extendedAbstractSetter=
+// 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 ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart:16:12: Context: 'ConcreteSuper.declaredAbstractExtendsAbstractSetter=' is defined here.
+//   void set declaredAbstractExtendsAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart:14:12: Context: 'ConcreteSuper.declaredConcreteExtendsAbstractSetter=' is defined here.
+//   void set declaredConcreteExtendsAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart:8:12: Context: 'ConcreteSuper.extendedAbstractSetter=' is defined here.
+//   void set extendedAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractExtendsAbstractSetter=
+//  - ConcreteClass.declaredAbstractSetter=
+//  - ConcreteSuper.extendedAbstractSetter=
+// 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 ConcreteClass extends ConcreteSuper {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart:30:12: Context: 'ConcreteClass.declaredAbstractExtendsAbstractSetter=' is defined here.
+//   void set declaredAbstractExtendsAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart:22:12: Context: 'ConcreteClass.declaredAbstractSetter=' is defined here.
+//   void set declaredAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_extends_setter.dart:8:12: Context: 'ConcreteSuper.extendedAbstractSetter=' is defined here.
+//   void set extendedAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class ConcreteSuper extends core::Object {
+  synthetic constructor •() → self::ConcreteSuper
+    ;
+  set extendedConcreteSetter(core::int value) → void
+    ;
+  abstract set extendedAbstractSetter(core::int value) → void;
+  set declaredConcreteExtendsConcreteSetter(core::int value) → void
+    ;
+  set declaredAbstractExtendsConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredConcreteExtendsAbstractSetter(core::int value) → void;
+  abstract set declaredAbstractExtendsAbstractSetter(core::int value) → void;
+}
+class ConcreteClass extends self::ConcreteSuper {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  set declaredConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractSetter(core::int value) → void;
+  set declaredConcreteExtendsConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractExtendsConcreteSetter(core::int value) → void;
+  set declaredConcreteExtendsAbstractSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractExtendsAbstractSetter(core::int value) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart.weak.outline.expect
new file mode 100644
index 0000000..c2561bf
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart.weak.outline.expect
@@ -0,0 +1,115 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:5:7: Error: The non-abstract class 'Interface' is missing implementations for these members:
+//  - Interface.declaredAbstractImplementsAbstractField
+//  - Interface.declaredAbstractImplementsAbstractField=
+//  - Interface.declaredConcreteImplementsAbstractField
+//  - Interface.declaredConcreteImplementsAbstractField=
+//  - Interface.implementedAbstractField
+//  - Interface.implementedAbstractField=
+// 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 Interface {
+//       ^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:16:16: Context: 'Interface.declaredAbstractImplementsAbstractField' is defined here.
+//   abstract int declaredAbstractImplementsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:16:16: Context: 'Interface.declaredAbstractImplementsAbstractField=' is defined here.
+//   abstract int declaredAbstractImplementsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:14:16: Context: 'Interface.declaredConcreteImplementsAbstractField' is defined here.
+//   abstract int declaredConcreteImplementsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:14:16: Context: 'Interface.declaredConcreteImplementsAbstractField=' is defined here.
+//   abstract int declaredConcreteImplementsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:8:16: Context: 'Interface.implementedAbstractField' is defined here.
+//   abstract int implementedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:8:16: Context: 'Interface.implementedAbstractField=' is defined here.
+//   abstract int implementedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractField
+//  - ConcreteClass.declaredAbstractField=
+//  - ConcreteClass.declaredAbstractImplementsAbstractField
+//  - ConcreteClass.declaredAbstractImplementsAbstractField=
+//  - ConcreteClass.declaredAbstractImplementsConcreteField
+//  - ConcreteClass.declaredAbstractImplementsConcreteField=
+//  - Interface.implementedAbstractField
+//  - Interface.implementedAbstractField=
+//  - Interface.implementedConcreteField
+// 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 ConcreteClass implements Interface {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:22:16: Context: 'ConcreteClass.declaredAbstractField' is defined here.
+//   abstract int declaredAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:22:16: Context: 'ConcreteClass.declaredAbstractField=' is defined here.
+//   abstract int declaredAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:30:16: Context: 'ConcreteClass.declaredAbstractImplementsAbstractField' is defined here.
+//   abstract int declaredAbstractImplementsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:30:16: Context: 'ConcreteClass.declaredAbstractImplementsAbstractField=' is defined here.
+//   abstract int declaredAbstractImplementsAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:26:16: Context: 'ConcreteClass.declaredAbstractImplementsConcreteField' is defined here.
+//   abstract int declaredAbstractImplementsConcreteField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:26:16: Context: 'ConcreteClass.declaredAbstractImplementsConcreteField=' is defined here.
+//   abstract int declaredAbstractImplementsConcreteField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:8:16: Context: 'Interface.implementedAbstractField' is defined here.
+//   abstract int implementedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:8:16: Context: 'Interface.implementedAbstractField=' is defined here.
+//   abstract int implementedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_field.dart:6:7: Context: 'Interface.implementedConcreteField' is defined here.
+//   int implementedConcreteField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface extends core::Object {
+  field core::int implementedConcreteField;
+  field core::int declaredConcreteImplementsConcreteField;
+  field core::int declaredAbstractImplementsConcreteField;
+  synthetic constructor •() → self::Interface
+    ;
+  abstract get implementedAbstractField() → core::int;
+  abstract set implementedAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredConcreteImplementsAbstractField() → core::int;
+  abstract set declaredConcreteImplementsAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractImplementsAbstractField() → core::int;
+  abstract set declaredAbstractImplementsAbstractField(core::int #externalFieldValue) → void;
+}
+class ConcreteClass extends core::Object implements self::Interface {
+  field core::int declaredConcreteField;
+  field core::int declaredConcreteImplementsConcreteField;
+  field core::int declaredConcreteImplementsAbstractField;
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  abstract get declaredAbstractField() → core::int;
+  abstract set declaredAbstractField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractImplementsConcreteField() → core::int;
+  abstract set declaredAbstractImplementsConcreteField(core::int #externalFieldValue) → void;
+  abstract get declaredAbstractImplementsAbstractField() → core::int;
+  abstract set declaredAbstractImplementsAbstractField(core::int #externalFieldValue) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart.weak.outline.expect
new file mode 100644
index 0000000..fd12230
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart.weak.outline.expect
@@ -0,0 +1,81 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:5:7: Error: The non-abstract class 'Interface' is missing implementations for these members:
+//  - Interface.declaredAbstractImplementsAbstractField
+//  - Interface.declaredConcreteImplementsAbstractField
+//  - Interface.implementedAbstractField
+// 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 Interface {
+//       ^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:16:22: Context: 'Interface.declaredAbstractImplementsAbstractField' is defined here.
+//   abstract final int declaredAbstractImplementsAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:14:22: Context: 'Interface.declaredConcreteImplementsAbstractField' is defined here.
+//   abstract final int declaredConcreteImplementsAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:8:22: Context: 'Interface.implementedAbstractField' is defined here.
+//   abstract final int implementedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractField
+//  - ConcreteClass.declaredAbstractImplementsAbstractField
+//  - ConcreteClass.declaredAbstractImplementsConcreteField
+//  - Interface.implementedAbstractField
+//  - Interface.implementedConcreteField
+// 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 ConcreteClass implements Interface {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:22:22: Context: 'ConcreteClass.declaredAbstractField' is defined here.
+//   abstract final int declaredAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:30:22: Context: 'ConcreteClass.declaredAbstractImplementsAbstractField' is defined here.
+//   abstract final int declaredAbstractImplementsAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:26:22: Context: 'ConcreteClass.declaredAbstractImplementsConcreteField' is defined here.
+//   abstract final int declaredAbstractImplementsConcreteField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:8:22: Context: 'Interface.implementedAbstractField' is defined here.
+//   abstract final int implementedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_final_field.dart:6:13: Context: 'Interface.implementedConcreteField' is defined here.
+//   final int implementedConcreteField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface extends core::Object {
+  final field core::int implementedConcreteField;
+  final field core::int declaredConcreteImplementsConcreteField;
+  final field core::int declaredAbstractImplementsConcreteField;
+  synthetic constructor •() → self::Interface
+    ;
+  abstract get implementedAbstractField() → core::int;
+  abstract get declaredConcreteImplementsAbstractField() → core::int;
+  abstract get declaredAbstractImplementsAbstractField() → core::int;
+}
+class ConcreteClass extends core::Object implements self::Interface {
+  final field core::int declaredConcreteField;
+  final field core::int declaredConcreteImplementsConcreteField;
+  final field core::int declaredConcreteImplementsAbstractField;
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  abstract get declaredAbstractField() → core::int;
+  abstract get declaredAbstractImplementsConcreteField() → core::int;
+  abstract get declaredAbstractImplementsAbstractField() → core::int;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart.weak.outline.expect
new file mode 100644
index 0000000..c70f85a
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart.weak.outline.expect
@@ -0,0 +1,87 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:5:7: Error: The non-abstract class 'Interface' is missing implementations for these members:
+//  - Interface.declaredAbstractImplementsAbstractGetter
+//  - Interface.declaredConcreteImplementsAbstractGetter
+//  - Interface.implementedAbstractGetter
+// 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 Interface {
+//       ^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:16:11: Context: 'Interface.declaredAbstractImplementsAbstractGetter' is defined here.
+//   int get declaredAbstractImplementsAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:14:11: Context: 'Interface.declaredConcreteImplementsAbstractGetter' is defined here.
+//   int get declaredConcreteImplementsAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:8:11: Context: 'Interface.implementedAbstractGetter' is defined here.
+//   int get implementedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractGetter
+//  - ConcreteClass.declaredAbstractImplementsAbstractGetter
+//  - ConcreteClass.declaredAbstractImplementsConcreteGetter
+//  - Interface.implementedAbstractGetter
+//  - Interface.implementedConcreteGetter
+// 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 ConcreteClass implements Interface {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:22:11: Context: 'ConcreteClass.declaredAbstractGetter' is defined here.
+//   int get declaredAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:30:11: Context: 'ConcreteClass.declaredAbstractImplementsAbstractGetter' is defined here.
+//   int get declaredAbstractImplementsAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:26:11: Context: 'ConcreteClass.declaredAbstractImplementsConcreteGetter' is defined here.
+//   int get declaredAbstractImplementsConcreteGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:8:11: Context: 'Interface.implementedAbstractGetter' is defined here.
+//   int get implementedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_getter.dart:6:11: Context: 'Interface.implementedConcreteGetter' is defined here.
+//   int get implementedConcreteGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  get implementedConcreteGetter() → core::int
+    ;
+  abstract get implementedAbstractGetter() → core::int;
+  get declaredConcreteImplementsConcreteGetter() → core::int
+    ;
+  get declaredAbstractImplementsConcreteGetter() → core::int
+    ;
+  abstract get declaredConcreteImplementsAbstractGetter() → core::int;
+  abstract get declaredAbstractImplementsAbstractGetter() → core::int;
+}
+class ConcreteClass extends core::Object implements self::Interface {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  get declaredConcreteGetter() → core::int
+    ;
+  abstract get declaredAbstractGetter() → core::int;
+  get declaredConcreteImplementsConcreteGetter() → core::int
+    ;
+  abstract get declaredAbstractImplementsConcreteGetter() → core::int;
+  get declaredConcreteImplementsAbstractGetter() → core::int
+    ;
+  abstract get declaredAbstractImplementsAbstractGetter() → core::int;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart.weak.outline.expect
new file mode 100644
index 0000000..ca40c1e
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart.weak.outline.expect
@@ -0,0 +1,87 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:5:7: Error: The non-abstract class 'Interface' is missing implementations for these members:
+//  - Interface.declaredAbstractImplementsAbstractMethod
+//  - Interface.declaredConcreteImplementsAbstractMethod
+//  - Interface.implementedAbstractMethod
+// 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 Interface {
+//       ^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:16:8: Context: 'Interface.declaredAbstractImplementsAbstractMethod' is defined here.
+//   void declaredAbstractImplementsAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:14:8: Context: 'Interface.declaredConcreteImplementsAbstractMethod' is defined here.
+//   void declaredConcreteImplementsAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:8:8: Context: 'Interface.implementedAbstractMethod' is defined here.
+//   void implementedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractImplementsAbstractMethod
+//  - ConcreteClass.declaredAbstractImplementsConcreteMethod
+//  - ConcreteClass.declaredAbstractMethod
+//  - Interface.implementedAbstractMethod
+//  - Interface.implementedConcreteMethod
+// 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 ConcreteClass implements Interface {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:30:8: Context: 'ConcreteClass.declaredAbstractImplementsAbstractMethod' is defined here.
+//   void declaredAbstractImplementsAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:26:8: Context: 'ConcreteClass.declaredAbstractImplementsConcreteMethod' is defined here.
+//   void declaredAbstractImplementsConcreteMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:22:8: Context: 'ConcreteClass.declaredAbstractMethod' is defined here.
+//   void declaredAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:8:8: Context: 'Interface.implementedAbstractMethod' is defined here.
+//   void implementedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_method.dart:6:8: Context: 'Interface.implementedConcreteMethod' is defined here.
+//   void implementedConcreteMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  method implementedConcreteMethod() → void
+    ;
+  abstract method implementedAbstractMethod() → void;
+  method declaredConcreteImplementsConcreteMethod() → void
+    ;
+  method declaredAbstractImplementsConcreteMethod() → void
+    ;
+  abstract method declaredConcreteImplementsAbstractMethod() → void;
+  abstract method declaredAbstractImplementsAbstractMethod() → void;
+}
+class ConcreteClass extends core::Object implements self::Interface {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  method declaredConcreteMethod() → void
+    ;
+  abstract method declaredAbstractMethod() → void;
+  method declaredConcreteImplementsConcreteMethod() → void
+    ;
+  abstract method declaredAbstractImplementsConcreteMethod() → void;
+  method declaredConcreteImplementsAbstractMethod() → void
+    ;
+  abstract method declaredAbstractImplementsAbstractMethod() → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..a04f536
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart.weak.outline.expect
@@ -0,0 +1,87 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:5:7: Error: The non-abstract class 'Interface' is missing implementations for these members:
+//  - Interface.declaredAbstractImplementsAbstractSetter=
+//  - Interface.declaredConcreteImplementsAbstractSetter=
+//  - Interface.implementedAbstractSetter=
+// 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 Interface {
+//       ^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:16:12: Context: 'Interface.declaredAbstractImplementsAbstractSetter=' is defined here.
+//   void set declaredAbstractImplementsAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:14:12: Context: 'Interface.declaredConcreteImplementsAbstractSetter=' is defined here.
+//   void set declaredConcreteImplementsAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:8:12: Context: 'Interface.implementedAbstractSetter=' is defined here.
+//   void set implementedAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:19:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declaredAbstractImplementsAbstractSetter=
+//  - ConcreteClass.declaredAbstractImplementsConcreteSetter=
+//  - ConcreteClass.declaredAbstractSetter=
+//  - Interface.implementedAbstractSetter=
+//  - Interface.implementedConcreteSetter=
+// 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 ConcreteClass implements Interface {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:30:12: Context: 'ConcreteClass.declaredAbstractImplementsAbstractSetter=' is defined here.
+//   void set declaredAbstractImplementsAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:26:12: Context: 'ConcreteClass.declaredAbstractImplementsConcreteSetter=' is defined here.
+//   void set declaredAbstractImplementsConcreteSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:22:12: Context: 'ConcreteClass.declaredAbstractSetter=' is defined here.
+//   void set declaredAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:8:12: Context: 'Interface.implementedAbstractSetter=' is defined here.
+//   void set implementedAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/concrete_implements_setter.dart:6:12: Context: 'Interface.implementedConcreteSetter=' is defined here.
+//   void set implementedConcreteSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  set implementedConcreteSetter(core::int value) → void
+    ;
+  abstract set implementedAbstractSetter(core::int value) → void;
+  set declaredConcreteImplementsConcreteSetter(core::int value) → void
+    ;
+  set declaredAbstractImplementsConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredConcreteImplementsAbstractSetter(core::int value) → void;
+  abstract set declaredAbstractImplementsAbstractSetter(core::int value) → void;
+}
+class ConcreteClass extends core::Object implements self::Interface {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  set declaredConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractSetter(core::int value) → void;
+  set declaredConcreteImplementsConcreteSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractImplementsConcreteSetter(core::int value) → void;
+  set declaredConcreteImplementsAbstractSetter(core::int value) → void
+    ;
+  abstract set declaredAbstractImplementsAbstractSetter(core::int value) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart.weak.outline.expect
new file mode 100644
index 0000000..de6755b
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart.weak.outline.expect
@@ -0,0 +1,377 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:90:16: Error: Can't inherit members that conflict with each other.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:13:8: Context: This is one inherited member.
+//   void extendedMethodMixedInGetter() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:43:11: Context: This is the other inherited member.
+//   int get extendedMethodMixedInGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:93:11: Error: Can't declare a member that conflicts with an inherited one.
+//   int get extendedMethodDeclaredGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:6:8: Context: This is the inherited member.
+//   void extendedMethodDeclaredGetter() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:95:7: Error: Can't declare a member that conflicts with an inherited one.
+//   int extendedMethodDeclaredField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:8:8: Context: This is the inherited member.
+//   void extendedMethodDeclaredField() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:96:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void extendedGetterDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:9:11: Context: This is the inherited member.
+//   int get extendedGetterDeclaredMethod => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:97:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void extendedSetterDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:10:12: Context: This is the inherited member.
+//   void set extendedSetterDeclaredMethod(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:98:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void extendedFieldDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:11:7: Context: This is the inherited member.
+//   int extendedFieldDeclaredMethod = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:100:11: Error: Can't declare a member that conflicts with an inherited one.
+//   int get mixedInMethodDeclaredGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:29:8: Context: This is the inherited member.
+//   void mixedInMethodDeclaredGetter() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:102:7: Error: Can't declare a member that conflicts with an inherited one.
+//   int mixedInMethodDeclaredField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:31:8: Context: This is the inherited member.
+//   void mixedInMethodDeclaredField() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:103:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void mixedInGetterDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:32:11: Context: This is the inherited member.
+//   int get mixedInGetterDeclaredMethod => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:104:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void mixedInSetterDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:33:12: Context: This is the inherited member.
+//   void set mixedInSetterDeclaredMethod(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:105:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void mixedInFieldDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:34:7: Context: This is the inherited member.
+//   int mixedInFieldDeclaredMethod = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:107:11: Error: Can't declare a member that conflicts with an inherited one.
+//   int get implementedMethodDeclaredGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:52:8: Context: This is the inherited member.
+//   void implementedMethodDeclaredGetter() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:109:7: Error: Can't declare a member that conflicts with an inherited one.
+//   int implementedMethodDeclaredField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:54:8: Context: This is the inherited member.
+//   void implementedMethodDeclaredField() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:110:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void implementedGetterDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:55:11: Context: This is the inherited member.
+//   int get implementedGetterDeclaredMethod => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:111:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void implementedSetterDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:56:12: Context: This is the inherited member.
+//   void set implementedSetterDeclaredMethod(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:112:8: Error: Can't declare a member that conflicts with an inherited one.
+//   void implementedFieldDeclaredMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:57:7: Context: This is the inherited member.
+//   int implementedFieldDeclaredMethod = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:115:12: Error: 'declaredMethodAndSetter' is already declared in this scope.
+//   void set declaredMethodAndSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:114:8: Context: Previous declaration of 'declaredMethodAndSetter'.
+//   void declaredMethodAndSetter() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:94:12: Error: Can't declare a member that conflicts with an inherited one.
+//   void set extendedMethodDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:7:8: Context: This is the inherited member.
+//   void extendedMethodDeclaredSetter() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:101:12: Error: Can't declare a member that conflicts with an inherited one.
+//   void set mixedInMethodDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:30:8: Context: This is the inherited member.
+//   void mixedInMethodDeclaredSetter() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:108:12: Error: Can't declare a member that conflicts with an inherited one.
+//   void set implementedMethodDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/conflict.dart:53:8: Context: This is the inherited member.
+//   void implementedMethodDeclaredSetter() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  field core::int extendedFieldDeclaredMethod;
+  field core::int extendedFieldMixedInMethod;
+  field core::int extendedFieldImplementedMethod;
+  synthetic constructor •() → self::Super
+    ;
+  method extendedMethodDeclaredGetter() → void
+    ;
+  method extendedMethodDeclaredSetter() → void
+    ;
+  method extendedMethodDeclaredField() → void
+    ;
+  get extendedGetterDeclaredMethod() → core::int
+    ;
+  set extendedSetterDeclaredMethod(core::int value) → void
+    ;
+  method extendedMethodMixedInGetter() → void
+    ;
+  method extendedMethodMixedInSetter() → void
+    ;
+  method extendedMethodMixedInField() → void
+    ;
+  get extendedGetterMixedInMethod() → core::int
+    ;
+  set extendedSetterMixedInMethod(core::int value) → void
+    ;
+  method extendedMethodImplementedGetter() → void
+    ;
+  method extendedMethodImplementedSetter() → void
+    ;
+  method extendedMethodImplementedField() → void
+    ;
+  get extendedGetterImplementedMethod() → core::int
+    ;
+  set extendedSetterImplementedMethod(core::int value) → void
+    ;
+}
+class Mixin extends core::Object {
+  field core::int mixedInFieldDeclaredMethod;
+  field core::int mixedInFieldImplementedMethod;
+  field core::int extendedMethodMixedInField;
+  synthetic constructor •() → self::Mixin
+    ;
+  method mixedInMethodDeclaredGetter() → void
+    ;
+  method mixedInMethodDeclaredSetter() → void
+    ;
+  method mixedInMethodDeclaredField() → void
+    ;
+  get mixedInGetterDeclaredMethod() → core::int
+    ;
+  set mixedInSetterDeclaredMethod(core::int value) → void
+    ;
+  method mixedInMethodImplementedGetter() → void
+    ;
+  method mixedInMethodImplementedSetter() → void
+    ;
+  method mixedInMethodImplementedField() → void
+    ;
+  get mixedInGetterImplementedMethod() → core::int
+    ;
+  set mixedInSetterImplementedMethod(core::int value) → void
+    ;
+  get extendedMethodMixedInGetter() → core::int
+    ;
+  set extendedMethodMixedInSetter(core::int value) → void
+    ;
+  method extendedGetterMixedInMethod() → void
+    ;
+  method extendedSetterMixedInMethod() → void
+    ;
+  method extendedFieldMixedInMethod() → void
+    ;
+}
+class Interface1 extends core::Object {
+  field core::int implementedFieldDeclaredMethod;
+  field core::int implementedFieldImplementedMethod;
+  field core::int extendedMethodImplementedField;
+  field core::int mixedInMethodImplementedField;
+  synthetic constructor •() → self::Interface1
+    ;
+  method implementedMethodDeclaredGetter() → void
+    ;
+  method implementedMethodDeclaredSetter() → void
+    ;
+  method implementedMethodDeclaredField() → void
+    ;
+  get implementedGetterDeclaredMethod() → core::int
+    ;
+  set implementedSetterDeclaredMethod(core::int value) → void
+    ;
+  method implementedMethodImplementedGetter() → void
+    ;
+  method implementedMethodImplementedSetter() → void
+    ;
+  method implementedMethodImplementedField() → void
+    ;
+  get implementedGetterImplementedMethod() → core::int
+    ;
+  set implementedSetterImplementedMethod(core::int value) → void
+    ;
+  get extendedMethodImplementedGetter() → core::int
+    ;
+  set extendedMethodImplementedSetter(core::int value) → void
+    ;
+  method extendedGetterImplementedMethod() → void
+    ;
+  method extendedSetterImplementedMethod() → void
+    ;
+  method extendedFieldImplementedMethod() → void
+    ;
+  get mixedInMethodImplementedGetter() → core::int
+    ;
+  set mixedInMethodImplementedSetter(core::int value) → void
+    ;
+  method mixedInGetterImplementedMethod() → void
+    ;
+  method mixedInSetterImplementedMethod() → void
+    ;
+  method mixedInFieldImplementedMethod() → void
+    ;
+}
+class Interface2 extends core::Object {
+  field core::int implementedMethodImplementedField;
+  synthetic constructor •() → self::Interface2
+    ;
+  get implementedMethodImplementedGetter() → core::int
+    ;
+  set implementedMethodImplementedSetter(core::int value) → void
+    ;
+  method implementedGetterImplementedMethod() → void
+    ;
+  method implementedSetterImplementedMethod() → void
+    ;
+  method implementedFieldImplementedMethod() → void
+    ;
+}
+abstract class _Class&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInMethodDeclaredSetter() → void
+    return super.{self::Mixin::mixedInMethodDeclaredSetter}();
+  mixin-super-stub get mixedInFieldDeclaredMethod() → core::int
+    return super.{self::Mixin::mixedInFieldDeclaredMethod};
+  mixin-super-stub set mixedInFieldDeclaredMethod(core::int value) → void
+    return super.{self::Mixin::mixedInFieldDeclaredMethod} = value;
+  mixin-super-stub get mixedInFieldImplementedMethod() → core::int
+    return super.{self::Mixin::mixedInFieldImplementedMethod};
+  mixin-super-stub set mixedInFieldImplementedMethod(core::int value) → void
+    return super.{self::Mixin::mixedInFieldImplementedMethod} = value;
+  mixin-super-stub get extendedMethodMixedInField() → core::int
+    return super.{self::Mixin::extendedMethodMixedInField};
+  mixin-super-stub set extendedMethodMixedInField(core::int value) → void
+    return super.{self::Mixin::extendedMethodMixedInField} = value;
+  mixin-super-stub method mixedInMethodDeclaredGetter() → void
+    return super.{self::Mixin::mixedInMethodDeclaredGetter}();
+  mixin-super-stub method mixedInMethodDeclaredField() → void
+    return super.{self::Mixin::mixedInMethodDeclaredField}();
+  mixin-super-stub get mixedInGetterDeclaredMethod() → core::int
+    return super.{self::Mixin::mixedInGetterDeclaredMethod};
+  mixin-super-stub method mixedInMethodImplementedGetter() → void
+    return super.{self::Mixin::mixedInMethodImplementedGetter}();
+  mixin-super-stub method mixedInMethodImplementedSetter() → void
+    return super.{self::Mixin::mixedInMethodImplementedSetter}();
+  mixin-super-stub method mixedInMethodImplementedField() → void
+    return super.{self::Mixin::mixedInMethodImplementedField}();
+  mixin-super-stub get mixedInGetterImplementedMethod() → core::int
+    return super.{self::Mixin::mixedInGetterImplementedMethod};
+  mixin-super-stub get extendedMethodMixedInGetter() → core::int
+    return super.{self::Mixin::extendedMethodMixedInGetter};
+  mixin-super-stub method extendedGetterMixedInMethod() → void
+    return super.{self::Mixin::extendedGetterMixedInMethod}();
+  mixin-super-stub method extendedSetterMixedInMethod() → void
+    return super.{self::Mixin::extendedSetterMixedInMethod}();
+  mixin-super-stub method extendedFieldMixedInMethod() → void
+    return super.{self::Mixin::extendedFieldMixedInMethod}();
+  mixin-super-stub set mixedInSetterDeclaredMethod(core::int value) → void
+    return super.{self::Mixin::mixedInSetterDeclaredMethod} = value;
+  mixin-super-stub set mixedInSetterImplementedMethod(core::int value) → void
+    return super.{self::Mixin::mixedInSetterImplementedMethod} = value;
+  mixin-super-stub set extendedMethodMixedInSetter(core::int value) → void
+    return super.{self::Mixin::extendedMethodMixedInSetter} = value;
+}
+abstract class Class extends self::_Class&Super&Mixin implements self::Interface1, self::Interface2 {
+  field core::int extendedMethodDeclaredField;
+  field core::int mixedInMethodDeclaredField;
+  field core::int implementedMethodDeclaredField;
+  synthetic constructor •() → self::Class
+    ;
+  get extendedMethodDeclaredGetter() → core::int
+    ;
+  set extendedMethodDeclaredSetter(core::int value) → void
+    ;
+  method extendedGetterDeclaredMethod() → void
+    ;
+  method extendedSetterDeclaredMethod() → void
+    ;
+  method extendedFieldDeclaredMethod() → void
+    ;
+  get mixedInMethodDeclaredGetter() → core::int
+    ;
+  set mixedInMethodDeclaredSetter(core::int value) → void
+    ;
+  method mixedInGetterDeclaredMethod() → void
+    ;
+  method mixedInSetterDeclaredMethod() → void
+    ;
+  method mixedInFieldDeclaredMethod() → void
+    ;
+  get implementedMethodDeclaredGetter() → core::int
+    ;
+  set implementedMethodDeclaredSetter(core::int value) → void
+    ;
+  method implementedGetterDeclaredMethod() → void
+    ;
+  method implementedSetterDeclaredMethod() → void
+    ;
+  method implementedFieldDeclaredMethod() → void
+    ;
+  method declaredMethodAndSetter() → void
+    ;
+  set declaredMethodAndSetter(core::int value) → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/covariance.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/covariance.dart.weak.outline.expect
new file mode 100644
index 0000000..ac23e5b
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/covariance.dart.weak.outline.expect
@@ -0,0 +1,148 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class M1 extends core::Object {
+  synthetic constructor •() → self::M1
+    ;
+  method method(covariant core::int a, core::int b) → dynamic
+    ;
+}
+class M2 extends core::Object {
+  synthetic constructor •() → self::M2
+    ;
+  method method(core::int a, covariant core::int b) → dynamic
+    ;
+}
+abstract class _C&Object&M1 = core::Object with self::M1 /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&M1
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method(covariant core::int a, core::int b) → dynamic
+    return super.{self::M1::method}(a, b);
+}
+abstract class _C&Object&M1&M2 = self::_C&Object&M1 with self::M2 /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&M1&M2
+    : super self::_C&Object&M1::•()
+    ;
+  forwarding-stub method method(covariant core::int a, covariant core::int b) → dynamic
+    return super.{self::M2::method}(a, b);
+}
+class C extends self::_C&Object&M1&M2 {
+  synthetic constructor •() → self::C
+    ;
+}
+class Direct extends core::Object {
+  synthetic constructor •() → self::Direct
+    ;
+  method positional(covariant core::int a, core::int b, covariant core::int c, core::int d, core::int e) → void
+    ;
+  method optional([covariant core::int a = 0, core::int b = 0, covariant core::int c = 0, core::int d = 0]) → void
+    ;
+  method named({covariant core::int a = 0, core::int b = 0, covariant core::int c = 0, core::int d = 0}) → void
+    ;
+}
+class Inherited extends self::Direct {
+  synthetic constructor •() → self::Inherited
+    ;
+}
+class Override1 extends core::Object {
+  synthetic constructor •() → self::Override1
+    ;
+  method method(covariant core::int a, core::int b, core::int c, core::int d, core::int e) → void
+    ;
+}
+class Override2 extends self::Override1 {
+  synthetic constructor •() → self::Override2
+    ;
+  method method(covariant core::int a, core::int b, covariant core::int c, core::int d, core::int e) → void
+    ;
+}
+class Override3 extends self::Override2 {
+  synthetic constructor •() → self::Override3
+    ;
+  method method(covariant core::int a, core::int b, covariant core::int c, core::int d, core::int e) → void
+    ;
+}
+abstract class Implement1 extends core::Object {
+  synthetic constructor •() → self::Implement1
+    ;
+  method method(covariant core::int a, core::int b, core::int c, core::int d, core::int e) → void
+    ;
+}
+class Implement2 extends core::Object {
+  synthetic constructor •() → self::Implement2
+    ;
+  method method(core::int a, covariant core::int b, core::int c, core::int d, core::int e) → void
+    ;
+}
+class Implement3 extends core::Object {
+  synthetic constructor •() → self::Implement3
+    ;
+  method method(core::int a, core::int b, covariant core::int c, core::int d, core::int e) → void
+    ;
+}
+class Implement4 extends core::Object implements self::Implement3 {
+  synthetic constructor •() → self::Implement4
+    ;
+  method method(core::int a, core::int b, covariant core::int c, covariant core::int d, core::int e) → void
+    ;
+}
+class Implement5 extends core::Object implements self::Implement1, self::Implement2, self::Implement4 {
+  synthetic constructor •() → self::Implement5
+    ;
+  method method(covariant core::int a, covariant core::int b, covariant core::int c, covariant core::int d, covariant core::int e) → void
+    ;
+}
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  method method(covariant core::int a, core::int b, core::int c, core::int d, core::int e) → void
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  method method(core::int a, covariant core::int b, core::int c, core::int d, core::int e) → void
+    ;
+}
+class Mixin1 extends core::Object {
+  synthetic constructor •() → self::Mixin1
+    ;
+  method method(core::int a, core::int b, covariant core::int c, core::int d, core::int e) → void
+    ;
+}
+class Mixin2 extends core::Object {
+  synthetic constructor •() → self::Mixin2
+    ;
+  method method(core::int a, core::int b, core::int c, covariant core::int d, core::int e) → void
+    ;
+}
+class Superclass extends core::Object {
+  synthetic constructor •() → self::Superclass
+    ;
+  method method(core::int a, core::int b, core::int c, core::int d, covariant core::int e) → void
+    ;
+}
+abstract class _Mixed&Superclass&Mixin1 = self::Superclass with self::Mixin1 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Mixed&Superclass&Mixin1
+    : super self::Superclass::•()
+    ;
+  forwarding-stub method method(core::int a, core::int b, covariant core::int c, core::int d, covariant core::int e) → void
+    return super.{self::Mixin1::method}(a, b, c, d, e);
+}
+abstract class _Mixed&Superclass&Mixin1&Mixin2 = self::_Mixed&Superclass&Mixin1 with self::Mixin2 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Mixed&Superclass&Mixin1&Mixin2
+    : super self::_Mixed&Superclass&Mixin1::•()
+    ;
+  forwarding-stub method method(core::int a, core::int b, covariant core::int c, covariant core::int d, covariant core::int e) → void
+    return super.{self::Mixin2::method}(a, b, c, d, e);
+}
+class Mixed extends self::_Mixed&Superclass&Mixin1&Mixin2 implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::Mixed
+    ;
+  forwarding-stub method method(covariant core::int a, covariant core::int b, covariant core::int c, covariant core::int d, covariant core::int e) → void
+    return super.{self::Mixin2::method}(a, b, c, d, e);
+}
+static method main() → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/covariant_equals.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/covariant_equals.dart.weak.outline.expect
new file mode 100644
index 0000000..971fdd2
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/covariant_equals.dart.weak.outline.expect
@@ -0,0 +1,46 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  operator ==(covariant self::A* other) → core::bool*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+  operator ==(covariant self::A* other) → core::bool*
+    ;
+}
+class C<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T*>*
+    ;
+  operator ==(covariant generic-covariant-impl self::C<self::C::T*>* other) → core::bool*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class D extends self::C<core::int*> {
+  synthetic constructor •() → self::D*
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart.weak.outline.expect
new file mode 100644
index 0000000..7e87d1d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart.weak.outline.expect
@@ -0,0 +1,108 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:5:7: Error: The non-abstract class 'Super' is missing implementations for these members:
+//  - Super.extendedAbstractDeclaredAbstractMethod
+//  - Super.extendedAbstractDeclaredConcreteMethod
+//  - Super.extendedAbstractImplementedDeclaredAbstractMethod
+//  - Super.extendedAbstractImplementedDeclaredConcreteMethod
+// 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 Super {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:12:8: Context: 'Super.extendedAbstractDeclaredAbstractMethod' is defined here.
+//   void extendedAbstractDeclaredAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:8:8: Context: 'Super.extendedAbstractDeclaredConcreteMethod' is defined here.
+//   void extendedAbstractDeclaredConcreteMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:20:8: Context: 'Super.extendedAbstractImplementedDeclaredAbstractMethod' is defined here.
+//   void extendedAbstractImplementedDeclaredAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:16:8: Context: 'Super.extendedAbstractImplementedDeclaredConcreteMethod' is defined here.
+//   void extendedAbstractImplementedDeclaredConcreteMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:37:7: Error: The non-abstract class 'Class' is missing implementations for these members:
+//  - Class.extendedAbstractDeclaredAbstractMethod
+//  - Class.extendedAbstractImplementedDeclaredAbstractMethod
+//  - Class.implementedDeclaredAbstractMethod
+// 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 Class extends Super implements Interface {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:44:8: Context: 'Class.extendedAbstractDeclaredAbstractMethod' is defined here.
+//   void extendedAbstractDeclaredAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:56:8: Context: 'Class.extendedAbstractImplementedDeclaredAbstractMethod' is defined here.
+//   void extendedAbstractImplementedDeclaredAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/declares.dart:48:8: Context: 'Class.implementedDeclaredAbstractMethod' is defined here.
+//   void implementedDeclaredAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method extendedConcreteDeclaredConcreteMethod() → void
+    ;
+  abstract method extendedAbstractDeclaredConcreteMethod() → void;
+  method extendedConcreteDeclaredAbstractMethod() → void
+    ;
+  abstract method extendedAbstractDeclaredAbstractMethod() → void;
+  method extendedConcreteImplementedDeclaredConcreteMethod() → void
+    ;
+  abstract method extendedAbstractImplementedDeclaredConcreteMethod() → void;
+  method extendedConcreteImplementedDeclaredAbstractMethod() → void
+    ;
+  abstract method extendedAbstractImplementedDeclaredAbstractMethod() → void;
+}
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  method implementedDeclaredConcreteMethod() → void
+    ;
+  method implementedDeclaredAbstractMethod() → void
+    ;
+  method extendedConcreteImplementedDeclaredConcreteMethod() → void
+    ;
+  method extendedAbstractImplementedDeclaredConcreteMethod() → void
+    ;
+  method extendedConcreteImplementedDeclaredAbstractMethod() → void
+    ;
+  method extendedAbstractImplementedDeclaredAbstractMethod() → void
+    ;
+}
+class Class extends self::Super implements self::Interface {
+  synthetic constructor •() → self::Class
+    ;
+  method extendedConcreteDeclaredConcreteMethod() → void
+    ;
+  method extendedAbstractDeclaredConcreteMethod() → void
+    ;
+  abstract method extendedConcreteDeclaredAbstractMethod() → void;
+  abstract method extendedAbstractDeclaredAbstractMethod() → void;
+  method implementedDeclaredConcreteMethod() → void
+    ;
+  abstract method implementedDeclaredAbstractMethod() → void;
+  method extendedConcreteImplementedDeclaredConcreteMethod() → void
+    ;
+  method extendedAbstractImplementedDeclaredConcreteMethod() → void
+    ;
+  abstract method extendedConcreteImplementedDeclaredAbstractMethod() → void;
+  abstract method extendedAbstractImplementedDeclaredAbstractMethod() → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart.weak.outline.expect
new file mode 100644
index 0000000..af21224
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart.weak.outline.expect
@@ -0,0 +1,144 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:7:11: Error: 'superDuplicate1' is already declared in this scope.
+//   int get superDuplicate1 => 42;
+//           ^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:6:8: Context: Previous declaration of 'superDuplicate1'.
+//   void superDuplicate1() {}
+//        ^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:10:8: Error: 'superDuplicate2' is already declared in this scope.
+//   void superDuplicate2() {}
+//        ^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:9:11: Context: Previous declaration of 'superDuplicate2'.
+//   int get superDuplicate2 => 42;
+//           ^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:29:11: Error: 'interfaceDuplicate1' is already declared in this scope.
+//   int get interfaceDuplicate1 => 42;
+//           ^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:28:8: Context: Previous declaration of 'interfaceDuplicate1'.
+//   void interfaceDuplicate1() {}
+//        ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:32:8: Error: 'interfaceDuplicate2' is already declared in this scope.
+//   void interfaceDuplicate2() {}
+//        ^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:31:11: Context: Previous declaration of 'interfaceDuplicate2'.
+//   int get interfaceDuplicate2 => 42;
+//           ^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:43:11: Error: 'extendedDuplicate1' is already declared in this scope.
+//   int get extendedDuplicate1 => 42;
+//           ^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:42:8: Context: Previous declaration of 'extendedDuplicate1'.
+//   void extendedDuplicate1() {}
+//        ^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:46:8: Error: 'extendedDuplicate2' is already declared in this scope.
+//   void extendedDuplicate2() {}
+//        ^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:45:11: Context: Previous declaration of 'extendedDuplicate2'.
+//   int get extendedDuplicate2 => 42;
+//           ^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:52:11: Error: 'mixedInDuplicate1' is already declared in this scope.
+//   int get mixedInDuplicate1 => 42;
+//           ^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:51:8: Context: Previous declaration of 'mixedInDuplicate1'.
+//   void mixedInDuplicate1() {}
+//        ^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:55:8: Error: 'mixedInDuplicate2' is already declared in this scope.
+//   void mixedInDuplicate2() {}
+//        ^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:54:11: Context: Previous declaration of 'mixedInDuplicate2'.
+//   int get mixedInDuplicate2 => 42;
+//           ^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:61:11: Error: 'implementedDuplicate1' is already declared in this scope.
+//   int get implementedDuplicate1 => 42;
+//           ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:60:8: Context: Previous declaration of 'implementedDuplicate1'.
+//   void implementedDuplicate1() {}
+//        ^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:64:8: Error: 'implementedDuplicate2' is already declared in this scope.
+//   void implementedDuplicate2() {}
+//        ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/duplicates.dart:63:11: Context: Previous declaration of 'implementedDuplicate2'.
+//   int get implementedDuplicate2 => 42;
+//           ^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method superDuplicate1() → void
+    ;
+  get superDuplicate2() → core::int
+    ;
+  method extendedDuplicate1() → void
+    ;
+  method extendedDuplicate2() → void
+    ;
+}
+class Mixin extends core::Object {
+  synthetic constructor •() → self::Mixin
+    ;
+  method mixedInDuplicate1() → void
+    ;
+  method mixedInDuplicate2() → void
+    ;
+}
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  method interfaceDuplicate1() → void
+    ;
+  get interfaceDuplicate2() → core::int
+    ;
+  method implementedDuplicate1() → void
+    ;
+  method implementedDuplicate2() → void
+    ;
+}
+abstract class _Class&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInDuplicate1() → void
+    return super.{self::Mixin::mixedInDuplicate1}();
+  mixin-super-stub method mixedInDuplicate2() → void
+    return super.{self::Mixin::mixedInDuplicate2}();
+}
+abstract class Class extends self::_Class&Super&Mixin implements self::Interface {
+  synthetic constructor •() → self::Class
+    ;
+  method superDuplicate1() → void
+    ;
+  method superDuplicate2() → void
+    ;
+  method extendedDuplicate1() → void
+    ;
+  get extendedDuplicate2() → core::int
+    ;
+  method mixedInDuplicate1() → void
+    ;
+  get mixedInDuplicate2() → core::int
+    ;
+  method interfaceDuplicate1() → void
+    ;
+  method interfaceDuplicate2() → void
+    ;
+  method implementedDuplicate1() → void
+    ;
+  get implementedDuplicate2() → core::int
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart.weak.outline.expect
new file mode 100644
index 0000000..83e3733
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart.weak.outline.expect
@@ -0,0 +1,140 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:37:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedField
+//  - Interface1.extendedAbstractImplementedMultipleField
+//  - Interface2.extendedAbstractImplementedMultipleField
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractField=
+//  - Super.extendedAbstractImplementedField
+//  - Super.extendedAbstractImplementedField=
+//  - Super.extendedAbstractImplementedMultipleField
+//  - Super.extendedAbstractImplementedMultipleField=
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:22:7: Context: 'Interface1.extendedAbstractImplementedField' is defined here.
+//   int extendedAbstractImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:26:7: Context: 'Interface1.extendedAbstractImplementedMultipleField' is defined here.
+//   int extendedAbstractImplementedMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:32:7: Context: 'Interface2.extendedAbstractImplementedMultipleField' is defined here.
+//   int extendedAbstractImplementedMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:8:16: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:8:16: Context: 'Super.extendedAbstractField=' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:12:16: Context: 'Super.extendedAbstractImplementedField' is defined here.
+//   abstract int extendedAbstractImplementedField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:12:16: Context: 'Super.extendedAbstractImplementedField=' is defined here.
+//   abstract int extendedAbstractImplementedField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:16:16: Context: 'Super.extendedAbstractImplementedMultipleField' is defined here.
+//   abstract int extendedAbstractImplementedMultipleField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:16:16: Context: 'Super.extendedAbstractImplementedMultipleField=' is defined here.
+//   abstract int extendedAbstractImplementedMultipleField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:39:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedField
+//  - Interface1.extendedAbstractImplementedMultipleField
+//  - Interface2.extendedAbstractImplementedMultipleField
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractField=
+//  - Super.extendedAbstractImplementedField
+//  - Super.extendedAbstractImplementedField=
+//  - Super.extendedAbstractImplementedMultipleField
+//  - Super.extendedAbstractImplementedMultipleField=
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:22:7: Context: 'Interface1.extendedAbstractImplementedField' is defined here.
+//   int extendedAbstractImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:26:7: Context: 'Interface1.extendedAbstractImplementedMultipleField' is defined here.
+//   int extendedAbstractImplementedMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:32:7: Context: 'Interface2.extendedAbstractImplementedMultipleField' is defined here.
+//   int extendedAbstractImplementedMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:8:16: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:8:16: Context: 'Super.extendedAbstractField=' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:12:16: Context: 'Super.extendedAbstractImplementedField' is defined here.
+//   abstract int extendedAbstractImplementedField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:12:16: Context: 'Super.extendedAbstractImplementedField=' is defined here.
+//   abstract int extendedAbstractImplementedField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:16:16: Context: 'Super.extendedAbstractImplementedMultipleField' is defined here.
+//   abstract int extendedAbstractImplementedMultipleField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_field.dart:16:16: Context: 'Super.extendedAbstractImplementedMultipleField=' is defined here.
+//   abstract int extendedAbstractImplementedMultipleField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  field core::int extendedConcreteField;
+  field core::int extendedConcreteImplementedField;
+  field core::int extendedConcreteImplementedMultipleField;
+  synthetic constructor •() → self::Super
+    ;
+  abstract get extendedAbstractField() → core::int;
+  abstract set extendedAbstractField(core::int #externalFieldValue) → void;
+  abstract get extendedAbstractImplementedField() → core::int;
+  abstract set extendedAbstractImplementedField(core::int #externalFieldValue) → void;
+  abstract get extendedAbstractImplementedMultipleField() → core::int;
+  abstract set extendedAbstractImplementedMultipleField(core::int #externalFieldValue) → void;
+}
+class Interface1 extends core::Object {
+  field core::int extendedConcreteImplementedField;
+  field core::int extendedAbstractImplementedField;
+  field core::int extendedConcreteImplementedMultipleField;
+  field core::int extendedAbstractImplementedMultipleField;
+  synthetic constructor •() → self::Interface1
+    ;
+}
+class Interface2 extends core::Object {
+  field core::int extendedConcreteImplementedMultipleField;
+  field core::int extendedAbstractImplementedMultipleField;
+  synthetic constructor •() → self::Interface2
+    ;
+}
+abstract class AbstractClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+class ConcreteClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart.weak.outline.expect
new file mode 100644
index 0000000..29510d4
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart.weak.outline.expect
@@ -0,0 +1,113 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:37:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedField
+//  - Interface1.extendedAbstractImplementedMultipleField
+//  - Interface2.extendedAbstractImplementedMultipleField
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractImplementedField
+//  - Super.extendedAbstractImplementedMultipleField
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:22:13: Context: 'Interface1.extendedAbstractImplementedField' is defined here.
+//   final int extendedAbstractImplementedField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:26:13: Context: 'Interface1.extendedAbstractImplementedMultipleField' is defined here.
+//   final int extendedAbstractImplementedMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:32:13: Context: 'Interface2.extendedAbstractImplementedMultipleField' is defined here.
+//   final int extendedAbstractImplementedMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:8:22: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract final int extendedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:12:22: Context: 'Super.extendedAbstractImplementedField' is defined here.
+//   abstract final int extendedAbstractImplementedField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:16:22: Context: 'Super.extendedAbstractImplementedMultipleField' is defined here.
+//   abstract final int extendedAbstractImplementedMultipleField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:39:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedField
+//  - Interface1.extendedAbstractImplementedMultipleField
+//  - Interface2.extendedAbstractImplementedMultipleField
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractImplementedField
+//  - Super.extendedAbstractImplementedMultipleField
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:22:13: Context: 'Interface1.extendedAbstractImplementedField' is defined here.
+//   final int extendedAbstractImplementedField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:26:13: Context: 'Interface1.extendedAbstractImplementedMultipleField' is defined here.
+//   final int extendedAbstractImplementedMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:32:13: Context: 'Interface2.extendedAbstractImplementedMultipleField' is defined here.
+//   final int extendedAbstractImplementedMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:8:22: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract final int extendedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:12:22: Context: 'Super.extendedAbstractImplementedField' is defined here.
+//   abstract final int extendedAbstractImplementedField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_final_field.dart:16:22: Context: 'Super.extendedAbstractImplementedMultipleField' is defined here.
+//   abstract final int extendedAbstractImplementedMultipleField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  final field core::int extendedConcreteField;
+  final field core::int extendedConcreteImplementedField;
+  final field core::int extendedConcreteImplementedMultipleField;
+  synthetic constructor •() → self::Super
+    ;
+  abstract get extendedAbstractField() → core::int;
+  abstract get extendedAbstractImplementedField() → core::int;
+  abstract get extendedAbstractImplementedMultipleField() → core::int;
+}
+class Interface1 extends core::Object {
+  final field core::int extendedConcreteImplementedField;
+  final field core::int extendedAbstractImplementedField;
+  final field core::int extendedConcreteImplementedMultipleField;
+  final field core::int extendedAbstractImplementedMultipleField;
+  synthetic constructor •() → self::Interface1
+    ;
+}
+class Interface2 extends core::Object {
+  final field core::int extendedConcreteImplementedMultipleField;
+  final field core::int extendedAbstractImplementedMultipleField;
+  synthetic constructor •() → self::Interface2
+    ;
+}
+abstract class AbstractClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+class ConcreteClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart.weak.outline.expect
new file mode 100644
index 0000000..a957c2c
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart.weak.outline.expect
@@ -0,0 +1,122 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:37:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedGetter
+//  - Interface1.extendedAbstractImplementedMultipleGetter
+//  - Interface2.extendedAbstractImplementedMultipleGetter
+//  - Super.extendedAbstractGetter
+//  - Super.extendedAbstractImplementedGetter
+//  - Super.extendedAbstractImplementedMultipleGetter
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:22:11: Context: 'Interface1.extendedAbstractImplementedGetter' is defined here.
+//   int get extendedAbstractImplementedGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:26:11: Context: 'Interface1.extendedAbstractImplementedMultipleGetter' is defined here.
+//   int get extendedAbstractImplementedMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:32:11: Context: 'Interface2.extendedAbstractImplementedMultipleGetter' is defined here.
+//   int get extendedAbstractImplementedMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:8:11: Context: 'Super.extendedAbstractGetter' is defined here.
+//   int get extendedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:12:11: Context: 'Super.extendedAbstractImplementedGetter' is defined here.
+//   int get extendedAbstractImplementedGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:16:11: Context: 'Super.extendedAbstractImplementedMultipleGetter' is defined here.
+//   int get extendedAbstractImplementedMultipleGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:39:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedGetter
+//  - Interface1.extendedAbstractImplementedMultipleGetter
+//  - Interface2.extendedAbstractImplementedMultipleGetter
+//  - Super.extendedAbstractGetter
+//  - Super.extendedAbstractImplementedGetter
+//  - Super.extendedAbstractImplementedMultipleGetter
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:22:11: Context: 'Interface1.extendedAbstractImplementedGetter' is defined here.
+//   int get extendedAbstractImplementedGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:26:11: Context: 'Interface1.extendedAbstractImplementedMultipleGetter' is defined here.
+//   int get extendedAbstractImplementedMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:32:11: Context: 'Interface2.extendedAbstractImplementedMultipleGetter' is defined here.
+//   int get extendedAbstractImplementedMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:8:11: Context: 'Super.extendedAbstractGetter' is defined here.
+//   int get extendedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:12:11: Context: 'Super.extendedAbstractImplementedGetter' is defined here.
+//   int get extendedAbstractImplementedGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_getter.dart:16:11: Context: 'Super.extendedAbstractImplementedMultipleGetter' is defined here.
+//   int get extendedAbstractImplementedMultipleGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  get extendedConcreteGetter() → core::int
+    ;
+  abstract get extendedAbstractGetter() → core::int;
+  get extendedConcreteImplementedGetter() → core::int
+    ;
+  abstract get extendedAbstractImplementedGetter() → core::int;
+  get extendedConcreteImplementedMultipleGetter() → core::int
+    ;
+  abstract get extendedAbstractImplementedMultipleGetter() → core::int;
+}
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  get extendedConcreteImplementedGetter() → core::int
+    ;
+  get extendedAbstractImplementedGetter() → core::int
+    ;
+  get extendedConcreteImplementedMultipleGetter() → core::int
+    ;
+  get extendedAbstractImplementedMultipleGetter() → core::int
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  get extendedConcreteImplementedMultipleGetter() → core::int
+    ;
+  get extendedAbstractImplementedMultipleGetter() → core::int
+    ;
+}
+abstract class AbstractClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+class ConcreteClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart.weak.outline.expect
new file mode 100644
index 0000000..2d3ef52
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart.weak.outline.expect
@@ -0,0 +1,122 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:37:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedMethod
+//  - Interface1.extendedAbstractImplementedMultipleMethod
+//  - Interface2.extendedAbstractImplementedMultipleMethod
+//  - Super.extendedAbstractImplementedMethod
+//  - Super.extendedAbstractImplementedMultipleMethod
+//  - Super.extendedAbstractMethod
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:22:8: Context: 'Interface1.extendedAbstractImplementedMethod' is defined here.
+//   void extendedAbstractImplementedMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:26:8: Context: 'Interface1.extendedAbstractImplementedMultipleMethod' is defined here.
+//   void extendedAbstractImplementedMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:32:8: Context: 'Interface2.extendedAbstractImplementedMultipleMethod' is defined here.
+//   void extendedAbstractImplementedMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:12:8: Context: 'Super.extendedAbstractImplementedMethod' is defined here.
+//   void extendedAbstractImplementedMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:16:8: Context: 'Super.extendedAbstractImplementedMultipleMethod' is defined here.
+//   void extendedAbstractImplementedMultipleMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:39:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedMethod
+//  - Interface1.extendedAbstractImplementedMultipleMethod
+//  - Interface2.extendedAbstractImplementedMultipleMethod
+//  - Super.extendedAbstractImplementedMethod
+//  - Super.extendedAbstractImplementedMultipleMethod
+//  - Super.extendedAbstractMethod
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:22:8: Context: 'Interface1.extendedAbstractImplementedMethod' is defined here.
+//   void extendedAbstractImplementedMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:26:8: Context: 'Interface1.extendedAbstractImplementedMultipleMethod' is defined here.
+//   void extendedAbstractImplementedMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:32:8: Context: 'Interface2.extendedAbstractImplementedMultipleMethod' is defined here.
+//   void extendedAbstractImplementedMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:12:8: Context: 'Super.extendedAbstractImplementedMethod' is defined here.
+//   void extendedAbstractImplementedMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:16:8: Context: 'Super.extendedAbstractImplementedMultipleMethod' is defined here.
+//   void extendedAbstractImplementedMultipleMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_method.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method extendedConcreteMethod() → void
+    ;
+  abstract method extendedAbstractMethod() → void;
+  method extendedConcreteImplementedMethod() → void
+    ;
+  abstract method extendedAbstractImplementedMethod() → void;
+  method extendedConcreteImplementedMultipleMethod() → void
+    ;
+  abstract method extendedAbstractImplementedMultipleMethod() → void;
+}
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  method extendedConcreteImplementedMethod() → void
+    ;
+  method extendedAbstractImplementedMethod() → void
+    ;
+  method extendedConcreteImplementedMultipleMethod() → void
+    ;
+  method extendedAbstractImplementedMultipleMethod() → void
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  method extendedConcreteImplementedMultipleMethod() → void
+    ;
+  method extendedAbstractImplementedMultipleMethod() → void
+    ;
+}
+abstract class AbstractClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+class ConcreteClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..d351b3a
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart.weak.outline.expect
@@ -0,0 +1,122 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:37:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedMultipleSetter=
+//  - Interface1.extendedAbstractImplementedSetter=
+//  - Interface2.extendedAbstractImplementedMultipleSetter=
+//  - Super.extendedAbstractImplementedMultipleSetter=
+//  - Super.extendedAbstractImplementedSetter=
+//  - Super.extendedAbstractSetter=
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:26:12: Context: 'Interface1.extendedAbstractImplementedMultipleSetter=' is defined here.
+//   void set extendedAbstractImplementedMultipleSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:22:12: Context: 'Interface1.extendedAbstractImplementedSetter=' is defined here.
+//   void set extendedAbstractImplementedSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:32:12: Context: 'Interface2.extendedAbstractImplementedMultipleSetter=' is defined here.
+//   void set extendedAbstractImplementedMultipleSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:16:12: Context: 'Super.extendedAbstractImplementedMultipleSetter=' is defined here.
+//   void set extendedAbstractImplementedMultipleSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:12:12: Context: 'Super.extendedAbstractImplementedSetter=' is defined here.
+//   void set extendedAbstractImplementedSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:8:12: Context: 'Super.extendedAbstractSetter=' is defined here.
+//   void set extendedAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:39:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedMultipleSetter=
+//  - Interface1.extendedAbstractImplementedSetter=
+//  - Interface2.extendedAbstractImplementedMultipleSetter=
+//  - Super.extendedAbstractImplementedMultipleSetter=
+//  - Super.extendedAbstractImplementedSetter=
+//  - Super.extendedAbstractSetter=
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:26:12: Context: 'Interface1.extendedAbstractImplementedMultipleSetter=' is defined here.
+//   void set extendedAbstractImplementedMultipleSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:22:12: Context: 'Interface1.extendedAbstractImplementedSetter=' is defined here.
+//   void set extendedAbstractImplementedSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:32:12: Context: 'Interface2.extendedAbstractImplementedMultipleSetter=' is defined here.
+//   void set extendedAbstractImplementedMultipleSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:16:12: Context: 'Super.extendedAbstractImplementedMultipleSetter=' is defined here.
+//   void set extendedAbstractImplementedMultipleSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:12:12: Context: 'Super.extendedAbstractImplementedSetter=' is defined here.
+//   void set extendedAbstractImplementedSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/extend_multiple_setter.dart:8:12: Context: 'Super.extendedAbstractSetter=' is defined here.
+//   void set extendedAbstractSetter(int value);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  set extendedConcreteSetter(core::int value) → void
+    ;
+  abstract set extendedAbstractSetter(core::int value) → void;
+  set extendedConcreteImplementedSetter(core::int value) → void
+    ;
+  abstract set extendedAbstractImplementedSetter(core::int value) → void;
+  set extendedConcreteImplementedMultipleSetter(core::int value) → void
+    ;
+  abstract set extendedAbstractImplementedMultipleSetter(core::int value) → void;
+}
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  set extendedConcreteImplementedSetter(core::int value) → void
+    ;
+  set extendedAbstractImplementedSetter(core::int value) → void
+    ;
+  set extendedConcreteImplementedMultipleSetter(core::int value) → void
+    ;
+  set extendedAbstractImplementedMultipleSetter(core::int value) → void
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  set extendedConcreteImplementedMultipleSetter(core::int value) → void
+    ;
+  set extendedAbstractImplementedMultipleSetter(core::int value) → void
+    ;
+}
+abstract class AbstractClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+class ConcreteClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart.weak.outline.expect
new file mode 100644
index 0000000..e668a41
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart.weak.outline.expect
@@ -0,0 +1,142 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Error: The return type of the method 'Class.field2' is 'String', which does not match the return type, 'num', of the overridden method, 'Super.field2'.
+// Change to a subtype of 'num'.
+//   abstract String field2;
+//                   ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:7:7: Context: This is the overridden method ('field2').
+//   num field2 = 0;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Error: The return type of the method 'Class.field2' is 'String', which does not match the return type, 'int', of the overridden method, 'Interface.field2'.
+// Change to a subtype of 'int'.
+//   abstract String field2;
+//                   ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:16:17: Context: This is the overridden method ('field2').
+//   covariant int field2 = 0;
+//                 ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Error: The parameter '#externalFieldValue' of the method 'Class.field2' has type 'String', which does not match the corresponding type, 'num', in the overridden method, 'Super.field2'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   abstract String field2;
+//                   ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:7:7: Context: This is the overridden method ('field2').
+//   num field2 = 0;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Error: The parameter '#externalFieldValue' of the method 'Class.field2' has type 'String', which does not match the corresponding type, 'int', in the overridden method, 'Interface.field2'.
+// Change to a supertype of 'int', or, for a covariant parameter, a subtype.
+//   abstract String field2;
+//                   ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:16:17: Context: This is the overridden method ('field2').
+//   covariant int field2 = 0;
+//                 ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:25:16: Error: The parameter '#externalFieldValue' of the method 'Class.field3' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Super.field3'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   abstract int field3;
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:8:7: Context: This is the overridden method ('field3').
+//   num field3 = 0;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:28:16: Error: The return type of the method 'Class.field5' is 'num', which does not match the return type, 'int', of the overridden method, 'Super.field5'.
+// Change to a subtype of 'int'.
+//   abstract num field5;
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:11:17: Context: This is the overridden method ('field5').
+//   covariant int field5 = 0;
+//                 ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:28:16: Error: The return type of the method 'Class.field5' is 'num', which does not match the return type, 'int', of the overridden method, 'Interface.field5'.
+// Change to a subtype of 'int'.
+//   abstract num field5;
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:19:7: Context: This is the overridden method ('field5').
+//   int field5 = 0;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:22:7: Error: The implementation of 'field1' in the non-abstract class 'Class' does not conform to its interface.
+// class Class extends Super implements Interface {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:6:7: Context: The return type of the method 'Super.field1' is 'num', which does not match the return type, 'int', of the overridden method, 'Class.field1'.
+// Change to a subtype of 'int'.
+//   num field1 = 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:23:16: Context: This is the overridden method ('field1').
+//   abstract int field1;
+//                ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:22:7: Error: The implementation of 'field2' in the non-abstract class 'Class' does not conform to its interface.
+// class Class extends Super implements Interface {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:7:7: Context: The return type of the method 'Super.field2' is 'num', which does not match the return type, 'String', of the overridden method, 'Class.field2'.
+// Change to a subtype of 'String'.
+//   num field2 = 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:24:19: Context: This is the overridden method ('field2').
+//   abstract String field2;
+//                   ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:22:7: Error: The implementation of 'field3' in the non-abstract class 'Class' does not conform to its interface.
+// class Class extends Super implements Interface {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:8:7: Context: The return type of the method 'Super.field3' is 'num', which does not match the return type, 'int', of the overridden method, 'Class.field3'.
+// Change to a subtype of 'int'.
+//   num field3 = 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:25:16: Context: This is the overridden method ('field3').
+//   abstract int field3;
+//                ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:22:7: Error: The implementation of 'field4' in the non-abstract class 'Class' does not conform to its interface.
+// class Class extends Super implements Interface {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:10:17: Context: The return type of the method 'Super.field4' is 'num', which does not match the return type, 'int', of the overridden method, 'Class.field4'.
+// Change to a subtype of 'int'.
+//   covariant num field4 = 0;
+//                 ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_field.dart:27:16: Context: This is the overridden method ('field4').
+//   abstract int field4;
+//                ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  field core::num field1;
+  field core::num field2;
+  field core::num field3;
+  covariant field core::num field4;
+  covariant field core::int field5;
+  synthetic constructor •() → self::Super
+    ;
+}
+class Interface extends core::Object {
+  covariant field core::int field1;
+  covariant field core::int field2;
+  field core::int field4;
+  field core::int field5;
+  synthetic constructor •() → self::Interface
+    ;
+}
+class Class extends self::Super implements self::Interface {
+  synthetic constructor •() → self::Class
+    ;
+  abstract get field1() → core::int;
+  forwarding-stub forwarding-semi-stub set field1(covariant core::int #externalFieldValue) → void
+    return super.{self::Super::field1} = #externalFieldValue;
+  abstract get field2() → core::String;
+  forwarding-stub forwarding-semi-stub set field2(covariant core::String #externalFieldValue) → void
+    return super.{self::Super::field2} = #externalFieldValue;
+  abstract get field3() → core::int;
+  abstract set field3(core::int #externalFieldValue) → void;
+  abstract get field4() → core::int;
+  abstract set field4(covariant core::int #externalFieldValue) → void;
+  abstract get field5() → core::num;
+  abstract set field5(covariant core::num #externalFieldValue) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart.weak.outline.expect
new file mode 100644
index 0000000..4b37dd3
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart.weak.outline.expect
@@ -0,0 +1,81 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:24:23: Error: The parameter 'i' of the method 'Class.method2' has type 'String', which does not match the corresponding type, 'num', in the overridden method, 'Super.method2'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   void method2(String i);
+//                       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:7:8: Context: This is the overridden method ('method2').
+//   void method2(num n) {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:24:23: Error: The parameter 'i' of the method 'Class.method2' has type 'String', which does not match the corresponding type, 'int', in the overridden method, 'Interface.method2'.
+// Change to a supertype of 'int', or, for a covariant parameter, a subtype.
+//   void method2(String i);
+//                       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:16:8: Context: This is the overridden method ('method2').
+//   void method2(covariant int i) {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:25:20: Error: The parameter 'i' of the method 'Class.method3' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Super.method3'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   void method3(int i);
+//                    ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:8:8: Context: This is the overridden method ('method3').
+//   void method3(num n) {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:22:7: Error: The implementation of 'method2' in the non-abstract class 'Class' does not conform to its interface.
+// class Class extends Super implements Interface {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:7:20: Context: The parameter 'n' of the method 'Super.method2' has type 'num', which does not match the corresponding type, 'String', in the overridden method, 'Class.method2'.
+// Change to a supertype of 'String', or, for a covariant parameter, a subtype.
+//   void method2(num n) {}
+//                    ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_method.dart:24:8: Context: This is the overridden method ('method2').
+//   void method2(String i);
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method method1(core::num n) → void
+    ;
+  method method2(core::num n) → void
+    ;
+  method method3(core::num n) → void
+    ;
+  method method4(covariant core::num i) → void
+    ;
+  method method5(covariant core::int i) → void
+    ;
+}
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  method method1(covariant core::int i) → void
+    ;
+  method method2(covariant core::int i) → void
+    ;
+  method method4(core::int i) → void
+    ;
+  method method5(core::int i) → void
+    ;
+}
+class Class extends self::Super implements self::Interface {
+  synthetic constructor •() → self::Class
+    ;
+  forwarding-stub forwarding-semi-stub method method1(covariant core::int i) → void
+    return super.{self::Super::method1}(i);
+  forwarding-stub forwarding-semi-stub method method2(covariant core::String i) → void
+    return super.{self::Super::method2}(i);
+  abstract method method3(core::int i) → void;
+  abstract method method4(covariant core::int i) → void;
+  abstract method method5(covariant core::num n) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..af837e6
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart.weak.outline.expect
@@ -0,0 +1,81 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:24:27: Error: The parameter 'i' of the method 'Class.setter2' has type 'String', which does not match the corresponding type, 'num', in the overridden method, 'Super.setter2'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   void set setter2(String i);
+//                           ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:7:12: Context: This is the overridden method ('setter2').
+//   void set setter2(num n) {}
+//            ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:24:27: Error: The parameter 'i' of the method 'Class.setter2' has type 'String', which does not match the corresponding type, 'int', in the overridden method, 'Interface.setter2'.
+// Change to a supertype of 'int', or, for a covariant parameter, a subtype.
+//   void set setter2(String i);
+//                           ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:16:12: Context: This is the overridden method ('setter2').
+//   void set setter2(covariant int i) {}
+//            ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:25:24: Error: The parameter 'i' of the method 'Class.setter3' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Super.setter3'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   void set setter3(int i);
+//                        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:8:12: Context: This is the overridden method ('setter3').
+//   void set setter3(num n) {}
+//            ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:22:7: Error: The implementation of 'setter2' in the non-abstract class 'Class' does not conform to its interface.
+// class Class extends Super implements Interface {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:7:24: Context: The parameter 'n' of the method 'Super.setter2' has type 'num', which does not match the corresponding type, 'String', in the overridden method, 'Class.setter2'.
+// Change to a supertype of 'String', or, for a covariant parameter, a subtype.
+//   void set setter2(num n) {}
+//                        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_semi_stub_setter.dart:24:12: Context: This is the overridden method ('setter2').
+//   void set setter2(String i);
+//            ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  set setter1(core::num n) → void
+    ;
+  set setter2(core::num n) → void
+    ;
+  set setter3(core::num n) → void
+    ;
+  set setter4(covariant core::num i) → void
+    ;
+  set setter5(covariant core::int i) → void
+    ;
+}
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  set setter1(covariant core::int i) → void
+    ;
+  set setter2(covariant core::int i) → void
+    ;
+  set setter4(core::int i) → void
+    ;
+  set setter5(core::int i) → void
+    ;
+}
+class Class extends self::Super implements self::Interface {
+  synthetic constructor •() → self::Class
+    ;
+  forwarding-stub forwarding-semi-stub set setter1(covariant core::int i) → void
+    return super.{self::Super::setter1} = i;
+  forwarding-stub forwarding-semi-stub set setter2(covariant core::String i) → void
+    return super.{self::Super::setter2} = i;
+  abstract set setter3(core::int i) → void;
+  abstract set setter4(covariant core::int i) → void;
+  abstract set setter5(covariant core::num n) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stub_call.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stub_call.dart.weak.outline.expect
new file mode 100644
index 0000000..035eb65
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stub_call.dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Super<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::Super<self::Super::T%>
+    ;
+  method method(generic-covariant-impl self::Super::T% t) → void
+    ;
+}
+class Mixin extends core::Object {
+  synthetic constructor •() → self::Mixin
+    ;
+  method method(core::int t) → void
+    ;
+}
+class Class = self::Super<core::int> with self::Mixin {
+  synthetic constructor •() → self::Class
+    : super self::Super::•()
+    ;
+  forwarding-stub method method(generic-covariant-impl core::int t) → void
+    return super.{self::Mixin::method}(t);
+}
+class Subclass extends self::Class {
+  synthetic constructor •() → self::Subclass
+    ;
+  method test() → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart.weak.outline.expect
new file mode 100644
index 0000000..9c30a70
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart.weak.outline.expect
@@ -0,0 +1,174 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:41:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractCovariantImplementedField
+//  - Interface1.extendedAbstractImplementedCovariantField
+//  - Interface1.implementsMultipleCovariantField1
+//  - Interface1.implementsMultipleCovariantField2
+//  - Interface2.implementsMultipleCovariantField1
+//  - Interface2.implementsMultipleCovariantField2
+//  - Super.extendedAbstractCovariantField
+//  - Super.extendedAbstractCovariantField=
+//  - Super.extendedAbstractCovariantImplementedField
+//  - Super.extendedAbstractCovariantImplementedField=
+//  - Super.extendedAbstractImplementedCovariantField
+//  - Super.extendedAbstractImplementedCovariantField=
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:22:7: Context: 'Interface1.extendedAbstractCovariantImplementedField' is defined here.
+//   int extendedAbstractCovariantImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:26:17: Context: 'Interface1.extendedAbstractImplementedCovariantField' is defined here.
+//   covariant int extendedAbstractImplementedCovariantField = 0;
+//                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:28:17: Context: 'Interface1.implementsMultipleCovariantField1' is defined here.
+//   covariant int implementsMultipleCovariantField1 = 0;
+//                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:30:7: Context: 'Interface1.implementsMultipleCovariantField2' is defined here.
+//   int implementsMultipleCovariantField2 = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:34:7: Context: 'Interface2.implementsMultipleCovariantField1' is defined here.
+//   int implementsMultipleCovariantField1 = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:36:17: Context: 'Interface2.implementsMultipleCovariantField2' is defined here.
+//   covariant int implementsMultipleCovariantField2 = 0;
+//                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:8:26: Context: 'Super.extendedAbstractCovariantField' is defined here.
+//   abstract covariant int extendedAbstractCovariantField;
+//                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:8:26: Context: 'Super.extendedAbstractCovariantField=' is defined here.
+//   abstract covariant int extendedAbstractCovariantField;
+//                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:12:26: Context: 'Super.extendedAbstractCovariantImplementedField' is defined here.
+//   abstract covariant int extendedAbstractCovariantImplementedField;
+//                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:12:26: Context: 'Super.extendedAbstractCovariantImplementedField=' is defined here.
+//   abstract covariant int extendedAbstractCovariantImplementedField;
+//                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:16:16: Context: 'Super.extendedAbstractImplementedCovariantField' is defined here.
+//   abstract int extendedAbstractImplementedCovariantField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:16:16: Context: 'Super.extendedAbstractImplementedCovariantField=' is defined here.
+//   abstract int extendedAbstractImplementedCovariantField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:43:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractCovariantImplementedField
+//  - Interface1.extendedAbstractImplementedCovariantField
+//  - Interface1.implementsMultipleCovariantField1
+//  - Interface1.implementsMultipleCovariantField2
+//  - Interface2.implementsMultipleCovariantField1
+//  - Interface2.implementsMultipleCovariantField2
+//  - Super.extendedAbstractCovariantField
+//  - Super.extendedAbstractCovariantField=
+//  - Super.extendedAbstractCovariantImplementedField
+//  - Super.extendedAbstractCovariantImplementedField=
+//  - Super.extendedAbstractImplementedCovariantField
+//  - Super.extendedAbstractImplementedCovariantField=
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:22:7: Context: 'Interface1.extendedAbstractCovariantImplementedField' is defined here.
+//   int extendedAbstractCovariantImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:26:17: Context: 'Interface1.extendedAbstractImplementedCovariantField' is defined here.
+//   covariant int extendedAbstractImplementedCovariantField = 0;
+//                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:28:17: Context: 'Interface1.implementsMultipleCovariantField1' is defined here.
+//   covariant int implementsMultipleCovariantField1 = 0;
+//                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:30:7: Context: 'Interface1.implementsMultipleCovariantField2' is defined here.
+//   int implementsMultipleCovariantField2 = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:34:7: Context: 'Interface2.implementsMultipleCovariantField1' is defined here.
+//   int implementsMultipleCovariantField1 = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:36:17: Context: 'Interface2.implementsMultipleCovariantField2' is defined here.
+//   covariant int implementsMultipleCovariantField2 = 0;
+//                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:8:26: Context: 'Super.extendedAbstractCovariantField' is defined here.
+//   abstract covariant int extendedAbstractCovariantField;
+//                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:8:26: Context: 'Super.extendedAbstractCovariantField=' is defined here.
+//   abstract covariant int extendedAbstractCovariantField;
+//                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:12:26: Context: 'Super.extendedAbstractCovariantImplementedField' is defined here.
+//   abstract covariant int extendedAbstractCovariantImplementedField;
+//                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:12:26: Context: 'Super.extendedAbstractCovariantImplementedField=' is defined here.
+//   abstract covariant int extendedAbstractCovariantImplementedField;
+//                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:16:16: Context: 'Super.extendedAbstractImplementedCovariantField' is defined here.
+//   abstract int extendedAbstractImplementedCovariantField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_field.dart:16:16: Context: 'Super.extendedAbstractImplementedCovariantField=' is defined here.
+//   abstract int extendedAbstractImplementedCovariantField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  covariant field core::int extendedConcreteCovariantField;
+  covariant field core::int extendedConcreteCovariantImplementedField;
+  field core::int extendedConcreteImplementedCovariantField;
+  synthetic constructor •() → self::Super
+    ;
+  abstract get extendedAbstractCovariantField() → core::int;
+  abstract set extendedAbstractCovariantField(covariant core::int #externalFieldValue) → void;
+  abstract get extendedAbstractCovariantImplementedField() → core::int;
+  abstract set extendedAbstractCovariantImplementedField(covariant core::int #externalFieldValue) → void;
+  abstract get extendedAbstractImplementedCovariantField() → core::int;
+  abstract set extendedAbstractImplementedCovariantField(core::int #externalFieldValue) → void;
+}
+class Interface1 extends core::Object {
+  field core::int extendedConcreteCovariantImplementedField;
+  field core::int extendedAbstractCovariantImplementedField;
+  covariant field core::int extendedConcreteImplementedCovariantField;
+  covariant field core::int extendedAbstractImplementedCovariantField;
+  covariant field core::int implementsMultipleCovariantField1;
+  field core::int implementsMultipleCovariantField2;
+  synthetic constructor •() → self::Interface1
+    ;
+}
+class Interface2 extends core::Object {
+  field core::int implementsMultipleCovariantField1;
+  covariant field core::int implementsMultipleCovariantField2;
+  synthetic constructor •() → self::Interface2
+    ;
+}
+abstract class AbstractClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  forwarding-stub set extendedConcreteImplementedCovariantField(covariant core::int value) → void
+    return super.{self::Super::extendedConcreteImplementedCovariantField} = value;
+  abstract forwarding-stub set extendedAbstractImplementedCovariantField(covariant core::int #externalFieldValue) → void;
+  abstract forwarding-stub set implementsMultipleCovariantField2(covariant core::int value) → void;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+class ConcreteClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  forwarding-stub set extendedConcreteImplementedCovariantField(covariant core::int value) → void
+    return super.{self::Super::extendedConcreteImplementedCovariantField} = value;
+  abstract forwarding-stub set extendedAbstractImplementedCovariantField(covariant core::int #externalFieldValue) → void;
+  abstract forwarding-stub set implementsMultipleCovariantField2(covariant core::int value) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart.weak.outline.expect
new file mode 100644
index 0000000..78bd6c1
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart.weak.outline.expect
@@ -0,0 +1,158 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:41:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractCovariantImplementedMethod
+//  - Interface1.extendedAbstractImplementedCovariantMethod
+//  - Interface1.implementsMultipleCovariantMethod1
+//  - Interface1.implementsMultipleCovariantMethod2
+//  - Interface2.implementsMultipleCovariantMethod1
+//  - Interface2.implementsMultipleCovariantMethod2
+//  - Super.extendedAbstractCovariantImplementedMethod
+//  - Super.extendedAbstractCovariantMethod
+//  - Super.extendedAbstractImplementedCovariantMethod
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:22:8: Context: 'Interface1.extendedAbstractCovariantImplementedMethod' is defined here.
+//   void extendedAbstractCovariantImplementedMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:26:8: Context: 'Interface1.extendedAbstractImplementedCovariantMethod' is defined here.
+//   void extendedAbstractImplementedCovariantMethod(covariant int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:28:8: Context: 'Interface1.implementsMultipleCovariantMethod1' is defined here.
+//   void implementsMultipleCovariantMethod1(covariant int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:30:8: Context: 'Interface1.implementsMultipleCovariantMethod2' is defined here.
+//   void implementsMultipleCovariantMethod2(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:34:8: Context: 'Interface2.implementsMultipleCovariantMethod1' is defined here.
+//   void implementsMultipleCovariantMethod1(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:36:8: Context: 'Interface2.implementsMultipleCovariantMethod2' is defined here.
+//   void implementsMultipleCovariantMethod2(covariant int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:12:8: Context: 'Super.extendedAbstractCovariantImplementedMethod' is defined here.
+//   void extendedAbstractCovariantImplementedMethod(covariant int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:8:8: Context: 'Super.extendedAbstractCovariantMethod' is defined here.
+//   void extendedAbstractCovariantMethod(covariant int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:16:8: Context: 'Super.extendedAbstractImplementedCovariantMethod' is defined here.
+//   void extendedAbstractImplementedCovariantMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:43:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractCovariantImplementedMethod
+//  - Interface1.extendedAbstractImplementedCovariantMethod
+//  - Interface1.implementsMultipleCovariantMethod1
+//  - Interface1.implementsMultipleCovariantMethod2
+//  - Interface2.implementsMultipleCovariantMethod1
+//  - Interface2.implementsMultipleCovariantMethod2
+//  - Super.extendedAbstractCovariantImplementedMethod
+//  - Super.extendedAbstractCovariantMethod
+//  - Super.extendedAbstractImplementedCovariantMethod
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:22:8: Context: 'Interface1.extendedAbstractCovariantImplementedMethod' is defined here.
+//   void extendedAbstractCovariantImplementedMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:26:8: Context: 'Interface1.extendedAbstractImplementedCovariantMethod' is defined here.
+//   void extendedAbstractImplementedCovariantMethod(covariant int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:28:8: Context: 'Interface1.implementsMultipleCovariantMethod1' is defined here.
+//   void implementsMultipleCovariantMethod1(covariant int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:30:8: Context: 'Interface1.implementsMultipleCovariantMethod2' is defined here.
+//   void implementsMultipleCovariantMethod2(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:34:8: Context: 'Interface2.implementsMultipleCovariantMethod1' is defined here.
+//   void implementsMultipleCovariantMethod1(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:36:8: Context: 'Interface2.implementsMultipleCovariantMethod2' is defined here.
+//   void implementsMultipleCovariantMethod2(covariant int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:12:8: Context: 'Super.extendedAbstractCovariantImplementedMethod' is defined here.
+//   void extendedAbstractCovariantImplementedMethod(covariant int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:8:8: Context: 'Super.extendedAbstractCovariantMethod' is defined here.
+//   void extendedAbstractCovariantMethod(covariant int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_method.dart:16:8: Context: 'Super.extendedAbstractImplementedCovariantMethod' is defined here.
+//   void extendedAbstractImplementedCovariantMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method extendedConcreteCovariantMethod(covariant core::int i) → void
+    ;
+  abstract method extendedAbstractCovariantMethod(covariant core::int i) → void;
+  method extendedConcreteCovariantImplementedMethod(covariant core::int i) → void
+    ;
+  abstract method extendedAbstractCovariantImplementedMethod(covariant core::int i) → void;
+  method extendedConcreteImplementedCovariantMethod(core::int i) → void
+    ;
+  abstract method extendedAbstractImplementedCovariantMethod(core::int i) → void;
+}
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  method extendedConcreteCovariantImplementedMethod(core::int i) → void
+    ;
+  method extendedAbstractCovariantImplementedMethod(core::int i) → void
+    ;
+  method extendedConcreteImplementedCovariantMethod(covariant core::int i) → void
+    ;
+  method extendedAbstractImplementedCovariantMethod(covariant core::int i) → void
+    ;
+  method implementsMultipleCovariantMethod1(covariant core::int i) → void
+    ;
+  method implementsMultipleCovariantMethod2(core::int i) → void
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  method implementsMultipleCovariantMethod1(core::int i) → void
+    ;
+  method implementsMultipleCovariantMethod2(covariant core::int i) → void
+    ;
+}
+abstract class AbstractClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  forwarding-stub method extendedConcreteImplementedCovariantMethod(covariant core::int i) → void
+    return super.{self::Super::extendedConcreteImplementedCovariantMethod}(i);
+  abstract forwarding-stub method extendedAbstractImplementedCovariantMethod(covariant core::int i) → void;
+  abstract forwarding-stub method implementsMultipleCovariantMethod2(covariant core::int i) → void;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+class ConcreteClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  forwarding-stub method extendedConcreteImplementedCovariantMethod(covariant core::int i) → void
+    return super.{self::Super::extendedConcreteImplementedCovariantMethod}(i);
+  abstract forwarding-stub method extendedAbstractImplementedCovariantMethod(covariant core::int i) → void;
+  abstract forwarding-stub method implementsMultipleCovariantMethod2(covariant core::int i) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..07387a9
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart.weak.outline.expect
@@ -0,0 +1,158 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:41:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractCovariantImplementedSetter=
+//  - Interface1.extendedAbstractImplementedCovariantSetter=
+//  - Interface1.implementsMultipleCovariantSetter1=
+//  - Interface1.implementsMultipleCovariantSetter2=
+//  - Interface2.implementsMultipleCovariantSetter1=
+//  - Interface2.implementsMultipleCovariantSetter2=
+//  - Super.extendedAbstractCovariantImplementedSetter=
+//  - Super.extendedAbstractCovariantSetter=
+//  - Super.extendedAbstractImplementedCovariantSetter=
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:22:12: Context: 'Interface1.extendedAbstractCovariantImplementedSetter=' is defined here.
+//   void set extendedAbstractCovariantImplementedSetter(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:26:12: Context: 'Interface1.extendedAbstractImplementedCovariantSetter=' is defined here.
+//   void set extendedAbstractImplementedCovariantSetter(covariant int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:28:12: Context: 'Interface1.implementsMultipleCovariantSetter1=' is defined here.
+//   void set implementsMultipleCovariantSetter1(covariant int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:30:12: Context: 'Interface1.implementsMultipleCovariantSetter2=' is defined here.
+//   void set implementsMultipleCovariantSetter2(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:34:12: Context: 'Interface2.implementsMultipleCovariantSetter1=' is defined here.
+//   void set implementsMultipleCovariantSetter1(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:36:12: Context: 'Interface2.implementsMultipleCovariantSetter2=' is defined here.
+//   void set implementsMultipleCovariantSetter2(covariant int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:12:12: Context: 'Super.extendedAbstractCovariantImplementedSetter=' is defined here.
+//   void set extendedAbstractCovariantImplementedSetter(covariant int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:8:12: Context: 'Super.extendedAbstractCovariantSetter=' is defined here.
+//   void set extendedAbstractCovariantSetter(covariant int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:16:12: Context: 'Super.extendedAbstractImplementedCovariantSetter=' is defined here.
+//   void set extendedAbstractImplementedCovariantSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:43:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractCovariantImplementedSetter=
+//  - Interface1.extendedAbstractImplementedCovariantSetter=
+//  - Interface1.implementsMultipleCovariantSetter1=
+//  - Interface1.implementsMultipleCovariantSetter2=
+//  - Interface2.implementsMultipleCovariantSetter1=
+//  - Interface2.implementsMultipleCovariantSetter2=
+//  - Super.extendedAbstractCovariantImplementedSetter=
+//  - Super.extendedAbstractCovariantSetter=
+//  - Super.extendedAbstractImplementedCovariantSetter=
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:22:12: Context: 'Interface1.extendedAbstractCovariantImplementedSetter=' is defined here.
+//   void set extendedAbstractCovariantImplementedSetter(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:26:12: Context: 'Interface1.extendedAbstractImplementedCovariantSetter=' is defined here.
+//   void set extendedAbstractImplementedCovariantSetter(covariant int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:28:12: Context: 'Interface1.implementsMultipleCovariantSetter1=' is defined here.
+//   void set implementsMultipleCovariantSetter1(covariant int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:30:12: Context: 'Interface1.implementsMultipleCovariantSetter2=' is defined here.
+//   void set implementsMultipleCovariantSetter2(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:34:12: Context: 'Interface2.implementsMultipleCovariantSetter1=' is defined here.
+//   void set implementsMultipleCovariantSetter1(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:36:12: Context: 'Interface2.implementsMultipleCovariantSetter2=' is defined here.
+//   void set implementsMultipleCovariantSetter2(covariant int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:12:12: Context: 'Super.extendedAbstractCovariantImplementedSetter=' is defined here.
+//   void set extendedAbstractCovariantImplementedSetter(covariant int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:8:12: Context: 'Super.extendedAbstractCovariantSetter=' is defined here.
+//   void set extendedAbstractCovariantSetter(covariant int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/forwarding_stubs_setter.dart:16:12: Context: 'Super.extendedAbstractImplementedCovariantSetter=' is defined here.
+//   void set extendedAbstractImplementedCovariantSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  set extendedConcreteCovariantSetter(covariant core::int i) → void
+    ;
+  abstract set extendedAbstractCovariantSetter(covariant core::int i) → void;
+  set extendedConcreteCovariantImplementedSetter(covariant core::int i) → void
+    ;
+  abstract set extendedAbstractCovariantImplementedSetter(covariant core::int i) → void;
+  set extendedConcreteImplementedCovariantSetter(core::int i) → void
+    ;
+  abstract set extendedAbstractImplementedCovariantSetter(core::int i) → void;
+}
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  set extendedConcreteCovariantImplementedSetter(core::int i) → void
+    ;
+  set extendedAbstractCovariantImplementedSetter(core::int i) → void
+    ;
+  set extendedConcreteImplementedCovariantSetter(covariant core::int i) → void
+    ;
+  set extendedAbstractImplementedCovariantSetter(covariant core::int i) → void
+    ;
+  set implementsMultipleCovariantSetter1(covariant core::int i) → void
+    ;
+  set implementsMultipleCovariantSetter2(core::int i) → void
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  set implementsMultipleCovariantSetter1(core::int i) → void
+    ;
+  set implementsMultipleCovariantSetter2(covariant core::int i) → void
+    ;
+}
+abstract class AbstractClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  forwarding-stub set extendedConcreteImplementedCovariantSetter(covariant core::int i) → void
+    return super.{self::Super::extendedConcreteImplementedCovariantSetter} = i;
+  abstract forwarding-stub set extendedAbstractImplementedCovariantSetter(covariant core::int i) → void;
+  abstract forwarding-stub set implementsMultipleCovariantSetter2(covariant core::int i) → void;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+class ConcreteClass extends self::Super implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  forwarding-stub set extendedConcreteImplementedCovariantSetter(covariant core::int i) → void
+    return super.{self::Super::extendedConcreteImplementedCovariantSetter} = i;
+  abstract forwarding-stub set extendedAbstractImplementedCovariantSetter(covariant core::int i) → void;
+  abstract forwarding-stub set implementsMultipleCovariantSetter2(covariant core::int i) → void;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..8d47f8b
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart.weak.outline.expect
@@ -0,0 +1,576 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the getter 'Super with Mixin.extendedSetterMixedInField' is not a subtype of the type 'int' of the inherited setter 'Super.extendedSetterMixedInField'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:19:12: Context: This is the declaration of the setter 'Super.extendedSetterMixedInField'.
+//   void set extendedSetterMixedInField(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the getter 'Super with Mixin.extendedSetterMixedInGetter' is not a subtype of the type 'int' of the inherited setter 'Super.extendedSetterMixedInGetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:23:12: Context: This is the declaration of the setter 'Super.extendedSetterMixedInGetter'.
+//   void set extendedSetterMixedInGetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super.extendedGetterMixedInSetter' is not a subtype of the type 'int' of the setter 'Super with Mixin.extendedGetterMixedInSetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:11:14: Context: This is the declaration of the getter 'Super.extendedGetterMixedInSetter'.
+//   String get extendedGetterMixedInSetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited field 'Super.extendedFieldMixedInSetter' is not a subtype of the type 'int' of the setter 'Super with Mixin.extendedFieldMixedInSetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:15:16: Context: This is the declaration of the field 'Super.extendedFieldMixedInSetter'.
+//   final String extendedFieldMixedInSetter = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: Applying the mixin 'Mixin' to 'Super' introduces an erroneous override of 'extendedGetterMixedInField'.
+// abstract class Class extends Super
+//                ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:28:7: Context: The return type of the method 'Mixin.extendedGetterMixedInField' is 'int', which does not match the return type, 'String', of the overridden method, 'Super.extendedGetterMixedInField'.
+// Change to a subtype of 'String'.
+//   int extendedGetterMixedInField = 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:7:14: Context: This is the overridden method ('extendedGetterMixedInField').
+//   String get extendedGetterMixedInField => '';
+//              ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:93:16: Error: The type 'String' of the field 'Class.extendedSetterDeclaredField' is not a subtype of the type 'int' of the inherited setter 'Super.extendedSetterDeclaredField'.
+//   final String extendedSetterDeclaredField = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:18:12: Context: This is the declaration of the setter 'Super.extendedSetterDeclaredField'.
+//   void set extendedSetterDeclaredField(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:94:14: Error: The type 'String' of the getter 'Class.extendedSetterDeclaredGetter' is not a subtype of the type 'int' of the inherited setter 'Super.extendedSetterDeclaredGetter'.
+//   String get extendedSetterDeclaredGetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:22:12: Context: This is the declaration of the setter 'Super.extendedSetterDeclaredGetter'.
+//   void set extendedSetterDeclaredGetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:99:16: Error: The type 'String' of the field 'Class.mixedInSetterDeclaredField' is not a subtype of the type 'int' of the inherited setter 'Super with Mixin.mixedInSetterDeclaredField'.
+//   final String mixedInSetterDeclaredField = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the setter 'Super with Mixin.mixedInSetterDeclaredField'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:100:14: Error: The type 'String' of the getter 'Class.mixedInSetterDeclaredGetter' is not a subtype of the type 'int' of the inherited setter 'Super with Mixin.mixedInSetterDeclaredGetter'.
+//   String get mixedInSetterDeclaredGetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the setter 'Super with Mixin.mixedInSetterDeclaredGetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:105:16: Error: The type 'String' of the field 'Class.implementedSetterDeclaredField' is not a subtype of the type 'int' of the inherited setter 'Interface1.implementedSetterDeclaredField'.
+//   final String implementedSetterDeclaredField = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:72:12: Context: This is the declaration of the setter 'Interface1.implementedSetterDeclaredField'.
+//   void set implementedSetterDeclaredField(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:106:14: Error: The type 'String' of the getter 'Class.implementedSetterDeclaredGetter' is not a subtype of the type 'int' of the inherited setter 'Interface1.implementedSetterDeclaredGetter'.
+//   String get implementedSetterDeclaredGetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:75:12: Context: This is the declaration of the setter 'Interface1.implementedSetterDeclaredGetter'.
+//   void set implementedSetterDeclaredGetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:108:14: Error: The type 'String' of the getter 'Class.declaredGetterDeclaredSetter' is not a subtype of the type 'int' of the setter 'Class.declaredGetterDeclaredSetter'.
+//   String get declaredGetterDeclaredSetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:109:12: Context: This is the declaration of the setter 'Class.declaredGetterDeclaredSetter'.
+//   void set declaredGetterDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:111:16: Error: The type 'String' of the getter 'Class.declaredFieldDeclaredSetter' is not a subtype of the type 'int' of the setter 'Class.declaredFieldDeclaredSetter'.
+//   final String declaredFieldDeclaredSetter = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:112:12: Context: This is the declaration of the setter 'Class.declaredFieldDeclaredSetter'.
+//   void set declaredFieldDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:91:12: Error: The type 'String' of the inherited getter 'Super.extendedGetterDeclaredSetter' is not a subtype of the type 'int' of the setter 'Class.extendedGetterDeclaredSetter'.
+//   void set extendedGetterDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:10:14: Context: This is the declaration of the getter 'Super.extendedGetterDeclaredSetter'.
+//   String get extendedGetterDeclaredSetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:92:12: Error: The type 'String' of the inherited field 'Super.extendedFieldDeclaredSetter' is not a subtype of the type 'int' of the setter 'Class.extendedFieldDeclaredSetter'.
+//   void set extendedFieldDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:14:16: Context: This is the declaration of the field 'Super.extendedFieldDeclaredSetter'.
+//   final String extendedFieldDeclaredSetter = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:97:12: Error: The type 'String' of the inherited getter 'Super with Mixin.mixedInGetterDeclaredSetter' is not a subtype of the type 'int' of the setter 'Class.mixedInGetterDeclaredSetter'.
+//   void set mixedInGetterDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the getter 'Super with Mixin.mixedInGetterDeclaredSetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:98:12: Error: The type 'String' of the inherited getter 'Super with Mixin.mixedInFieldDeclaredSetter' is not a subtype of the type 'int' of the setter 'Class.mixedInFieldDeclaredSetter'.
+//   void set mixedInFieldDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the getter 'Super with Mixin.mixedInFieldDeclaredSetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:103:12: Error: The type 'String' of the inherited getter 'Interface1.implementedGetterDeclaredSetter' is not a subtype of the type 'int' of the setter 'Class.implementedGetterDeclaredSetter'.
+//   void set implementedGetterDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:66:14: Context: This is the declaration of the getter 'Interface1.implementedGetterDeclaredSetter'.
+//   String get implementedGetterDeclaredSetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:104:12: Error: The type 'String' of the inherited field 'Interface1.implementedFieldDeclaredSetter' is not a subtype of the type 'int' of the setter 'Class.implementedFieldDeclaredSetter'.
+//   void set implementedFieldDeclaredSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:69:16: Context: This is the declaration of the field 'Interface1.implementedFieldDeclaredSetter'.
+//   final String implementedFieldDeclaredSetter = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super with Mixin.extendedSetterMixedInField' is not a subtype of the type 'int' of the inherited setter 'Super.extendedSetterMixedInField'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the getter 'Super with Mixin.extendedSetterMixedInField'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:19:12: Context: This is the declaration of the setter 'Super.extendedSetterMixedInField'.
+//   void set extendedSetterMixedInField(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super with Mixin.extendedSetterMixedInGetter' is not a subtype of the type 'int' of the inherited setter 'Super.extendedSetterMixedInGetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the getter 'Super with Mixin.extendedSetterMixedInGetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:23:12: Context: This is the declaration of the setter 'Super.extendedSetterMixedInGetter'.
+//   void set extendedSetterMixedInGetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: Class 'Class' inherits multiple members named 'Mixin.mixedInGetterImplementedField' with incompatible signatures.
+// Try adding a declaration of 'Mixin.mixedInGetterImplementedField' to 'Class'.
+// abstract class Class extends Super
+//                ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:35:14: Context: This is one of the overridden members.
+//   String get mixedInGetterImplementedField => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:57:7: Context: This is one of the overridden members.
+//   int mixedInGetterImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super with Mixin.mixedInGetterImplementedField' is not a subtype of the type 'int' of the inherited setter 'Interface1.mixedInGetterImplementedField'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the getter 'Super with Mixin.mixedInGetterImplementedField'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:57:7: Context: This is the declaration of the setter 'Interface1.mixedInGetterImplementedField'.
+//   int mixedInGetterImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super with Mixin.mixedInGetterImplementedSetter' is not a subtype of the type 'int' of the inherited setter 'Interface1.mixedInGetterImplementedSetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the getter 'Super with Mixin.mixedInGetterImplementedSetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:58:12: Context: This is the declaration of the setter 'Interface1.mixedInGetterImplementedSetter'.
+//   void set mixedInGetterImplementedSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super with Mixin.mixedInFieldImplementedSetter' is not a subtype of the type 'int' of the inherited setter 'Interface1.mixedInFieldImplementedSetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the getter 'Super with Mixin.mixedInFieldImplementedSetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:59:12: Context: This is the declaration of the setter 'Interface1.mixedInFieldImplementedSetter'.
+//   void set mixedInFieldImplementedSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super.extendedGetterMixedInSetter' is not a subtype of the type 'int' of the inherited setter 'Super with Mixin.extendedGetterMixedInSetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:11:14: Context: This is the declaration of the getter 'Super.extendedGetterMixedInSetter'.
+//   String get extendedGetterMixedInSetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the setter 'Super with Mixin.extendedGetterMixedInSetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited field 'Super.extendedFieldMixedInSetter' is not a subtype of the type 'int' of the inherited setter 'Super with Mixin.extendedFieldMixedInSetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:15:16: Context: This is the declaration of the field 'Super.extendedFieldMixedInSetter'.
+//   final String extendedFieldMixedInSetter = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the setter 'Super with Mixin.extendedFieldMixedInSetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: Class 'Class' inherits multiple members named 'extendedGetterImplementedField' with incompatible signatures.
+// Try adding a declaration of 'extendedGetterImplementedField' to 'Class'.
+// abstract class Class extends Super
+//                ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:8:14: Context: This is one of the overridden members.
+//   String get extendedGetterImplementedField => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:51:7: Context: This is one of the overridden members.
+//   int extendedGetterImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super.extendedGetterImplementedField' is not a subtype of the type 'int' of the inherited setter 'Interface1.extendedGetterImplementedField'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:8:14: Context: This is the declaration of the getter 'Super.extendedGetterImplementedField'.
+//   String get extendedGetterImplementedField => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:51:7: Context: This is the declaration of the setter 'Interface1.extendedGetterImplementedField'.
+//   int extendedGetterImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Super.extendedGetterImplementedSetter' is not a subtype of the type 'int' of the inherited setter 'Interface1.extendedGetterImplementedSetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:12:14: Context: This is the declaration of the getter 'Super.extendedGetterImplementedSetter'.
+//   String get extendedGetterImplementedSetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:52:12: Context: This is the declaration of the setter 'Interface1.extendedGetterImplementedSetter'.
+//   void set extendedGetterImplementedSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited field 'Super.extendedFieldImplementedSetter' is not a subtype of the type 'int' of the inherited setter 'Interface1.extendedFieldImplementedSetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:16:16: Context: This is the declaration of the field 'Super.extendedFieldImplementedSetter'.
+//   final String extendedFieldImplementedSetter = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:53:12: Context: This is the declaration of the setter 'Interface1.extendedFieldImplementedSetter'.
+//   void set extendedFieldImplementedSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited field 'Interface1.mixedInSetterImplementedField' is not a subtype of the type 'int' of the inherited setter 'Super with Mixin.mixedInSetterImplementedField'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:60:16: Context: This is the declaration of the field 'Interface1.mixedInSetterImplementedField'.
+//   final String mixedInSetterImplementedField = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the setter 'Super with Mixin.mixedInSetterImplementedField'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Interface1.mixedInSetterImplementedGetter' is not a subtype of the type 'int' of the inherited setter 'Super with Mixin.mixedInSetterImplementedGetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:61:14: Context: This is the declaration of the getter 'Interface1.mixedInSetterImplementedGetter'.
+//   String get mixedInSetterImplementedGetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the declaration of the setter 'Super with Mixin.mixedInSetterImplementedGetter'.
+// abstract class Class extends Super
+//                ^^^^^^^^^^^^^^^^^^^^...
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited field 'Interface1.extendedSetterImplementedField' is not a subtype of the type 'int' of the inherited setter 'Super.extendedSetterImplementedField'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:54:16: Context: This is the declaration of the field 'Interface1.extendedSetterImplementedField'.
+//   final String extendedSetterImplementedField = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:20:12: Context: This is the declaration of the setter 'Super.extendedSetterImplementedField'.
+//   void set extendedSetterImplementedField(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Interface1.extendedSetterImplementedGetter' is not a subtype of the type 'int' of the inherited setter 'Super.extendedSetterImplementedGetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:55:14: Context: This is the declaration of the getter 'Interface1.extendedSetterImplementedGetter'.
+//   String get extendedSetterImplementedGetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:24:12: Context: This is the declaration of the setter 'Super.extendedSetterImplementedGetter'.
+//   void set extendedSetterImplementedGetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: Class 'Class' inherits multiple members named 'implementedGetterImplementedField' with incompatible signatures.
+// Try adding a declaration of 'implementedGetterImplementedField' to 'Class'.
+// abstract class Class extends Super
+//                ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:64:14: Context: This is one of the overridden members.
+//   String get implementedGetterImplementedField => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:80:7: Context: This is one of the overridden members.
+//   int implementedGetterImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Interface1.implementedGetterImplementedField' is not a subtype of the type 'int' of the inherited setter 'Interface2.implementedGetterImplementedField'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:64:14: Context: This is the declaration of the getter 'Interface1.implementedGetterImplementedField'.
+//   String get implementedGetterImplementedField => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:80:7: Context: This is the declaration of the setter 'Interface2.implementedGetterImplementedField'.
+//   int implementedGetterImplementedField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Interface1.implementedGetterImplementedSetter' is not a subtype of the type 'int' of the inherited setter 'Interface2.implementedGetterImplementedSetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:67:14: Context: This is the declaration of the getter 'Interface1.implementedGetterImplementedSetter'.
+//   String get implementedGetterImplementedSetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:81:12: Context: This is the declaration of the setter 'Interface2.implementedGetterImplementedSetter'.
+//   void set implementedGetterImplementedSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited field 'Interface1.implementedFieldImplementedSetter' is not a subtype of the type 'int' of the inherited setter 'Interface2.implementedFieldImplementedSetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:70:16: Context: This is the declaration of the field 'Interface1.implementedFieldImplementedSetter'.
+//   final String implementedFieldImplementedSetter = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:82:12: Context: This is the declaration of the setter 'Interface2.implementedFieldImplementedSetter'.
+//   void set implementedFieldImplementedSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited field 'Interface2.implementedSetterImplementedField' is not a subtype of the type 'int' of the inherited setter 'Interface1.implementedSetterImplementedField'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:83:16: Context: This is the declaration of the field 'Interface2.implementedSetterImplementedField'.
+//   final String implementedSetterImplementedField = '';
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:73:12: Context: This is the declaration of the setter 'Interface1.implementedSetterImplementedField'.
+//   void set implementedSetterImplementedField(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Error: The type 'String' of the inherited getter 'Interface2.implementedSetterImplementedGetter' is not a subtype of the type 'int' of the inherited setter 'Interface1.implementedSetterImplementedGetter'.
+// abstract class Class extends Super
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:84:14: Context: This is the declaration of the getter 'Interface2.implementedSetterImplementedGetter'.
+//   String get implementedSetterImplementedGetter => '';
+//              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:76:12: Context: This is the declaration of the setter 'Interface1.implementedSetterImplementedGetter'.
+//   void set implementedSetterImplementedGetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:90:7: Error: The return type of the method 'Class.extendedGetterDeclaredField' is 'int', which does not match the return type, 'String', of the overridden method, 'Super.extendedGetterDeclaredField'.
+// Change to a subtype of 'String'.
+//   int extendedGetterDeclaredField = 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:6:14: Context: This is the overridden method ('extendedGetterDeclaredField').
+//   String get extendedGetterDeclaredField => '';
+//              ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:96:7: Error: The return type of the method 'Class.mixedInGetterDeclaredField' is 'int', which does not match the return type, 'String', of the overridden method, 'Super with Mixin.mixedInGetterDeclaredField'.
+// Change to a subtype of 'String'.
+//   int mixedInGetterDeclaredField = 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:87:16: Context: This is the overridden method ('mixedInGetterDeclaredField').
+// abstract class Class extends Super
+//                ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:102:7: Error: The return type of the method 'Class.implementedGetterDeclaredField' is 'int', which does not match the return type, 'String', of the overridden method, 'Interface1.implementedGetterDeclaredField'.
+// Change to a subtype of 'String'.
+//   int implementedGetterDeclaredField = 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/getter_setter.dart:63:14: Context: This is the overridden method ('implementedGetterDeclaredField').
+//   String get implementedGetterDeclaredField => '';
+//              ^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  final field core::String extendedFieldDeclaredSetter;
+  final field core::String extendedFieldMixedInSetter;
+  final field core::String extendedFieldImplementedSetter;
+  synthetic constructor •() → self::Super
+    ;
+  get extendedGetterDeclaredField() → core::String
+    ;
+  get extendedGetterMixedInField() → core::String
+    ;
+  get extendedGetterImplementedField() → core::String
+    ;
+  get extendedGetterDeclaredSetter() → core::String
+    ;
+  get extendedGetterMixedInSetter() → core::String
+    ;
+  get extendedGetterImplementedSetter() → core::String
+    ;
+  set extendedSetterDeclaredField(core::int value) → void
+    ;
+  set extendedSetterMixedInField(core::int value) → void
+    ;
+  set extendedSetterImplementedField(core::int value) → void
+    ;
+  set extendedSetterDeclaredGetter(core::int value) → void
+    ;
+  set extendedSetterMixedInGetter(core::int value) → void
+    ;
+  set extendedSetterImplementedGetter(core::int value) → void
+    ;
+}
+abstract class Mixin extends core::Object {
+  field core::int extendedGetterMixedInField;
+  final field core::String extendedSetterMixedInField;
+  final field core::String mixedInFieldDeclaredSetter;
+  final field core::String mixedInFieldImplementedSetter;
+  synthetic constructor •() → self::Mixin
+    ;
+  set extendedGetterMixedInSetter(core::int value) → void
+    ;
+  set extendedFieldMixedInSetter(core::int value) → void
+    ;
+  get extendedSetterMixedInGetter() → core::String
+    ;
+  get mixedInGetterDeclaredField() → core::String
+    ;
+  get mixedInGetterImplementedField() → core::String
+    ;
+  get mixedInGetterDeclaredSetter() → core::String
+    ;
+  get mixedInGetterImplementedSetter() → core::String
+    ;
+  set mixedInSetterDeclaredField(core::int value) → void
+    ;
+  set mixedInSetterImplementedField(core::int value) → void
+    ;
+  set mixedInSetterDeclaredGetter(core::int value) → void
+    ;
+  set mixedInSetterImplementedGetter(core::int value) → void
+    ;
+}
+abstract class Interface1 extends core::Object {
+  field core::int extendedGetterImplementedField;
+  final field core::String extendedSetterImplementedField;
+  field core::int mixedInGetterImplementedField;
+  final field core::String mixedInSetterImplementedField;
+  final field core::String implementedFieldDeclaredSetter;
+  final field core::String implementedFieldImplementedSetter;
+  synthetic constructor •() → self::Interface1
+    ;
+  set extendedGetterImplementedSetter(core::int value) → void
+    ;
+  set extendedFieldImplementedSetter(core::int value) → void
+    ;
+  get extendedSetterImplementedGetter() → core::String
+    ;
+  set mixedInGetterImplementedSetter(core::int value) → void
+    ;
+  set mixedInFieldImplementedSetter(core::int value) → void
+    ;
+  get mixedInSetterImplementedGetter() → core::String
+    ;
+  get implementedGetterDeclaredField() → core::String
+    ;
+  get implementedGetterImplementedField() → core::String
+    ;
+  get implementedGetterDeclaredSetter() → core::String
+    ;
+  get implementedGetterImplementedSetter() → core::String
+    ;
+  set implementedSetterDeclaredField(core::int value) → void
+    ;
+  set implementedSetterImplementedField(core::int value) → void
+    ;
+  set implementedSetterDeclaredGetter(core::int value) → void
+    ;
+  set implementedSetterImplementedGetter(core::int value) → void
+    ;
+}
+abstract class Interface2 extends core::Object {
+  field core::int implementedGetterImplementedField;
+  final field core::String implementedSetterImplementedField;
+  synthetic constructor •() → self::Interface2
+    ;
+  set implementedGetterImplementedSetter(core::int value) → void
+    ;
+  set implementedFieldImplementedSetter(core::int value) → void
+    ;
+  get implementedSetterImplementedGetter() → core::String
+    ;
+}
+abstract class _Class&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub get mixedInGetterDeclaredField() → core::String
+    return super.{self::Mixin::mixedInGetterDeclaredField};
+  mixin-super-stub set mixedInSetterDeclaredField(core::int value) → void
+    return super.{self::Mixin::mixedInSetterDeclaredField} = value;
+  mixin-super-stub get mixedInGetterDeclaredSetter() → core::String
+    return super.{self::Mixin::mixedInGetterDeclaredSetter};
+  mixin-super-stub get mixedInFieldDeclaredSetter() → core::String
+    return super.{self::Mixin::mixedInFieldDeclaredSetter};
+  mixin-super-stub get extendedGetterMixedInField() → core::int
+    return super.{self::Mixin::extendedGetterMixedInField};
+  mixin-super-stub set extendedGetterMixedInField(core::int value) → void
+    return super.{self::Mixin::extendedGetterMixedInField} = value;
+  mixin-super-stub get extendedSetterMixedInField() → core::String
+    return super.{self::Mixin::extendedSetterMixedInField};
+  mixin-super-stub get extendedSetterMixedInGetter() → core::String
+    return super.{self::Mixin::extendedSetterMixedInGetter};
+  mixin-super-stub set extendedGetterMixedInSetter(core::int value) → void
+    return super.{self::Mixin::extendedGetterMixedInSetter} = value;
+  mixin-super-stub set extendedFieldMixedInSetter(core::int value) → void
+    return super.{self::Mixin::extendedFieldMixedInSetter} = value;
+  mixin-super-stub set mixedInSetterDeclaredGetter(core::int value) → void
+    return super.{self::Mixin::mixedInSetterDeclaredGetter} = value;
+  mixin-super-stub get mixedInGetterImplementedField() → core::String
+    return super.{self::Mixin::mixedInGetterImplementedField};
+  mixin-super-stub get mixedInGetterImplementedSetter() → core::String
+    return super.{self::Mixin::mixedInGetterImplementedSetter};
+  mixin-super-stub get mixedInFieldImplementedSetter() → core::String
+    return super.{self::Mixin::mixedInFieldImplementedSetter};
+  mixin-super-stub set mixedInSetterImplementedField(core::int value) → void
+    return super.{self::Mixin::mixedInSetterImplementedField} = value;
+  mixin-super-stub set mixedInSetterImplementedGetter(core::int value) → void
+    return super.{self::Mixin::mixedInSetterImplementedGetter} = value;
+}
+abstract class Class extends self::_Class&Super&Mixin implements self::Interface1, self::Interface2 {
+  field core::int extendedGetterDeclaredField;
+  final field core::String extendedSetterDeclaredField;
+  field core::int mixedInGetterDeclaredField;
+  final field core::String mixedInSetterDeclaredField;
+  field core::int implementedGetterDeclaredField;
+  final field core::String implementedSetterDeclaredField;
+  final field core::String declaredFieldDeclaredSetter;
+  synthetic constructor •() → self::Class
+    ;
+  set extendedGetterDeclaredSetter(core::int value) → void
+    ;
+  set extendedFieldDeclaredSetter(core::int value) → void
+    ;
+  get extendedSetterDeclaredGetter() → core::String
+    ;
+  set mixedInGetterDeclaredSetter(core::int value) → void
+    ;
+  set mixedInFieldDeclaredSetter(core::int value) → void
+    ;
+  get mixedInSetterDeclaredGetter() → core::String
+    ;
+  set implementedGetterDeclaredSetter(core::int value) → void
+    ;
+  set implementedFieldDeclaredSetter(core::int value) → void
+    ;
+  get implementedSetterDeclaredGetter() → core::String
+    ;
+  get declaredGetterDeclaredSetter() → core::String
+    ;
+  set declaredGetterDeclaredSetter(core::int value) → void
+    ;
+  set declaredFieldDeclaredSetter(core::int value) → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart.weak.outline.expect
new file mode 100644
index 0000000..1f448d3
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart.weak.outline.expect
@@ -0,0 +1,101 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:21:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declareAbstractImplementMultipleField
+//  - ConcreteClass.declareAbstractImplementMultipleField=
+//  - Interface1.implementMultipleField
+//  - Interface2.implementMultipleField
+// 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 ConcreteClass implements Interface1, Interface2 {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:24:16: Context: 'ConcreteClass.declareAbstractImplementMultipleField' is defined here.
+//   abstract int declareAbstractImplementMultipleField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:24:16: Context: 'ConcreteClass.declareAbstractImplementMultipleField=' is defined here.
+//   abstract int declareAbstractImplementMultipleField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:6:7: Context: 'Interface1.implementMultipleField' is defined here.
+//   int implementMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:14:7: Context: 'Interface2.implementMultipleField' is defined here.
+//   int implementMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:33:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - AbstractClass.declareAbstractImplementMultipleField
+//  - AbstractClass.declareAbstractImplementMultipleField=
+//  - Interface1.declareAbstractImplementMultipleField
+//  - Interface1.implementMultipleField
+//  - Interface2.declareAbstractImplementMultipleField
+//  - Interface2.implementMultipleField
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:30:16: Context: 'AbstractClass.declareAbstractImplementMultipleField' is defined here.
+//   abstract int declareAbstractImplementMultipleField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:30:16: Context: 'AbstractClass.declareAbstractImplementMultipleField=' is defined here.
+//   abstract int declareAbstractImplementMultipleField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:10:7: Context: 'Interface1.declareAbstractImplementMultipleField' is defined here.
+//   int declareAbstractImplementMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:6:7: Context: 'Interface1.implementMultipleField' is defined here.
+//   int implementMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:18:7: Context: 'Interface2.declareAbstractImplementMultipleField' is defined here.
+//   int declareAbstractImplementMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_field.dart:14:7: Context: 'Interface2.implementMultipleField' is defined here.
+//   int implementMultipleField = 0;
+//       ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface1 extends core::Object {
+  field core::int implementMultipleField;
+  field core::int declareConcreteImplementMultipleField;
+  field core::int declareAbstractImplementMultipleField;
+  synthetic constructor •() → self::Interface1
+    ;
+}
+class Interface2 extends core::Object {
+  field core::int implementMultipleField;
+  field core::int declareConcreteImplementMultipleField;
+  field core::int declareAbstractImplementMultipleField;
+  synthetic constructor •() → self::Interface2
+    ;
+}
+class ConcreteClass extends core::Object implements self::Interface1, self::Interface2 {
+  field core::int declareConcreteImplementMultipleField;
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  abstract get declareAbstractImplementMultipleField() → core::int;
+  abstract set declareAbstractImplementMultipleField(core::int #externalFieldValue) → void;
+}
+abstract class AbstractClass extends core::Object implements self::Interface1, self::Interface2 {
+  field core::int declareConcreteImplementMultipleField;
+  synthetic constructor •() → self::AbstractClass
+    ;
+  abstract get declareAbstractImplementMultipleField() → core::int;
+  abstract set declareAbstractImplementMultipleField(core::int #externalFieldValue) → void;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart.weak.outline.expect
new file mode 100644
index 0000000..963e3f9
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart.weak.outline.expect
@@ -0,0 +1,91 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:21:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declareAbstractImplementMultipleField
+//  - Interface1.implementMultipleField
+//  - Interface2.implementMultipleField
+// 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 ConcreteClass implements Interface1, Interface2 {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:24:22: Context: 'ConcreteClass.declareAbstractImplementMultipleField' is defined here.
+//   abstract final int declareAbstractImplementMultipleField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:6:13: Context: 'Interface1.implementMultipleField' is defined here.
+//   final int implementMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:14:13: Context: 'Interface2.implementMultipleField' is defined here.
+//   final int implementMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:33:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - AbstractClass.declareAbstractImplementMultipleField
+//  - Interface1.declareAbstractImplementMultipleField
+//  - Interface1.implementMultipleField
+//  - Interface2.declareAbstractImplementMultipleField
+//  - Interface2.implementMultipleField
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:30:22: Context: 'AbstractClass.declareAbstractImplementMultipleField' is defined here.
+//   abstract final int declareAbstractImplementMultipleField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:10:13: Context: 'Interface1.declareAbstractImplementMultipleField' is defined here.
+//   final int declareAbstractImplementMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:6:13: Context: 'Interface1.implementMultipleField' is defined here.
+//   final int implementMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:18:13: Context: 'Interface2.declareAbstractImplementMultipleField' is defined here.
+//   final int declareAbstractImplementMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_final_field.dart:14:13: Context: 'Interface2.implementMultipleField' is defined here.
+//   final int implementMultipleField = 0;
+//             ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface1 extends core::Object {
+  final field core::int implementMultipleField;
+  final field core::int declareConcreteImplementMultipleField;
+  final field core::int declareAbstractImplementMultipleField;
+  synthetic constructor •() → self::Interface1
+    ;
+}
+class Interface2 extends core::Object {
+  final field core::int implementMultipleField;
+  final field core::int declareConcreteImplementMultipleField;
+  final field core::int declareAbstractImplementMultipleField;
+  synthetic constructor •() → self::Interface2
+    ;
+}
+class ConcreteClass extends core::Object implements self::Interface1, self::Interface2 {
+  final field core::int declareConcreteImplementMultipleField;
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  abstract get declareAbstractImplementMultipleField() → core::int;
+}
+abstract class AbstractClass extends core::Object implements self::Interface1, self::Interface2 {
+  final field core::int declareConcreteImplementMultipleField;
+  synthetic constructor •() → self::AbstractClass
+    ;
+  abstract get declareAbstractImplementMultipleField() → core::int;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart.weak.outline.expect
new file mode 100644
index 0000000..a16c292
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart.weak.outline.expect
@@ -0,0 +1,99 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:21:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declareAbstractImplementMultipleGetter
+//  - Interface1.implementMultipleGetter
+//  - Interface2.implementMultipleGetter
+// 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 ConcreteClass implements Interface1, Interface2 {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:24:11: Context: 'ConcreteClass.declareAbstractImplementMultipleGetter' is defined here.
+//   int get declareAbstractImplementMultipleGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:6:11: Context: 'Interface1.implementMultipleGetter' is defined here.
+//   int get implementMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:14:11: Context: 'Interface2.implementMultipleGetter' is defined here.
+//   int get implementMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:33:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - AbstractClass.declareAbstractImplementMultipleGetter
+//  - Interface1.declareAbstractImplementMultipleGetter
+//  - Interface1.implementMultipleGetter
+//  - Interface2.declareAbstractImplementMultipleGetter
+//  - Interface2.implementMultipleGetter
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:30:11: Context: 'AbstractClass.declareAbstractImplementMultipleGetter' is defined here.
+//   int get declareAbstractImplementMultipleGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:10:11: Context: 'Interface1.declareAbstractImplementMultipleGetter' is defined here.
+//   int get declareAbstractImplementMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:6:11: Context: 'Interface1.implementMultipleGetter' is defined here.
+//   int get implementMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:18:11: Context: 'Interface2.declareAbstractImplementMultipleGetter' is defined here.
+//   int get declareAbstractImplementMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_getter.dart:14:11: Context: 'Interface2.implementMultipleGetter' is defined here.
+//   int get implementMultipleGetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  get implementMultipleGetter() → core::int
+    ;
+  get declareConcreteImplementMultipleGetter() → core::int
+    ;
+  get declareAbstractImplementMultipleGetter() → core::int
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  get implementMultipleGetter() → core::int
+    ;
+  get declareConcreteImplementMultipleGetter() → core::int
+    ;
+  get declareAbstractImplementMultipleGetter() → core::int
+    ;
+}
+class ConcreteClass extends core::Object implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  get declareConcreteImplementMultipleGetter() → core::int
+    ;
+  abstract get declareAbstractImplementMultipleGetter() → core::int;
+}
+abstract class AbstractClass extends core::Object implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  get declareConcreteImplementMultipleGetter() → core::int
+    ;
+  abstract get declareAbstractImplementMultipleGetter() → core::int;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart.weak.outline.expect
new file mode 100644
index 0000000..f55719e
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart.weak.outline.expect
@@ -0,0 +1,99 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:21:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declareAbstractImplementMultipleMethod
+//  - Interface1.implementMultipleMethod
+//  - Interface2.implementMultipleMethod
+// 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 ConcreteClass implements Interface1, Interface2 {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:24:8: Context: 'ConcreteClass.declareAbstractImplementMultipleMethod' is defined here.
+//   void declareAbstractImplementMultipleMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:6:8: Context: 'Interface1.implementMultipleMethod' is defined here.
+//   void implementMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:14:8: Context: 'Interface2.implementMultipleMethod' is defined here.
+//   void implementMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:33:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - AbstractClass.declareAbstractImplementMultipleMethod
+//  - Interface1.declareAbstractImplementMultipleMethod
+//  - Interface1.implementMultipleMethod
+//  - Interface2.declareAbstractImplementMultipleMethod
+//  - Interface2.implementMultipleMethod
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:30:8: Context: 'AbstractClass.declareAbstractImplementMultipleMethod' is defined here.
+//   void declareAbstractImplementMultipleMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:10:8: Context: 'Interface1.declareAbstractImplementMultipleMethod' is defined here.
+//   void declareAbstractImplementMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:6:8: Context: 'Interface1.implementMultipleMethod' is defined here.
+//   void implementMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:18:8: Context: 'Interface2.declareAbstractImplementMultipleMethod' is defined here.
+//   void declareAbstractImplementMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_method.dart:14:8: Context: 'Interface2.implementMultipleMethod' is defined here.
+//   void implementMultipleMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  method implementMultipleMethod() → void
+    ;
+  method declareConcreteImplementMultipleMethod() → void
+    ;
+  method declareAbstractImplementMultipleMethod() → void
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  method implementMultipleMethod() → void
+    ;
+  method declareConcreteImplementMultipleMethod() → void
+    ;
+  method declareAbstractImplementMultipleMethod() → void
+    ;
+}
+class ConcreteClass extends core::Object implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  method declareConcreteImplementMultipleMethod() → void
+    ;
+  abstract method declareAbstractImplementMultipleMethod() → void;
+}
+abstract class AbstractClass extends core::Object implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  method declareConcreteImplementMultipleMethod() → void
+    ;
+  abstract method declareAbstractImplementMultipleMethod() → void;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..9b7b718
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart.weak.outline.expect
@@ -0,0 +1,99 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:21:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - ConcreteClass.declareAbstractImplementMultipleSetter=
+//  - Interface1.implementMultipleSetter=
+//  - Interface2.implementMultipleSetter=
+// 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 ConcreteClass implements Interface1, Interface2 {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:24:12: Context: 'ConcreteClass.declareAbstractImplementMultipleSetter=' is defined here.
+//   void set declareAbstractImplementMultipleSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:6:12: Context: 'Interface1.implementMultipleSetter=' is defined here.
+//   void set implementMultipleSetter(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:14:12: Context: 'Interface2.implementMultipleSetter=' is defined here.
+//   void set implementMultipleSetter(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:33:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - AbstractClass.declareAbstractImplementMultipleSetter=
+//  - Interface1.declareAbstractImplementMultipleSetter=
+//  - Interface1.implementMultipleSetter=
+//  - Interface2.declareAbstractImplementMultipleSetter=
+//  - Interface2.implementMultipleSetter=
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:30:12: Context: 'AbstractClass.declareAbstractImplementMultipleSetter=' is defined here.
+//   void set declareAbstractImplementMultipleSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:10:12: Context: 'Interface1.declareAbstractImplementMultipleSetter=' is defined here.
+//   void set declareAbstractImplementMultipleSetter(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:6:12: Context: 'Interface1.implementMultipleSetter=' is defined here.
+//   void set implementMultipleSetter(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:18:12: Context: 'Interface2.declareAbstractImplementMultipleSetter=' is defined here.
+//   void set declareAbstractImplementMultipleSetter(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/implement_multiple_setter.dart:14:12: Context: 'Interface2.implementMultipleSetter=' is defined here.
+//   void set implementMultipleSetter(int i) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  set implementMultipleSetter(core::int i) → void
+    ;
+  set declareConcreteImplementMultipleSetter(core::int i) → void
+    ;
+  set declareAbstractImplementMultipleSetter(core::int i) → void
+    ;
+}
+class Interface2 extends core::Object {
+  synthetic constructor •() → self::Interface2
+    ;
+  set implementMultipleSetter(core::int i) → void
+    ;
+  set declareConcreteImplementMultipleSetter(core::int i) → void
+    ;
+  set declareAbstractImplementMultipleSetter(core::int i) → void
+    ;
+}
+class ConcreteClass extends core::Object implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::ConcreteClass
+    ;
+  set declareConcreteImplementMultipleSetter(core::int i) → void
+    ;
+  abstract set declareAbstractImplementMultipleSetter(core::int i) → void;
+}
+abstract class AbstractClass extends core::Object implements self::Interface1, self::Interface2 {
+  synthetic constructor •() → self::AbstractClass
+    ;
+  set declareConcreteImplementMultipleSetter(core::int i) → void
+    ;
+  abstract set declareAbstractImplementMultipleSetter(core::int i) → void;
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart.weak.outline.expect
new file mode 100644
index 0000000..cdeab6f
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart.weak.outline.expect
@@ -0,0 +1,278 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:9:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'Class' does not conform to its interface.
+// class Class /* error */ extends LegacyClass implements SuperQ {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:9:7: Context: The method 'Super.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+//   int optionalArgumentsMethod(int i) => i;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:34:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassQ' does not conform to its interface.
+// class ClassQ /* error */ extends LegacyClassQ implements Super {
+//       ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:20:8: Context: The method 'SuperQ.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+//   int? optionalArgumentsMethod(int? i) => i;
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:59:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassMixedIn' does not conform to its interface.
+// class ClassMixedIn /* error */ extends LegacyMixedIn implements SuperQ {
+//       ^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:9:7: Context: The method 'Object with Super.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+//   int optionalArgumentsMethod(int i) => i;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:59:7: Error: Class 'ClassMixedIn' inherits multiple members named 'nullabilityMethod' with incompatible signatures.
+// Try adding a declaration of 'nullabilityMethod' to 'ClassMixedIn'.
+// class ClassMixedIn /* error */ extends LegacyMixedIn implements SuperQ {
+//       ^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:6:7: Context: This is one of the overridden members.
+//   int nullabilityMethod(int i, {required int j}) => i;
+//       ^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:17:8: Context: This is one of the overridden members.
+//   int? nullabilityMethod(int? i, {int? j}) => i;
+//        ^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:84:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassMixedInQ' does not conform to its interface.
+// class ClassMixedInQ /* error */ extends LegacyMixedInQ implements Super {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:20:8: Context: The method 'Object with SuperQ.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+//   int? optionalArgumentsMethod(int? i) => i;
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in.dart:84:7: Error: Class 'ClassMixedInQ' inherits multiple members named 'nullabilityMethod' with incompatible signatures.
+// Try adding a declaration of 'nullabilityMethod' to 'ClassMixedInQ'.
+// class ClassMixedInQ /* error */ extends LegacyMixedInQ implements Super {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:17:8: Context: This is one of the overridden members.
+//   int? nullabilityMethod(int? i, {int? j}) => i;
+//        ^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_dill_out_in/in_out_in_lib1.dart:6:7: Context: This is one of the overridden members.
+//   int nullabilityMethod(int i, {required int j}) => i;
+//       ^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "in_out_in_lib2.dart" as in_;
+import "in_out_in_lib1.dart" as in_2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///in_out_in_lib1.dart";
+import "org-dartlang-testcase:///in_out_in_lib2.dart";
+
+class Class extends in_::LegacyClass implements in_2::SuperQ {
+  synthetic constructor •() → self::Class
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature method nullabilityMethod(core::int? i, {core::int? j}) → core::int?; -> in_2::Super::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int?; -> in_2::Super::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int? value) → void; -> in_2::Super::nullabilitySetter
+}
+class ClassQ extends in_::LegacyClassQ implements in_2::Super {
+  synthetic constructor •() → self::ClassQ
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature get nullabilityGetter() → core::int; -> in_2::SuperQ::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int value) → void; -> in_2::SuperQ::nullabilitySetter
+}
+class ClassMixedIn extends in_::LegacyMixedIn implements in_2::SuperQ {
+  synthetic constructor •() → self::ClassMixedIn
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int? value) → void; -> in_2::SuperQ::nullabilitySetter
+}
+class ClassMixedInQ extends in_::LegacyMixedInQ implements in_2::Super {
+  synthetic constructor •() → self::ClassMixedInQ
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature get nullabilityGetter() → core::int; -> in_2::Super::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as in_2;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → in_2::Super
+    ;
+  method nullabilityMethod(core::int i, {required core::int j}) → core::int
+    ;
+  get nullabilityGetter() → core::int
+    ;
+  set nullabilitySetter(core::int value) → void
+    ;
+  method optionalArgumentsMethod(core::int i) → core::int
+    ;
+}
+abstract class SuperExtra extends core::Object {
+  synthetic constructor •() → in_2::SuperExtra
+    ;
+  method optionalArgumentsMethod(core::int i, [core::int? j]) → core::int
+    ;
+}
+abstract class SuperQ extends core::Object {
+  synthetic constructor •() → in_2::SuperQ
+    ;
+  method nullabilityMethod(core::int? i, {core::int? j}) → core::int?
+    ;
+  get nullabilityGetter() → core::int?
+    ;
+  set nullabilitySetter(core::int? value) → void
+    ;
+  method optionalArgumentsMethod(core::int? i) → core::int?
+    ;
+}
+
+library;
+import self as in_;
+import "in_out_in_lib1.dart" as in_2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///in_out_in_lib1.dart";
+
+abstract class LegacyClass extends in_2::Super implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyClass*
+    ;
+  abstract member-signature method nullabilityMethod(core::int* i, {core::int* j}) → core::int*; -> in_2::Super::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int*; -> in_2::Super::nullabilityGetter
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int* value) → void; -> in_2::Super::nullabilitySetter
+}
+abstract class LegacyClassQ extends in_2::SuperQ implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyClassQ*
+    ;
+  abstract member-signature method nullabilityMethod(core::int* i, {core::int* j}) → core::int*; -> in_2::SuperQ::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int*; -> in_2::SuperQ::nullabilityGetter
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int* value) → void; -> in_2::SuperQ::nullabilitySetter
+}
+abstract class _LegacyMixedIn&Object&Super extends core::Object implements in_2::Super /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → in_::_LegacyMixedIn&Object&Super*
+    : super core::Object::•()
+    ;
+  method /*isNonNullableByDefault, from org-dartlang-testcase:///in_out_in_lib1.dart */ nullabilityMethod(core::int i, {required core::int j}) → core::int
+    ;
+  get /*isNonNullableByDefault, from org-dartlang-testcase:///in_out_in_lib1.dart */ nullabilityGetter() → core::int
+    ;
+  method /*isNonNullableByDefault, from org-dartlang-testcase:///in_out_in_lib1.dart */ optionalArgumentsMethod(core::int i) → core::int
+    ;
+  set /*isNonNullableByDefault, from org-dartlang-testcase:///in_out_in_lib1.dart */ nullabilitySetter(core::int value) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class LegacyMixedIn extends in_::_LegacyMixedIn&Object&Super implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyMixedIn*
+    ;
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+}
+abstract class _LegacyMixedInQ&Object&SuperQ extends core::Object implements in_2::SuperQ /*isAnonymousMixin,isEliminatedMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → in_::_LegacyMixedInQ&Object&SuperQ*
+    : super core::Object::•()
+    ;
+  method /*isNonNullableByDefault, from org-dartlang-testcase:///in_out_in_lib1.dart */ nullabilityMethod(core::int? i, {core::int? j}) → core::int?
+    ;
+  get /*isNonNullableByDefault, from org-dartlang-testcase:///in_out_in_lib1.dart */ nullabilityGetter() → core::int?
+    ;
+  method /*isNonNullableByDefault, from org-dartlang-testcase:///in_out_in_lib1.dart */ optionalArgumentsMethod(core::int? i) → core::int?
+    ;
+  set /*isNonNullableByDefault, from org-dartlang-testcase:///in_out_in_lib1.dart */ nullabilitySetter(core::int? value) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class LegacyMixedInQ extends in_::_LegacyMixedInQ&Object&SuperQ implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyMixedInQ*
+    ;
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart.weak.outline.expect
new file mode 100644
index 0000000..386b09f
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart.weak.outline.expect
@@ -0,0 +1,259 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:9:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'Class' does not conform to its interface.
+// class Class /* error */ extends LegacyClass implements SuperQ {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in_lib1.dart:9:7: Context: The method 'Super.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+//   int optionalArgumentsMethod(int i) => i;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:34:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassQ' does not conform to its interface.
+// class ClassQ /* error */ extends LegacyClassQ implements Super {
+//       ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in_lib1.dart:20:8: Context: The method 'SuperQ.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+//   int? optionalArgumentsMethod(int? i) => i;
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:59:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassMixedIn' does not conform to its interface.
+// class ClassMixedIn /* error */ extends LegacyMixedIn implements SuperQ {
+//       ^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in_lib2.dart:13:16: Context: The method 'Object with Super.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+// abstract class LegacyMixedIn with Super implements SuperExtra {}
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in.dart:84:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassMixedInQ' does not conform to its interface.
+// class ClassMixedInQ /* error */ extends LegacyMixedInQ implements Super {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in_lib2.dart:15:16: Context: The method 'Object with SuperQ.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+// abstract class LegacyMixedInQ with SuperQ implements SuperExtra {}
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_dill_in/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+import self as self;
+import "in_out_in_lib2.dart" as in_;
+import "in_out_in_lib1.dart" as in_2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///in_out_in_lib1.dart";
+import "org-dartlang-testcase:///in_out_in_lib2.dart";
+
+class Class extends in_::LegacyClass implements in_2::SuperQ {
+  synthetic constructor •() → self::Class
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature method nullabilityMethod(core::int? i, {core::int? j}) → core::int?; -> in_2::Super::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int?; -> in_2::Super::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int? value) → void; -> in_2::Super::nullabilitySetter
+}
+class ClassQ extends in_::LegacyClassQ implements in_2::Super {
+  synthetic constructor •() → self::ClassQ
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature get nullabilityGetter() → core::int; -> in_2::SuperQ::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int value) → void; -> in_2::SuperQ::nullabilitySetter
+}
+class ClassMixedIn extends in_::LegacyMixedIn implements in_2::SuperQ {
+  synthetic constructor •() → self::ClassMixedIn
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature method nullabilityMethod(core::int? i, {core::int? j}) → core::int?; -> in_::_LegacyMixedIn&Object&Super::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int?; -> in_::_LegacyMixedIn&Object&Super::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int? value) → void; -> in_::_LegacyMixedIn&Object&Super::nullabilitySetter
+}
+class ClassMixedInQ extends in_::LegacyMixedInQ implements in_2::Super {
+  synthetic constructor •() → self::ClassMixedInQ
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature get nullabilityGetter() → core::int; -> in_::_LegacyMixedInQ&Object&SuperQ::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int value) → void; -> in_::_LegacyMixedInQ&Object&SuperQ::nullabilitySetter
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as in_;
+import "in_out_in_lib1.dart" as in_2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///in_out_in_lib1.dart";
+
+abstract class LegacyClass extends in_2::Super implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyClass*
+    ;
+  abstract member-signature method nullabilityMethod(core::int* i, {core::int* j}) → core::int*; -> in_2::Super::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int*; -> in_2::Super::nullabilityGetter
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int* value) → void; -> in_2::Super::nullabilitySetter
+}
+abstract class LegacyClassQ extends in_2::SuperQ implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyClassQ*
+    ;
+  abstract member-signature method nullabilityMethod(core::int* i, {core::int* j}) → core::int*; -> in_2::SuperQ::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int*; -> in_2::SuperQ::nullabilityGetter
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int* value) → void; -> in_2::SuperQ::nullabilitySetter
+}
+abstract class _LegacyMixedIn&Object&Super = core::Object with in_2::Super /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → in_::_LegacyMixedIn&Object&Super*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method nullabilityMethod(core::int* i, {core::int* j}) → core::int*
+    return super.{in_2::Super::nullabilityMethod}(i, j: j);
+  mixin-super-stub get nullabilityGetter() → core::int*
+    return super.{in_2::Super::nullabilityGetter};
+  mixin-super-stub method optionalArgumentsMethod(core::int* i) → core::int*
+    return super.{in_2::Super::optionalArgumentsMethod}(i);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  mixin-super-stub set nullabilitySetter(core::int* value) → void
+    return super.{in_2::Super::nullabilitySetter} = value;
+}
+abstract class LegacyMixedIn extends in_::_LegacyMixedIn&Object&Super implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyMixedIn*
+    ;
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+}
+abstract class _LegacyMixedInQ&Object&SuperQ = core::Object with in_2::SuperQ /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → in_::_LegacyMixedInQ&Object&SuperQ*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method nullabilityMethod(core::int* i, {core::int* j}) → core::int*
+    return super.{in_2::SuperQ::nullabilityMethod}(i, j: j);
+  mixin-super-stub get nullabilityGetter() → core::int*
+    return super.{in_2::SuperQ::nullabilityGetter};
+  mixin-super-stub method optionalArgumentsMethod(core::int* i) → core::int*
+    return super.{in_2::SuperQ::optionalArgumentsMethod}(i);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  mixin-super-stub set nullabilitySetter(core::int* value) → void
+    return super.{in_2::SuperQ::nullabilitySetter} = value;
+}
+abstract class LegacyMixedInQ extends in_::_LegacyMixedInQ&Object&SuperQ implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyMixedInQ*
+    ;
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+}
+
+library /*isNonNullableByDefault*/;
+import self as in_2;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → in_2::Super
+    ;
+  method nullabilityMethod(core::int i, {required core::int j}) → core::int
+    ;
+  get nullabilityGetter() → core::int
+    ;
+  set nullabilitySetter(core::int value) → void
+    ;
+  method optionalArgumentsMethod(core::int i) → core::int
+    ;
+}
+abstract class SuperExtra extends core::Object {
+  synthetic constructor •() → in_2::SuperExtra
+    ;
+  method optionalArgumentsMethod(core::int i, [core::int? j]) → core::int
+    ;
+}
+abstract class SuperQ extends core::Object {
+  synthetic constructor •() → in_2::SuperQ
+    ;
+  method nullabilityMethod(core::int? i, {core::int? j}) → core::int?
+    ;
+  get nullabilityGetter() → core::int?
+    ;
+  set nullabilitySetter(core::int? value) → void
+    ;
+  method optionalArgumentsMethod(core::int? i) → core::int?
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.outline.expect
new file mode 100644
index 0000000..7e98c01
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.outline.expect
@@ -0,0 +1,261 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:9:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'Class' does not conform to its interface.
+// class Class /* error */ extends LegacyClass implements SuperQ {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:9:7: Context: The method 'Super.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+//   int optionalArgumentsMethod(int i) => i;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:34:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassQ' does not conform to its interface.
+// class ClassQ /* error */ extends LegacyClassQ implements Super {
+//       ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:20:8: Context: The method 'SuperQ.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+//   int? optionalArgumentsMethod(int? i) => i;
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:59:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassMixedIn' does not conform to its interface.
+// class ClassMixedIn /* error */ extends LegacyMixedIn implements SuperQ {
+//       ^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib2.dart:13:16: Context: The method 'Object with Super.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+// abstract class LegacyMixedIn with Super implements SuperExtra {}
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart:84:7: Error: The implementation of 'optionalArgumentsMethod' in the non-abstract class 'ClassMixedInQ' does not conform to its interface.
+// class ClassMixedInQ /* error */ extends LegacyMixedInQ implements Super {
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib2.dart:15:16: Context: The method 'Object with SuperQ.optionalArgumentsMethod' has fewer positional arguments than those of overridden method 'SuperExtra.optionalArgumentsMethod'.
+// abstract class LegacyMixedInQ with SuperQ implements SuperExtra {}
+//                ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in_lib1.dart:13:7: Context: This is the overridden method ('optionalArgumentsMethod').
+//   int optionalArgumentsMethod(int i, [int? j]) => i;
+//       ^
+//
+import self as self;
+import "in_out_in_lib2.dart" as in_;
+import "in_out_in_lib1.dart" as in_2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///in_out_in_lib1.dart";
+import "org-dartlang-testcase:///in_out_in_lib2.dart";
+
+class Class extends in_::LegacyClass implements in_2::SuperQ {
+  synthetic constructor •() → self::Class
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature method nullabilityMethod(core::int? i) → core::int?; -> in_2::Super::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int?; -> in_2::Super::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int? value) → void; -> in_2::Super::nullabilitySetter
+}
+class ClassQ extends in_::LegacyClassQ implements in_2::Super {
+  synthetic constructor •() → self::ClassQ
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature method nullabilityMethod(core::int i) → core::int; -> in_2::SuperQ::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int; -> in_2::SuperQ::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int value) → void; -> in_2::SuperQ::nullabilitySetter
+}
+class ClassMixedIn extends in_::LegacyMixedIn implements in_2::SuperQ {
+  synthetic constructor •() → self::ClassMixedIn
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature method nullabilityMethod(core::int? i) → core::int?; -> in_::_LegacyMixedIn&Object&Super::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int?; -> in_::_LegacyMixedIn&Object&Super::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int? value) → void; -> in_::_LegacyMixedIn&Object&Super::nullabilitySetter
+}
+class ClassMixedInQ extends in_::LegacyMixedInQ implements in_2::Super {
+  synthetic constructor •() → self::ClassMixedInQ
+    ;
+  method test() → dynamic
+    ;
+  abstract member-signature method nullabilityMethod(core::int i) → core::int; -> in_::_LegacyMixedInQ&Object&SuperQ::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int; -> in_::_LegacyMixedInQ&Object&SuperQ::nullabilityGetter
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int value) → void; -> in_::_LegacyMixedInQ&Object&SuperQ::nullabilitySetter
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as in_2;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → in_2::Super
+    ;
+  method nullabilityMethod(core::int i) → core::int
+    ;
+  get nullabilityGetter() → core::int
+    ;
+  set nullabilitySetter(core::int value) → void
+    ;
+  method optionalArgumentsMethod(core::int i) → core::int
+    ;
+}
+abstract class SuperExtra extends core::Object {
+  synthetic constructor •() → in_2::SuperExtra
+    ;
+  method optionalArgumentsMethod(core::int i, [core::int? j]) → core::int
+    ;
+}
+abstract class SuperQ extends core::Object {
+  synthetic constructor •() → in_2::SuperQ
+    ;
+  method nullabilityMethod(core::int? i) → core::int?
+    ;
+  get nullabilityGetter() → core::int?
+    ;
+  set nullabilitySetter(core::int? value) → void
+    ;
+  method optionalArgumentsMethod(core::int? i) → core::int?
+    ;
+}
+
+library;
+import self as in_;
+import "in_out_in_lib1.dart" as in_2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///in_out_in_lib1.dart";
+
+abstract class LegacyClass extends in_2::Super implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyClass*
+    ;
+  abstract member-signature method nullabilityMethod(core::int* i) → core::int*; -> in_2::Super::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int*; -> in_2::Super::nullabilityGetter
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int* value) → void; -> in_2::Super::nullabilitySetter
+}
+abstract class LegacyClassQ extends in_2::SuperQ implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyClassQ*
+    ;
+  abstract member-signature method nullabilityMethod(core::int* i) → core::int*; -> in_2::SuperQ::nullabilityMethod
+  abstract member-signature get nullabilityGetter() → core::int*; -> in_2::SuperQ::nullabilityGetter
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature set nullabilitySetter(core::int* value) → void; -> in_2::SuperQ::nullabilitySetter
+}
+abstract class _LegacyMixedIn&Object&Super = core::Object with in_2::Super /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → in_::_LegacyMixedIn&Object&Super*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method nullabilityMethod(core::int* i) → core::int*
+    return super.{in_2::Super::nullabilityMethod}(i);
+  mixin-super-stub get nullabilityGetter() → core::int*
+    return super.{in_2::Super::nullabilityGetter};
+  mixin-super-stub method optionalArgumentsMethod(core::int* i) → core::int*
+    return super.{in_2::Super::optionalArgumentsMethod}(i);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  mixin-super-stub set nullabilitySetter(core::int* value) → void
+    return super.{in_2::Super::nullabilitySetter} = value;
+}
+abstract class LegacyMixedIn extends in_::_LegacyMixedIn&Object&Super implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyMixedIn*
+    ;
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+}
+abstract class _LegacyMixedInQ&Object&SuperQ = core::Object with in_2::SuperQ /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → in_::_LegacyMixedInQ&Object&SuperQ*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method nullabilityMethod(core::int* i) → core::int*
+    return super.{in_2::SuperQ::nullabilityMethod}(i);
+  mixin-super-stub get nullabilityGetter() → core::int*
+    return super.{in_2::SuperQ::nullabilityGetter};
+  mixin-super-stub method optionalArgumentsMethod(core::int* i) → core::int*
+    return super.{in_2::SuperQ::optionalArgumentsMethod}(i);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  mixin-super-stub set nullabilitySetter(core::int* value) → void
+    return super.{in_2::SuperQ::nullabilitySetter} = value;
+}
+abstract class LegacyMixedInQ extends in_::_LegacyMixedInQ&Object&SuperQ implements in_2::SuperExtra {
+  synthetic constructor •() → in_::LegacyMixedInQ*
+    ;
+  abstract member-signature method optionalArgumentsMethod(core::int* i, [core::int* j]) → core::int*; -> in_2::SuperExtra::optionalArgumentsMethod
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.transformed.expect
deleted file mode 100644
index 551f480..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/hierarchy/in_out_in.dart.weak.transformed.expect
+++ /dev/null
@@ -1,112 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "in_out_in_lib2.dart" as in_;
-import "in_out_in_lib1.dart" as in_2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///in_out_in_lib1.dart";
-import "org-dartlang-testcase:///in_out_in_lib2.dart";
-
-class Class extends in_::LegacyClass implements in_2::SuperQ {
-  synthetic constructor •() → self::Class
-    : super in_::LegacyClass::•()
-    ;
-  abstract member-signature method method(core::int? i) → core::int?; -> in_2::Super::method
-  abstract member-signature method method2(core::int i, [core::int? j = #C1]) → core::int; -> in_2::SuperQ::method2
-  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
-}
-class ClassQ extends in_::LegacyClassQ implements in_2::Super {
-  synthetic constructor •() → self::ClassQ
-    : super in_::LegacyClassQ::•()
-    ;
-  abstract member-signature method method(core::int i) → core::int; -> in_2::SuperQ::method
-  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
-}
-static method main() → dynamic {
-  new self::Class::•().{self::Class::method2}(0, 0);
-}
-
-library /*isNonNullableByDefault*/;
-import self as in_2;
-import "dart:core" as core;
-
-class Super extends core::Object {
-  synthetic constructor •() → in_2::Super
-    : super core::Object::•()
-    ;
-  method method(core::int i) → core::int
-    return i;
-  method method2(core::int i) → core::int
-    return i;
-}
-abstract class SuperQ extends core::Object {
-  synthetic constructor •() → in_2::SuperQ
-    : super core::Object::•()
-    ;
-  method method(core::int? i) → core::int?
-    return i;
-  method method2(core::int i, [core::int? j = #C1]) → core::int
-    return i;
-}
-
-library;
-import self as in_;
-import "in_out_in_lib1.dart" as in_2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///in_out_in_lib1.dart";
-
-class LegacyClass extends in_2::Super {
-  synthetic constructor •() → in_::LegacyClass*
-    : super in_2::Super::•()
-    ;
-  abstract member-signature method method(core::int* i) → core::int*; -> in_2::Super::method
-  abstract member-signature method method2(core::int* i) → core::int*; -> in_2::Super::method2
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class LegacyClassQ extends in_2::SuperQ {
-  synthetic constructor •() → in_::LegacyClassQ*
-    : super in_2::SuperQ::•()
-    ;
-  abstract member-signature method method(core::int* i) → core::int*; -> in_2::SuperQ::method
-  abstract member-signature method method2(core::int* i, [core::int* j = #C1]) → core::int*; -> in_2::SuperQ::method2
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-
-constants  {
-  #C1 = null
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.outline.expect
new file mode 100644
index 0000000..6a58520
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart.weak.outline.expect
@@ -0,0 +1,266 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:34:7: Error: The non-abstract class 'ClassImplements' is missing implementations for these members:
+//  - Interface2.extendedMethod
+//  - Interface2.mixedInMethod
+//  - Mixin.mixedInMethod
+//  - Super with Mixin.mixedInMethod
+//  - Super.extendedMethod
+// 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 ClassImplements implements Interface2 {}
+//       ^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:19:7: Context: 'Interface2.extendedMethod' is defined here.
+//   int extendedMethod();
+//       ^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:20:7: Context: 'Interface2.mixedInMethod' is defined here.
+//   int mixedInMethod();
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:10:7: Context: 'Mixin.mixedInMethod' is defined here.
+//   num mixedInMethod() => 0;
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:10:7: Context: 'Super with Mixin.mixedInMethod' is defined here.
+//   num mixedInMethod() => 0;
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:6:7: Context: 'Super.extendedMethod' is defined here.
+//   num extendedMethod() => 0;
+//       ^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:23:7: Error: The implementation of 'mixedInMethod' in the non-abstract class 'ClassExtends' does not conform to its interface.
+// class ClassExtends extends Super with Mixin implements Interface1 {}
+//       ^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:23:7: Context: The return type of the method 'Super with Mixin.mixedInMethod' is 'num', which does not match the return type, 'int', of the overridden method, 'Interface1.mixedInMethod'.
+// Change to a subtype of 'int'.
+// class ClassExtends extends Super with Mixin implements Interface1 {}
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:15:7: Context: This is the overridden method ('mixedInMethod').
+//   int mixedInMethod();
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:23:7: Error: The implementation of 'extendedMethod' in the non-abstract class 'ClassExtends' does not conform to its interface.
+// class ClassExtends extends Super with Mixin implements Interface1 {}
+//       ^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:6:7: Context: The return type of the method 'Super.extendedMethod' is 'num', which does not match the return type, 'int', of the overridden method, 'Interface1.extendedMethod'.
+// Change to a subtype of 'int'.
+//   num extendedMethod() => 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:14:7: Context: This is the overridden method ('extendedMethod').
+//   int extendedMethod();
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:25:7: Error: The implementation of 'mixedInMethod' in the non-abstract class 'ClassExtendsWithNoSuchMethod' does not conform to its interface.
+// class ClassExtendsWithNoSuchMethod extends Super
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:25:7: Context: The return type of the method 'Super with Mixin.mixedInMethod' is 'num', which does not match the return type, 'int', of the overridden method, 'Interface1.mixedInMethod'.
+// Change to a subtype of 'int'.
+// class ClassExtendsWithNoSuchMethod extends Super
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:15:7: Context: This is the overridden method ('mixedInMethod').
+//   int mixedInMethod();
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:25:7: Error: The implementation of 'extendedMethod' in the non-abstract class 'ClassExtendsWithNoSuchMethod' does not conform to its interface.
+// class ClassExtendsWithNoSuchMethod extends Super
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:6:7: Context: The return type of the method 'Super.extendedMethod' is 'num', which does not match the return type, 'int', of the overridden method, 'Interface1.extendedMethod'.
+// Change to a subtype of 'int'.
+//   num extendedMethod() => 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:14:7: Context: This is the overridden method ('extendedMethod').
+//   int extendedMethod();
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:43:7: Error: The implementation of 'extendedMethod' in the non-abstract class 'ClassDeclaresExtends' does not conform to its interface.
+// class ClassDeclaresExtends extends Super with Mixin {
+//       ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:6:7: Context: The return type of the method 'Super.extendedMethod' is 'num', which does not match the return type, 'int', of the overridden method, 'ClassDeclaresExtends.extendedMethod'.
+// Change to a subtype of 'int'.
+//   num extendedMethod() => 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:44:7: Context: This is the overridden method ('extendedMethod').
+//   int extendedMethod();
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:43:7: Error: The implementation of 'mixedInMethod' in the non-abstract class 'ClassDeclaresExtends' does not conform to its interface.
+// class ClassDeclaresExtends extends Super with Mixin {
+//       ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:43:7: Context: The return type of the method 'Super with Mixin.mixedInMethod' is 'num', which does not match the return type, 'int', of the overridden method, 'ClassDeclaresExtends.mixedInMethod'.
+// Change to a subtype of 'int'.
+// class ClassDeclaresExtends extends Super with Mixin {
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:45:7: Context: This is the overridden method ('mixedInMethod').
+//   int mixedInMethod();
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:48:7: Error: The implementation of 'extendedMethod' in the non-abstract class 'ClassDeclaresExtendsWithNoSuchMethod' does not conform to its interface.
+// class ClassDeclaresExtendsWithNoSuchMethod extends Super with Mixin {
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:6:7: Context: The return type of the method 'Super.extendedMethod' is 'num', which does not match the return type, 'int', of the overridden method, 'ClassDeclaresExtendsWithNoSuchMethod.extendedMethod'.
+// Change to a subtype of 'int'.
+//   num extendedMethod() => 0;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:54:7: Context: This is the overridden method ('extendedMethod').
+//   int extendedMethod();
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:48:7: Error: The implementation of 'mixedInMethod' in the non-abstract class 'ClassDeclaresExtendsWithNoSuchMethod' does not conform to its interface.
+// class ClassDeclaresExtendsWithNoSuchMethod extends Super with Mixin {
+//       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:48:7: Context: The return type of the method 'Super with Mixin.mixedInMethod' is 'num', which does not match the return type, 'int', of the overridden method, 'ClassDeclaresExtendsWithNoSuchMethod.mixedInMethod'.
+// Change to a subtype of 'int'.
+// class ClassDeclaresExtendsWithNoSuchMethod extends Super with Mixin {
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/inherited_implements.dart:55:7: Context: This is the overridden method ('mixedInMethod').
+//   int mixedInMethod();
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method extendedMethod() → core::num
+    ;
+}
+class Mixin extends core::Object {
+  synthetic constructor •() → self::Mixin
+    ;
+  method mixedInMethod() → core::num
+    ;
+}
+abstract class Interface1 extends core::Object {
+  synthetic constructor •() → self::Interface1
+    ;
+  abstract method extendedMethod() → core::int;
+  abstract method mixedInMethod() → core::int;
+}
+abstract class _Interface2&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Interface2&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInMethod() → core::num
+    return super.{self::Mixin::mixedInMethod}();
+}
+abstract class Interface2 extends self::_Interface2&Super&Mixin {
+  synthetic constructor •() → self::Interface2
+    ;
+  abstract method extendedMethod() → core::int;
+  abstract method mixedInMethod() → core::int;
+}
+abstract class _ClassExtends&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassExtends&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInMethod() → core::num
+    return super.{self::Mixin::mixedInMethod}();
+}
+class ClassExtends extends self::_ClassExtends&Super&Mixin implements self::Interface1 {
+  synthetic constructor •() → self::ClassExtends
+    ;
+  abstract member-signature method mixedInMethod() → core::int; -> self::Interface1::mixedInMethod
+  abstract member-signature method extendedMethod() → core::int; -> self::Interface1::extendedMethod
+}
+abstract class _ClassExtendsWithNoSuchMethod&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassExtendsWithNoSuchMethod&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInMethod() → core::num
+    return super.{self::Mixin::mixedInMethod}();
+}
+class ClassExtendsWithNoSuchMethod extends self::_ClassExtendsWithNoSuchMethod&Super&Mixin implements self::Interface1 {
+  synthetic constructor •() → self::ClassExtendsWithNoSuchMethod
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+  abstract member-signature method mixedInMethod() → core::int; -> self::Interface1::mixedInMethod
+  abstract member-signature method extendedMethod() → core::int; -> self::Interface1::extendedMethod
+}
+class ClassImplements extends core::Object implements self::Interface2 {
+  synthetic constructor •() → self::ClassImplements
+    ;
+}
+class ClassImplementsWithNoSuchMethod extends core::Object implements self::Interface2 {
+  synthetic constructor •() → self::ClassImplementsWithNoSuchMethod
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+  no-such-method-forwarder method mixedInMethod() → core::int
+    return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#mixedInMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder method extendedMethod() → core::int
+    return this.{self::ClassImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#extendedMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+}
+abstract class _ClassDeclaresExtends&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassDeclaresExtends&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInMethod() → core::num
+    return super.{self::Mixin::mixedInMethod}();
+}
+class ClassDeclaresExtends extends self::_ClassDeclaresExtends&Super&Mixin {
+  synthetic constructor •() → self::ClassDeclaresExtends
+    ;
+  abstract method extendedMethod() → core::int;
+  abstract method mixedInMethod() → core::int;
+}
+abstract class _ClassDeclaresExtendsWithNoSuchMethod&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassDeclaresExtendsWithNoSuchMethod&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInMethod() → core::num
+    return super.{self::Mixin::mixedInMethod}();
+}
+class ClassDeclaresExtendsWithNoSuchMethod extends self::_ClassDeclaresExtendsWithNoSuchMethod&Super&Mixin {
+  synthetic constructor •() → self::ClassDeclaresExtendsWithNoSuchMethod
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+  abstract method extendedMethod() → core::int;
+  abstract method mixedInMethod() → core::int;
+}
+class ClassDeclaresImplementsWithNoSuchMethod extends core::Object implements self::Super, self::Mixin {
+  synthetic constructor •() → self::ClassDeclaresImplementsWithNoSuchMethod
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+  no-such-method-forwarder method extendedMethod() → core::int
+    return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#extendedMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder method mixedInMethod() → core::int
+    return this.{self::ClassDeclaresImplementsWithNoSuchMethod::noSuchMethod}(new core::_InvocationMirror::_withType(#mixedInMethod, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///inherited_implements.dart:28:4 -> InstanceConstant(const _Override{})
+Evaluated: StaticGet @ org-dartlang-testcase:///inherited_implements.dart:37:4 -> InstanceConstant(const _Override{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_implements.dart:20:7 -> SymbolConstant(#mixedInMethod)
+Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_implements.dart:20:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_implements.dart:20:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_implements.dart:20:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_implements.dart:19:7 -> SymbolConstant(#extendedMethod)
+Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_implements.dart:19:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_implements.dart:19:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_implements.dart:19:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: StaticGet @ org-dartlang-testcase:///inherited_implements.dart:49:4 -> InstanceConstant(const _Override{})
+Evaluated: StaticGet @ org-dartlang-testcase:///inherited_implements.dart:59:4 -> InstanceConstant(const _Override{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_implements.dart:64:7 -> SymbolConstant(#extendedMethod)
+Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_implements.dart:64:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_implements.dart:64:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_implements.dart:64:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///inherited_implements.dart:65:7 -> SymbolConstant(#mixedInMethod)
+Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_implements.dart:65:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///inherited_implements.dart:65:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///inherited_implements.dart:65:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 45, effectively constant: 20
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature.dart.weak.outline.expect
new file mode 100644
index 0000000..b533344
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature.dart.weak.outline.expect
@@ -0,0 +1,185 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature.dart:11:7: Error: The non-abstract class 'ConcreteSub' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedMethod
+//  - Interface1.implementedMethod
+//  - Interface1.implementedMultipleMethod
+//  - Interface2.implementedMultipleMethod
+//  - Super.extendedAbstractImplementedMethod
+//  - Super.extendedAbstractMethod
+// 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 ConcreteSub extends AbstractClass {}
+//       ^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:18:8: Context: 'Interface1.extendedAbstractImplementedMethod' is defined here.
+//   void extendedAbstractImplementedMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:20:8: Context: 'Interface1.implementedMethod' is defined here.
+//   void implementedMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:22:8: Context: 'Interface1.implementedMultipleMethod' is defined here.
+//   void implementedMultipleMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:26:8: Context: 'Interface2.implementedMultipleMethod' is defined here.
+//   void implementedMultipleMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:12:8: Context: 'Super.extendedAbstractImplementedMethod' is defined here.
+//   void extendedAbstractImplementedMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature.dart:13:7: Error: The non-abstract class 'ConcreteClass' is missing implementations for these members:
+//  - Interface1.extendedAbstractImplementedMethod
+//  - Interface1.implementedMethod
+//  - Interface1.implementedMultipleMethod
+//  - Interface2.implementedMultipleMethod
+//  - Super.extendedAbstractImplementedMethod
+//  - Super.extendedAbstractMethod
+// 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 ConcreteClass extends Super implements Interface1, Interface2 {}
+//       ^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:18:8: Context: 'Interface1.extendedAbstractImplementedMethod' is defined here.
+//   void extendedAbstractImplementedMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:20:8: Context: 'Interface1.implementedMethod' is defined here.
+//   void implementedMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:22:8: Context: 'Interface1.implementedMultipleMethod' is defined here.
+//   void implementedMultipleMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:26:8: Context: 'Interface2.implementedMultipleMethod' is defined here.
+//   void implementedMultipleMethod(int i) {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:12:8: Context: 'Super.extendedAbstractImplementedMethod' is defined here.
+//   void extendedAbstractImplementedMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/member_signature_lib.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "member_signature_lib.dart" as mem;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///member_signature_lib.dart";
+
+abstract class AbstractClass extends mem::Super implements mem::Interface1, mem::Interface2 {
+  synthetic constructor •() → self::AbstractClass*
+    ;
+  abstract member-signature method extendedConcreteMethod(core::int* i) → void; -> mem::Super::extendedConcreteMethod
+  abstract member-signature method extendedConcreteImplementedMethod(core::int* i) → void; -> mem::Super::extendedConcreteImplementedMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature method extendedAbstractMethod(core::int* i) → void; -> mem::Super::extendedAbstractMethod
+  abstract member-signature method extendedAbstractImplementedMethod(core::int* i) → void; -> mem::Super::extendedAbstractImplementedMethod
+  abstract member-signature method implementedMethod(core::int* i) → void; -> mem::Interface1::implementedMethod
+  abstract member-signature method implementedMultipleMethod(core::int* i) → void; -> mem::Interface1::implementedMultipleMethod
+}
+class ConcreteSub extends self::AbstractClass {
+  synthetic constructor •() → self::ConcreteSub*
+    ;
+}
+class ConcreteClass extends mem::Super implements mem::Interface1, mem::Interface2 {
+  synthetic constructor •() → self::ConcreteClass*
+    ;
+  abstract member-signature method extendedConcreteMethod(core::int* i) → void; -> mem::Super::extendedConcreteMethod
+  abstract member-signature method extendedConcreteImplementedMethod(core::int* i) → void; -> mem::Super::extendedConcreteImplementedMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature method extendedAbstractMethod(core::int* i) → void; -> mem::Super::extendedAbstractMethod
+  abstract member-signature method extendedAbstractImplementedMethod(core::int* i) → void; -> mem::Super::extendedAbstractImplementedMethod
+  abstract member-signature method implementedMethod(core::int* i) → void; -> mem::Interface1::implementedMethod
+  abstract member-signature method implementedMultipleMethod(core::int* i) → void; -> mem::Interface1::implementedMultipleMethod
+}
+abstract class OptOutInterface extends core::Object {
+  synthetic constructor •() → self::OptOutInterface*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class ClassImplementsOptOut extends core::Object implements self::OptOutInterface {
+  synthetic constructor •() → self::ClassImplementsOptOut*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as mem;
+import "dart:core" as core;
+
+abstract class Super extends core::Object {
+  synthetic constructor •() → mem::Super
+    ;
+  method extendedConcreteMethod(core::int i) → void
+    ;
+  abstract method extendedAbstractMethod(core::int i) → void;
+  method extendedConcreteImplementedMethod(core::int i) → void
+    ;
+  abstract method extendedAbstractImplementedMethod(core::int i) → void;
+}
+abstract class Interface1 extends core::Object {
+  synthetic constructor •() → mem::Interface1
+    ;
+  method extendedConcreteImplementedMethod(core::int i) → void
+    ;
+  method extendedAbstractImplementedMethod(core::int i) → void
+    ;
+  method implementedMethod(core::int i) → void
+    ;
+  method implementedMultipleMethod(core::int i) → void
+    ;
+}
+abstract class Interface2 extends core::Object {
+  synthetic constructor •() → mem::Interface2
+    ;
+  method implementedMultipleMethod(core::int i) → void
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart.weak.outline.expect
new file mode 100644
index 0000000..26c7cbd
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart.weak.outline.expect
@@ -0,0 +1,237 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:5:7: Error: The non-abstract class 'Super' is missing implementations for these members:
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractField=
+//  - Super.extendedAbstractMixedInAbstractField
+//  - Super.extendedAbstractMixedInAbstractField=
+//  - Super.extendedAbstractMixedInConcreteField
+//  - Super.extendedAbstractMixedInConcreteField=
+// 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 Super {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:8:16: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:8:16: Context: 'Super.extendedAbstractField=' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:16:16: Context: 'Super.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:16:16: Context: 'Super.extendedAbstractMixedInAbstractField=' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:12:16: Context: 'Super.extendedAbstractMixedInConcreteField' is defined here.
+//   abstract int extendedAbstractMixedInConcreteField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:12:16: Context: 'Super.extendedAbstractMixedInConcreteField=' is defined here.
+//   abstract int extendedAbstractMixedInConcreteField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:19:7: Error: The non-abstract class 'Mixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractField
+//  - Mixin.extendedAbstractMixedInAbstractField=
+//  - Mixin.extendedConcreteMixedInAbstractField
+//  - Mixin.extendedConcreteMixedInAbstractField=
+//  - Mixin.mixedInAbstractField
+//  - Mixin.mixedInAbstractField=
+// 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 Mixin {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:30:16: Context: 'Mixin.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:30:16: Context: 'Mixin.extendedAbstractMixedInAbstractField=' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:28:16: Context: 'Mixin.extendedConcreteMixedInAbstractField' is defined here.
+//   abstract int extendedConcreteMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:28:16: Context: 'Mixin.extendedConcreteMixedInAbstractField=' is defined here.
+//   abstract int extendedConcreteMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:22:16: Context: 'Mixin.mixedInAbstractField' is defined here.
+//   abstract int mixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:22:16: Context: 'Mixin.mixedInAbstractField=' is defined here.
+//   abstract int mixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:33:7: Error: The non-abstract class 'ClassMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractField
+//  - Mixin.extendedAbstractMixedInAbstractField=
+//  - Mixin.mixedInAbstractField
+//  - Mixin.mixedInAbstractField=
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractField=
+//  - Super.extendedAbstractMixedInAbstractField
+//  - Super.extendedAbstractMixedInAbstractField=
+// 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 ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:30:16: Context: 'Mixin.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:30:16: Context: 'Mixin.extendedAbstractMixedInAbstractField=' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:22:16: Context: 'Mixin.mixedInAbstractField' is defined here.
+//   abstract int mixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:22:16: Context: 'Mixin.mixedInAbstractField=' is defined here.
+//   abstract int mixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:8:16: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:8:16: Context: 'Super.extendedAbstractField=' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:16:16: Context: 'Super.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:16:16: Context: 'Super.extendedAbstractMixedInAbstractField=' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:35:7: Error: The non-abstract class 'NamedMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractField
+//  - Mixin.extendedAbstractMixedInAbstractField=
+//  - Mixin.mixedInAbstractField
+//  - Mixin.mixedInAbstractField=
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractField=
+//  - Super.extendedAbstractMixedInAbstractField
+//  - Super.extendedAbstractMixedInAbstractField=
+// 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 NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:30:16: Context: 'Mixin.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:30:16: Context: 'Mixin.extendedAbstractMixedInAbstractField=' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:22:16: Context: 'Mixin.mixedInAbstractField' is defined here.
+//   abstract int mixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:22:16: Context: 'Mixin.mixedInAbstractField=' is defined here.
+//   abstract int mixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:8:16: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:8:16: Context: 'Super.extendedAbstractField=' is defined here.
+//   abstract int extendedAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:16:16: Context: 'Super.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_field.dart:16:16: Context: 'Super.extendedAbstractMixedInAbstractField=' is defined here.
+//   abstract int extendedAbstractMixedInAbstractField;
+//                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  field core::int extendedConcreteField;
+  field core::int extendedConcreteMixedInConcreteField;
+  field core::int extendedConcreteMixedInAbstractField;
+  synthetic constructor •() → self::Super
+    ;
+  abstract get extendedAbstractField() → core::int;
+  abstract set extendedAbstractField(core::int #externalFieldValue) → void;
+  abstract get extendedAbstractMixedInConcreteField() → core::int;
+  abstract set extendedAbstractMixedInConcreteField(core::int #externalFieldValue) → void;
+  abstract get extendedAbstractMixedInAbstractField() → core::int;
+  abstract set extendedAbstractMixedInAbstractField(core::int #externalFieldValue) → void;
+}
+class Mixin extends core::Object {
+  field core::int mixedInConcreteField;
+  field core::int extendedConcreteMixedInConcreteField;
+  field core::int extendedAbstractMixedInConcreteField;
+  synthetic constructor •() → self::Mixin
+    ;
+  abstract get mixedInAbstractField() → core::int;
+  abstract set mixedInAbstractField(core::int #externalFieldValue) → void;
+  abstract get extendedConcreteMixedInAbstractField() → core::int;
+  abstract set extendedConcreteMixedInAbstractField(core::int #externalFieldValue) → void;
+  abstract get extendedAbstractMixedInAbstractField() → core::int;
+  abstract set extendedAbstractMixedInAbstractField(core::int #externalFieldValue) → void;
+}
+abstract class _ClassMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassMixin&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub get mixedInConcreteField() → core::int
+    return super.{self::Mixin::mixedInConcreteField};
+  mixin-super-stub set mixedInConcreteField(core::int value) → void
+    return super.{self::Mixin::mixedInConcreteField} = value;
+  abstract mixin-stub get mixedInAbstractField() → core::int; -> self::Mixin::mixedInAbstractField
+  abstract mixin-stub set mixedInAbstractField(core::int #externalFieldValue) → void; -> self::Mixin::mixedInAbstractField
+  mixin-super-stub get extendedConcreteMixedInConcreteField() → core::int
+    return super.{self::Mixin::extendedConcreteMixedInConcreteField};
+  mixin-super-stub set extendedConcreteMixedInConcreteField(core::int value) → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteField} = value;
+  mixin-super-stub get extendedAbstractMixedInConcreteField() → core::int
+    return super.{self::Mixin::extendedAbstractMixedInConcreteField};
+  mixin-super-stub set extendedAbstractMixedInConcreteField(core::int value) → void
+    return super.{self::Mixin::extendedAbstractMixedInConcreteField} = value;
+  abstract mixin-stub get extendedConcreteMixedInAbstractField() → core::int; -> self::Mixin::extendedConcreteMixedInAbstractField
+  abstract mixin-stub set extendedConcreteMixedInAbstractField(core::int #externalFieldValue) → void; -> self::Mixin::extendedConcreteMixedInAbstractField
+  abstract mixin-stub get extendedAbstractMixedInAbstractField() → core::int; -> self::Mixin::extendedAbstractMixedInAbstractField
+  abstract mixin-stub set extendedAbstractMixedInAbstractField(core::int #externalFieldValue) → void; -> self::Mixin::extendedAbstractMixedInAbstractField
+}
+class ClassMixin extends self::_ClassMixin&Super&Mixin {
+  synthetic constructor •() → self::ClassMixin
+    ;
+}
+class NamedMixin = self::Super with self::Mixin {
+  synthetic constructor •() → self::NamedMixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub get mixedInConcreteField() → core::int
+    return super.{self::Mixin::mixedInConcreteField};
+  mixin-super-stub set mixedInConcreteField(core::int value) → void
+    return super.{self::Mixin::mixedInConcreteField} = value;
+  abstract mixin-stub get mixedInAbstractField() → core::int; -> self::Mixin::mixedInAbstractField
+  abstract mixin-stub set mixedInAbstractField(core::int #externalFieldValue) → void; -> self::Mixin::mixedInAbstractField
+  mixin-super-stub get extendedConcreteMixedInConcreteField() → core::int
+    return super.{self::Mixin::extendedConcreteMixedInConcreteField};
+  mixin-super-stub set extendedConcreteMixedInConcreteField(core::int value) → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteField} = value;
+  mixin-super-stub get extendedAbstractMixedInConcreteField() → core::int
+    return super.{self::Mixin::extendedAbstractMixedInConcreteField};
+  mixin-super-stub set extendedAbstractMixedInConcreteField(core::int value) → void
+    return super.{self::Mixin::extendedAbstractMixedInConcreteField} = value;
+  abstract mixin-stub get extendedConcreteMixedInAbstractField() → core::int; -> self::Mixin::extendedConcreteMixedInAbstractField
+  abstract mixin-stub set extendedConcreteMixedInAbstractField(core::int #externalFieldValue) → void; -> self::Mixin::extendedConcreteMixedInAbstractField
+  abstract mixin-stub get extendedAbstractMixedInAbstractField() → core::int; -> self::Mixin::extendedAbstractMixedInAbstractField
+  abstract mixin-stub set extendedAbstractMixedInAbstractField(core::int #externalFieldValue) → void; -> self::Mixin::extendedAbstractMixedInAbstractField
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart.weak.outline.expect
new file mode 100644
index 0000000..4622863
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart.weak.outline.expect
@@ -0,0 +1,157 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:5:7: Error: The non-abstract class 'Super' is missing implementations for these members:
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractMixedInAbstractField
+//  - Super.extendedAbstractMixedInConcreteField
+// 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 Super {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:8:22: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract final int extendedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:16:22: Context: 'Super.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract final int extendedAbstractMixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:12:22: Context: 'Super.extendedAbstractMixedInConcreteField' is defined here.
+//   abstract final int extendedAbstractMixedInConcreteField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:19:7: Error: The non-abstract class 'Mixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractField
+//  - Mixin.extendedConcreteMixedInAbstractField
+//  - Mixin.mixedInAbstractField
+// 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 Mixin {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:30:22: Context: 'Mixin.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract final int extendedAbstractMixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:28:22: Context: 'Mixin.extendedConcreteMixedInAbstractField' is defined here.
+//   abstract final int extendedConcreteMixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:22:22: Context: 'Mixin.mixedInAbstractField' is defined here.
+//   abstract final int mixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:33:7: Error: The non-abstract class 'ClassMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractField
+//  - Mixin.mixedInAbstractField
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractMixedInAbstractField
+// 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 ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:30:22: Context: 'Mixin.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract final int extendedAbstractMixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:22:22: Context: 'Mixin.mixedInAbstractField' is defined here.
+//   abstract final int mixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:8:22: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract final int extendedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:16:22: Context: 'Super.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract final int extendedAbstractMixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:35:7: Error: The non-abstract class 'NamedMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractField
+//  - Mixin.mixedInAbstractField
+//  - Super.extendedAbstractField
+//  - Super.extendedAbstractMixedInAbstractField
+// 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 NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:30:22: Context: 'Mixin.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract final int extendedAbstractMixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:22:22: Context: 'Mixin.mixedInAbstractField' is defined here.
+//   abstract final int mixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:8:22: Context: 'Super.extendedAbstractField' is defined here.
+//   abstract final int extendedAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_final_field.dart:16:22: Context: 'Super.extendedAbstractMixedInAbstractField' is defined here.
+//   abstract final int extendedAbstractMixedInAbstractField;
+//                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  final field core::int extendedConcreteField;
+  final field core::int extendedConcreteMixedInConcreteField;
+  final field core::int extendedConcreteMixedInAbstractField;
+  synthetic constructor •() → self::Super
+    ;
+  abstract get extendedAbstractField() → core::int;
+  abstract get extendedAbstractMixedInConcreteField() → core::int;
+  abstract get extendedAbstractMixedInAbstractField() → core::int;
+}
+class Mixin extends core::Object {
+  final field core::int mixedInConcreteField;
+  final field core::int extendedConcreteMixedInConcreteField;
+  final field core::int extendedAbstractMixedInConcreteField;
+  synthetic constructor •() → self::Mixin
+    ;
+  abstract get mixedInAbstractField() → core::int;
+  abstract get extendedConcreteMixedInAbstractField() → core::int;
+  abstract get extendedAbstractMixedInAbstractField() → core::int;
+}
+abstract class _ClassMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassMixin&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub get mixedInConcreteField() → core::int
+    return super.{self::Mixin::mixedInConcreteField};
+  mixin-super-stub get extendedConcreteMixedInConcreteField() → core::int
+    return super.{self::Mixin::extendedConcreteMixedInConcreteField};
+  mixin-super-stub get extendedAbstractMixedInConcreteField() → core::int
+    return super.{self::Mixin::extendedAbstractMixedInConcreteField};
+  abstract mixin-stub get extendedConcreteMixedInAbstractField() → core::int; -> self::Mixin::extendedConcreteMixedInAbstractField
+  abstract mixin-stub get mixedInAbstractField() → core::int; -> self::Mixin::mixedInAbstractField
+  abstract mixin-stub get extendedAbstractMixedInAbstractField() → core::int; -> self::Mixin::extendedAbstractMixedInAbstractField
+}
+class ClassMixin extends self::_ClassMixin&Super&Mixin {
+  synthetic constructor •() → self::ClassMixin
+    ;
+}
+class NamedMixin = self::Super with self::Mixin {
+  synthetic constructor •() → self::NamedMixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub get mixedInConcreteField() → core::int
+    return super.{self::Mixin::mixedInConcreteField};
+  mixin-super-stub get extendedConcreteMixedInConcreteField() → core::int
+    return super.{self::Mixin::extendedConcreteMixedInConcreteField};
+  mixin-super-stub get extendedAbstractMixedInConcreteField() → core::int
+    return super.{self::Mixin::extendedAbstractMixedInConcreteField};
+  abstract mixin-stub get extendedConcreteMixedInAbstractField() → core::int; -> self::Mixin::extendedConcreteMixedInAbstractField
+  abstract mixin-stub get mixedInAbstractField() → core::int; -> self::Mixin::mixedInAbstractField
+  abstract mixin-stub get extendedAbstractMixedInAbstractField() → core::int; -> self::Mixin::extendedAbstractMixedInAbstractField
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart.weak.outline.expect
new file mode 100644
index 0000000..e9a4205
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart.weak.outline.expect
@@ -0,0 +1,163 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:5:7: Error: The non-abstract class 'Super' is missing implementations for these members:
+//  - Super.extendedAbstractGetter
+//  - Super.extendedAbstractMixedInAbstractGetter
+//  - Super.extendedAbstractMixedInConcreteGetter
+// 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 Super {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:8:11: Context: 'Super.extendedAbstractGetter' is defined here.
+//   int get extendedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:16:11: Context: 'Super.extendedAbstractMixedInAbstractGetter' is defined here.
+//   int get extendedAbstractMixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:12:11: Context: 'Super.extendedAbstractMixedInConcreteGetter' is defined here.
+//   int get extendedAbstractMixedInConcreteGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:19:7: Error: The non-abstract class 'Mixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractGetter
+//  - Mixin.extendedConcreteMixedInAbstractGetter
+//  - Mixin.mixedInAbstractGetter
+// 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 Mixin {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:30:11: Context: 'Mixin.extendedAbstractMixedInAbstractGetter' is defined here.
+//   int get extendedAbstractMixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:28:11: Context: 'Mixin.extendedConcreteMixedInAbstractGetter' is defined here.
+//   int get extendedConcreteMixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:22:11: Context: 'Mixin.mixedInAbstractGetter' is defined here.
+//   int get mixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:33:7: Error: The non-abstract class 'ClassMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractGetter
+//  - Mixin.mixedInAbstractGetter
+//  - Super.extendedAbstractGetter
+//  - Super.extendedAbstractMixedInAbstractGetter
+// 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 ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:30:11: Context: 'Mixin.extendedAbstractMixedInAbstractGetter' is defined here.
+//   int get extendedAbstractMixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:22:11: Context: 'Mixin.mixedInAbstractGetter' is defined here.
+//   int get mixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:8:11: Context: 'Super.extendedAbstractGetter' is defined here.
+//   int get extendedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:16:11: Context: 'Super.extendedAbstractMixedInAbstractGetter' is defined here.
+//   int get extendedAbstractMixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:35:7: Error: The non-abstract class 'NamedMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractGetter
+//  - Mixin.mixedInAbstractGetter
+//  - Super.extendedAbstractGetter
+//  - Super.extendedAbstractMixedInAbstractGetter
+// 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 NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:30:11: Context: 'Mixin.extendedAbstractMixedInAbstractGetter' is defined here.
+//   int get extendedAbstractMixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:22:11: Context: 'Mixin.mixedInAbstractGetter' is defined here.
+//   int get mixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:8:11: Context: 'Super.extendedAbstractGetter' is defined here.
+//   int get extendedAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_getter.dart:16:11: Context: 'Super.extendedAbstractMixedInAbstractGetter' is defined here.
+//   int get extendedAbstractMixedInAbstractGetter;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  get extendedConcreteGetter() → core::int
+    ;
+  abstract get extendedAbstractGetter() → core::int;
+  get extendedConcreteMixedInConcreteGetter() → core::int
+    ;
+  abstract get extendedAbstractMixedInConcreteGetter() → core::int;
+  get extendedConcreteMixedInAbstractGetter() → core::int
+    ;
+  abstract get extendedAbstractMixedInAbstractGetter() → core::int;
+}
+class Mixin extends core::Object {
+  synthetic constructor •() → self::Mixin
+    ;
+  get mixedInConcreteGetter() → core::int
+    ;
+  abstract get mixedInAbstractGetter() → core::int;
+  get extendedConcreteMixedInConcreteGetter() → core::int
+    ;
+  get extendedAbstractMixedInConcreteGetter() → core::int
+    ;
+  abstract get extendedConcreteMixedInAbstractGetter() → core::int;
+  abstract get extendedAbstractMixedInAbstractGetter() → core::int;
+}
+abstract class _ClassMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassMixin&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub get mixedInConcreteGetter() → core::int
+    return super.{self::Mixin::mixedInConcreteGetter};
+  mixin-super-stub get extendedConcreteMixedInConcreteGetter() → core::int
+    return super.{self::Mixin::extendedConcreteMixedInConcreteGetter};
+  mixin-super-stub get extendedAbstractMixedInConcreteGetter() → core::int
+    return super.{self::Mixin::extendedAbstractMixedInConcreteGetter};
+  abstract mixin-stub get extendedConcreteMixedInAbstractGetter() → core::int; -> self::Mixin::extendedConcreteMixedInAbstractGetter
+  abstract mixin-stub get mixedInAbstractGetter() → core::int; -> self::Mixin::mixedInAbstractGetter
+  abstract mixin-stub get extendedAbstractMixedInAbstractGetter() → core::int; -> self::Mixin::extendedAbstractMixedInAbstractGetter
+}
+class ClassMixin extends self::_ClassMixin&Super&Mixin {
+  synthetic constructor •() → self::ClassMixin
+    ;
+}
+class NamedMixin = self::Super with self::Mixin {
+  synthetic constructor •() → self::NamedMixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub get mixedInConcreteGetter() → core::int
+    return super.{self::Mixin::mixedInConcreteGetter};
+  mixin-super-stub get extendedConcreteMixedInConcreteGetter() → core::int
+    return super.{self::Mixin::extendedConcreteMixedInConcreteGetter};
+  mixin-super-stub get extendedAbstractMixedInConcreteGetter() → core::int
+    return super.{self::Mixin::extendedAbstractMixedInConcreteGetter};
+  abstract mixin-stub get extendedConcreteMixedInAbstractGetter() → core::int; -> self::Mixin::extendedConcreteMixedInAbstractGetter
+  abstract mixin-stub get mixedInAbstractGetter() → core::int; -> self::Mixin::mixedInAbstractGetter
+  abstract mixin-stub get extendedAbstractMixedInAbstractGetter() → core::int; -> self::Mixin::extendedAbstractMixedInAbstractGetter
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart.weak.outline.expect
new file mode 100644
index 0000000..f1ee639
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart.weak.outline.expect
@@ -0,0 +1,163 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:5:7: Error: The non-abstract class 'Super' is missing implementations for these members:
+//  - Super.extendedAbstractMethod
+//  - Super.extendedAbstractMixedInAbstractMethod
+//  - Super.extendedAbstractMixedInConcreteMethod
+// 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 Super {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:16:8: Context: 'Super.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:12:8: Context: 'Super.extendedAbstractMixedInConcreteMethod' is defined here.
+//   void extendedAbstractMixedInConcreteMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:19:7: Error: The non-abstract class 'Mixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractMethod
+//  - Mixin.extendedConcreteMixedInAbstractMethod
+//  - Mixin.mixedInAbstractMethod
+// 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 Mixin {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:30:8: Context: 'Mixin.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:28:8: Context: 'Mixin.extendedConcreteMixedInAbstractMethod' is defined here.
+//   void extendedConcreteMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:22:8: Context: 'Mixin.mixedInAbstractMethod' is defined here.
+//   void mixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:33:7: Error: The non-abstract class 'ClassMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractMethod
+//  - Mixin.mixedInAbstractMethod
+//  - Super.extendedAbstractMethod
+//  - Super.extendedAbstractMixedInAbstractMethod
+// 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 ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:30:8: Context: 'Mixin.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:22:8: Context: 'Mixin.mixedInAbstractMethod' is defined here.
+//   void mixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:16:8: Context: 'Super.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:35:7: Error: The non-abstract class 'NamedMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractMethod
+//  - Mixin.mixedInAbstractMethod
+//  - Super.extendedAbstractMethod
+//  - Super.extendedAbstractMixedInAbstractMethod
+// 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 NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:30:8: Context: 'Mixin.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:22:8: Context: 'Mixin.mixedInAbstractMethod' is defined here.
+//   void mixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_method.dart:16:8: Context: 'Super.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method extendedConcreteMethod() → void
+    ;
+  abstract method extendedAbstractMethod() → void;
+  method extendedConcreteMixedInConcreteMethod() → void
+    ;
+  abstract method extendedAbstractMixedInConcreteMethod() → void;
+  method extendedConcreteMixedInAbstractMethod() → void
+    ;
+  abstract method extendedAbstractMixedInAbstractMethod() → void;
+}
+class Mixin extends core::Object {
+  synthetic constructor •() → self::Mixin
+    ;
+  method mixedInConcreteMethod() → void
+    ;
+  abstract method mixedInAbstractMethod() → void;
+  method extendedConcreteMixedInConcreteMethod() → void
+    ;
+  method extendedAbstractMixedInConcreteMethod() → void
+    ;
+  abstract method extendedConcreteMixedInAbstractMethod() → void;
+  abstract method extendedAbstractMixedInAbstractMethod() → void;
+}
+abstract class _ClassMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassMixin&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInConcreteMethod() → void
+    return super.{self::Mixin::mixedInConcreteMethod}();
+  mixin-super-stub method extendedConcreteMixedInConcreteMethod() → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteMethod}();
+  mixin-super-stub method extendedAbstractMixedInConcreteMethod() → void
+    return super.{self::Mixin::extendedAbstractMixedInConcreteMethod}();
+  abstract mixin-stub method extendedConcreteMixedInAbstractMethod() → void; -> self::Mixin::extendedConcreteMixedInAbstractMethod
+  abstract mixin-stub method mixedInAbstractMethod() → void; -> self::Mixin::mixedInAbstractMethod
+  abstract mixin-stub method extendedAbstractMixedInAbstractMethod() → void; -> self::Mixin::extendedAbstractMixedInAbstractMethod
+}
+class ClassMixin extends self::_ClassMixin&Super&Mixin {
+  synthetic constructor •() → self::ClassMixin
+    ;
+}
+class NamedMixin = self::Super with self::Mixin {
+  synthetic constructor •() → self::NamedMixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInConcreteMethod() → void
+    return super.{self::Mixin::mixedInConcreteMethod}();
+  mixin-super-stub method extendedConcreteMixedInConcreteMethod() → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteMethod}();
+  mixin-super-stub method extendedAbstractMixedInConcreteMethod() → void
+    return super.{self::Mixin::extendedAbstractMixedInConcreteMethod}();
+  abstract mixin-stub method extendedConcreteMixedInAbstractMethod() → void; -> self::Mixin::extendedConcreteMixedInAbstractMethod
+  abstract mixin-stub method mixedInAbstractMethod() → void; -> self::Mixin::mixedInAbstractMethod
+  abstract mixin-stub method extendedAbstractMixedInAbstractMethod() → void; -> self::Mixin::extendedAbstractMixedInAbstractMethod
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart.weak.outline.expect
new file mode 100644
index 0000000..2799f00
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart.weak.outline.expect
@@ -0,0 +1,253 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:5:7: Error: The non-abstract class 'Super' is missing implementations for these members:
+//  - Super.extendedAbstractMethod
+//  - Super.extendedAbstractMixedInAbstractMethod
+//  - Super.extendedAbstractMixedInConcreteMethod
+// 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 Super {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:16:8: Context: 'Super.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:12:8: Context: 'Super.extendedAbstractMixedInConcreteMethod' is defined here.
+//   void extendedAbstractMixedInConcreteMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:19:7: Error: The non-abstract class 'Mixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractMethod
+//  - Mixin.extendedConcreteMixedInAbstractMethod
+//  - Mixin.mixedInAbstractMethod
+// 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 Mixin {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:30:8: Context: 'Mixin.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:28:8: Context: 'Mixin.extendedConcreteMixedInAbstractMethod' is defined here.
+//   void extendedConcreteMixedInAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:22:8: Context: 'Mixin.mixedInAbstractMethod' is defined here.
+//   void mixedInAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:33:7: Error: The non-abstract class 'ClassMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractMethod
+//  - Mixin.mixedInAbstractMethod
+//  - Super.extendedAbstractMethod
+//  - Super.extendedAbstractMixedInAbstractMethod
+// 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 ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:30:8: Context: 'Mixin.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:22:8: Context: 'Mixin.mixedInAbstractMethod' is defined here.
+//   void mixedInAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:16:8: Context: 'Super.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:35:7: Error: The non-abstract class 'NamedMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractMethod
+//  - Mixin.mixedInAbstractMethod
+//  - Super.extendedAbstractMethod
+//  - Super.extendedAbstractMixedInAbstractMethod
+// 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 NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:30:8: Context: 'Mixin.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:22:8: Context: 'Mixin.mixedInAbstractMethod' is defined here.
+//   void mixedInAbstractMethod(int i);
+//        ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:8:8: Context: 'Super.extendedAbstractMethod' is defined here.
+//   void extendedAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:16:8: Context: 'Super.extendedAbstractMixedInAbstractMethod' is defined here.
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:33:7: Error: Applying the mixin 'Mixin' to 'Super' introduces an erroneous override of 'extendedConcreteMixedInConcreteMethod'.
+// class ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:24:8: Context: The method 'Mixin.extendedConcreteMixedInConcreteMethod' has more required arguments than those of overridden method 'Super.extendedConcreteMixedInConcreteMethod'.
+//   void extendedConcreteMixedInConcreteMethod(int i) {}
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:10:8: Context: This is the overridden method ('extendedConcreteMixedInConcreteMethod').
+//   void extendedConcreteMixedInConcreteMethod() {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:33:7: Error: Applying the mixin 'Mixin' to 'Super' introduces an erroneous override of 'extendedAbstractMixedInConcreteMethod'.
+// class ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:26:8: Context: The method 'Mixin.extendedAbstractMixedInConcreteMethod' has more required arguments than those of overridden method 'Super.extendedAbstractMixedInConcreteMethod'.
+//   void extendedAbstractMixedInConcreteMethod(int i) {}
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:12:8: Context: This is the overridden method ('extendedAbstractMixedInConcreteMethod').
+//   void extendedAbstractMixedInConcreteMethod();
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:33:7: Error: Applying the mixin 'Mixin' to 'Super' introduces an erroneous override of 'extendedConcreteMixedInAbstractMethod'.
+// class ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:28:8: Context: The method 'Mixin.extendedConcreteMixedInAbstractMethod' has more required arguments than those of overridden method 'Super.extendedConcreteMixedInAbstractMethod'.
+//   void extendedConcreteMixedInAbstractMethod(int i);
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:14:8: Context: This is the overridden method ('extendedConcreteMixedInAbstractMethod').
+//   void extendedConcreteMixedInAbstractMethod() {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:33:7: Error: Applying the mixin 'Mixin' to 'Super' introduces an erroneous override of 'extendedAbstractMixedInAbstractMethod'.
+// class ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:30:8: Context: The method 'Mixin.extendedAbstractMixedInAbstractMethod' has more required arguments than those of overridden method 'Super.extendedAbstractMixedInAbstractMethod'.
+//   void extendedAbstractMixedInAbstractMethod(int i);
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:16:8: Context: This is the overridden method ('extendedAbstractMixedInAbstractMethod').
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:33:7: Error: The implementation of 'extendedConcreteMixedInAbstractMethod' in the non-abstract class 'ClassMixin' does not conform to its interface.
+// class ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:14:8: Context: The method 'Super.extendedConcreteMixedInAbstractMethod' has fewer positional arguments than those of overridden method 'Super with Mixin.extendedConcreteMixedInAbstractMethod'.
+//   void extendedConcreteMixedInAbstractMethod() {}
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:33:7: Context: This is the overridden method ('extendedConcreteMixedInAbstractMethod').
+// class ClassMixin extends Super with Mixin {}
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:35:7: Error: The mixin application class 'NamedMixin' introduces an erroneous override of 'extendedConcreteMixedInConcreteMethod'.
+// class NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:24:8: Context: The method 'Mixin.extendedConcreteMixedInConcreteMethod' has more required arguments than those of overridden method 'Super.extendedConcreteMixedInConcreteMethod'.
+//   void extendedConcreteMixedInConcreteMethod(int i) {}
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:10:8: Context: This is the overridden method ('extendedConcreteMixedInConcreteMethod').
+//   void extendedConcreteMixedInConcreteMethod() {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:35:7: Error: The mixin application class 'NamedMixin' introduces an erroneous override of 'extendedAbstractMixedInConcreteMethod'.
+// class NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:26:8: Context: The method 'Mixin.extendedAbstractMixedInConcreteMethod' has more required arguments than those of overridden method 'Super.extendedAbstractMixedInConcreteMethod'.
+//   void extendedAbstractMixedInConcreteMethod(int i) {}
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:12:8: Context: This is the overridden method ('extendedAbstractMixedInConcreteMethod').
+//   void extendedAbstractMixedInConcreteMethod();
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:35:7: Error: The mixin application class 'NamedMixin' introduces an erroneous override of 'extendedConcreteMixedInAbstractMethod'.
+// class NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:28:8: Context: The method 'Mixin.extendedConcreteMixedInAbstractMethod' has more required arguments than those of overridden method 'Super.extendedConcreteMixedInAbstractMethod'.
+//   void extendedConcreteMixedInAbstractMethod(int i);
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:14:8: Context: This is the overridden method ('extendedConcreteMixedInAbstractMethod').
+//   void extendedConcreteMixedInAbstractMethod() {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:35:7: Error: The mixin application class 'NamedMixin' introduces an erroneous override of 'extendedAbstractMixedInAbstractMethod'.
+// class NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:30:8: Context: The method 'Mixin.extendedAbstractMixedInAbstractMethod' has more required arguments than those of overridden method 'Super.extendedAbstractMixedInAbstractMethod'.
+//   void extendedAbstractMixedInAbstractMethod(int i);
+//        ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_override.dart:16:8: Context: This is the overridden method ('extendedAbstractMixedInAbstractMethod').
+//   void extendedAbstractMixedInAbstractMethod();
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method extendedConcreteMethod() → void
+    ;
+  abstract method extendedAbstractMethod() → void;
+  method extendedConcreteMixedInConcreteMethod() → void
+    ;
+  abstract method extendedAbstractMixedInConcreteMethod() → void;
+  method extendedConcreteMixedInAbstractMethod() → void
+    ;
+  abstract method extendedAbstractMixedInAbstractMethod() → void;
+}
+class Mixin extends core::Object {
+  synthetic constructor •() → self::Mixin
+    ;
+  method mixedInConcreteMethod(core::int i) → void
+    ;
+  abstract method mixedInAbstractMethod(core::int i) → void;
+  method extendedConcreteMixedInConcreteMethod(core::int i) → void
+    ;
+  method extendedAbstractMixedInConcreteMethod(core::int i) → void
+    ;
+  abstract method extendedConcreteMixedInAbstractMethod(core::int i) → void;
+  abstract method extendedAbstractMixedInAbstractMethod(core::int i) → void;
+}
+abstract class _ClassMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassMixin&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInConcreteMethod(core::int i) → void
+    return super.{self::Mixin::mixedInConcreteMethod}(i);
+  mixin-super-stub method extendedConcreteMixedInConcreteMethod(core::int i) → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteMethod}(i);
+  mixin-super-stub method extendedAbstractMixedInConcreteMethod(core::int i) → void
+    return super.{self::Mixin::extendedAbstractMixedInConcreteMethod}(i);
+  abstract mixin-stub method extendedConcreteMixedInAbstractMethod(core::int i) → void; -> self::Mixin::extendedConcreteMixedInAbstractMethod
+  abstract mixin-stub method mixedInAbstractMethod(core::int i) → void; -> self::Mixin::mixedInAbstractMethod
+  abstract mixin-stub method extendedAbstractMixedInAbstractMethod(core::int i) → void; -> self::Mixin::extendedAbstractMixedInAbstractMethod
+}
+class ClassMixin extends self::_ClassMixin&Super&Mixin {
+  synthetic constructor •() → self::ClassMixin
+    ;
+}
+class NamedMixin = self::Super with self::Mixin {
+  synthetic constructor •() → self::NamedMixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInConcreteMethod(core::int i) → void
+    return super.{self::Mixin::mixedInConcreteMethod}(i);
+  mixin-super-stub method extendedConcreteMixedInConcreteMethod(core::int i) → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteMethod}(i);
+  mixin-super-stub method extendedAbstractMixedInConcreteMethod(core::int i) → void
+    return super.{self::Mixin::extendedAbstractMixedInConcreteMethod}(i);
+  abstract mixin-stub method extendedConcreteMixedInAbstractMethod(core::int i) → void; -> self::Mixin::extendedConcreteMixedInAbstractMethod
+  abstract mixin-stub method mixedInAbstractMethod(core::int i) → void; -> self::Mixin::mixedInAbstractMethod
+  abstract mixin-stub method extendedAbstractMixedInAbstractMethod(core::int i) → void; -> self::Mixin::extendedAbstractMixedInAbstractMethod
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart.weak.outline.expect
new file mode 100644
index 0000000..180ebb4
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart.weak.outline.expect
@@ -0,0 +1,163 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:5:7: Error: The non-abstract class 'Super' is missing implementations for these members:
+//  - Super.extendedAbstractMixedInAbstractSetter=
+//  - Super.extendedAbstractMixedInConcreteSetter=
+//  - Super.extendedAbstractSetter=
+// 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 Super {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:16:12: Context: 'Super.extendedAbstractMixedInAbstractSetter=' is defined here.
+//   void set extendedAbstractMixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:12:12: Context: 'Super.extendedAbstractMixedInConcreteSetter=' is defined here.
+//   void set extendedAbstractMixedInConcreteSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:8:12: Context: 'Super.extendedAbstractSetter=' is defined here.
+//   void set extendedAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:19:7: Error: The non-abstract class 'Mixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractSetter=
+//  - Mixin.extendedConcreteMixedInAbstractSetter=
+//  - Mixin.mixedInAbstractSetter=
+// 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 Mixin {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:30:12: Context: 'Mixin.extendedAbstractMixedInAbstractSetter=' is defined here.
+//   void set extendedAbstractMixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:28:12: Context: 'Mixin.extendedConcreteMixedInAbstractSetter=' is defined here.
+//   void set extendedConcreteMixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:22:12: Context: 'Mixin.mixedInAbstractSetter=' is defined here.
+//   void set mixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:33:7: Error: The non-abstract class 'ClassMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractSetter=
+//  - Mixin.mixedInAbstractSetter=
+//  - Super.extendedAbstractMixedInAbstractSetter=
+//  - Super.extendedAbstractSetter=
+// 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 ClassMixin extends Super with Mixin {}
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:30:12: Context: 'Mixin.extendedAbstractMixedInAbstractSetter=' is defined here.
+//   void set extendedAbstractMixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:22:12: Context: 'Mixin.mixedInAbstractSetter=' is defined here.
+//   void set mixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:16:12: Context: 'Super.extendedAbstractMixedInAbstractSetter=' is defined here.
+//   void set extendedAbstractMixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:8:12: Context: 'Super.extendedAbstractSetter=' is defined here.
+//   void set extendedAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:35:7: Error: The non-abstract class 'NamedMixin' is missing implementations for these members:
+//  - Mixin.extendedAbstractMixedInAbstractSetter=
+//  - Mixin.mixedInAbstractSetter=
+//  - Super.extendedAbstractMixedInAbstractSetter=
+//  - Super.extendedAbstractSetter=
+// 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 NamedMixin = Super with Mixin;
+//       ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:30:12: Context: 'Mixin.extendedAbstractMixedInAbstractSetter=' is defined here.
+//   void set extendedAbstractMixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:22:12: Context: 'Mixin.mixedInAbstractSetter=' is defined here.
+//   void set mixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:16:12: Context: 'Super.extendedAbstractMixedInAbstractSetter=' is defined here.
+//   void set extendedAbstractMixedInAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/mix_in_setter.dart:8:12: Context: 'Super.extendedAbstractSetter=' is defined here.
+//   void set extendedAbstractSetter(int i);
+//            ^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  set extendedConcreteSetter(core::int i) → void
+    ;
+  abstract set extendedAbstractSetter(core::int i) → void;
+  set extendedConcreteMixedInConcreteSetter(core::int i) → void
+    ;
+  abstract set extendedAbstractMixedInConcreteSetter(core::int i) → void;
+  set extendedConcreteMixedInAbstractSetter(core::int i) → void
+    ;
+  abstract set extendedAbstractMixedInAbstractSetter(core::int i) → void;
+}
+class Mixin extends core::Object {
+  synthetic constructor •() → self::Mixin
+    ;
+  set mixedInConcreteSetter(core::int i) → void
+    ;
+  abstract set mixedInAbstractSetter(core::int i) → void;
+  set extendedConcreteMixedInConcreteSetter(core::int i) → void
+    ;
+  set extendedAbstractMixedInConcreteSetter(core::int i) → void
+    ;
+  abstract set extendedConcreteMixedInAbstractSetter(core::int i) → void;
+  abstract set extendedAbstractMixedInAbstractSetter(core::int i) → void;
+}
+abstract class _ClassMixin&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_ClassMixin&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub set mixedInConcreteSetter(core::int i) → void
+    return super.{self::Mixin::mixedInConcreteSetter} = i;
+  mixin-super-stub set extendedConcreteMixedInConcreteSetter(core::int i) → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteSetter} = i;
+  mixin-super-stub set extendedAbstractMixedInConcreteSetter(core::int i) → void
+    return super.{self::Mixin::extendedAbstractMixedInConcreteSetter} = i;
+  abstract mixin-stub set extendedConcreteMixedInAbstractSetter(core::int i) → void; -> self::Mixin::extendedConcreteMixedInAbstractSetter
+  abstract mixin-stub set mixedInAbstractSetter(core::int i) → void; -> self::Mixin::mixedInAbstractSetter
+  abstract mixin-stub set extendedAbstractMixedInAbstractSetter(core::int i) → void; -> self::Mixin::extendedAbstractMixedInAbstractSetter
+}
+class ClassMixin extends self::_ClassMixin&Super&Mixin {
+  synthetic constructor •() → self::ClassMixin
+    ;
+}
+class NamedMixin = self::Super with self::Mixin {
+  synthetic constructor •() → self::NamedMixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub set mixedInConcreteSetter(core::int i) → void
+    return super.{self::Mixin::mixedInConcreteSetter} = i;
+  mixin-super-stub set extendedConcreteMixedInConcreteSetter(core::int i) → void
+    return super.{self::Mixin::extendedConcreteMixedInConcreteSetter} = i;
+  mixin-super-stub set extendedAbstractMixedInConcreteSetter(core::int i) → void
+    return super.{self::Mixin::extendedAbstractMixedInConcreteSetter} = i;
+  abstract mixin-stub set extendedConcreteMixedInAbstractSetter(core::int i) → void; -> self::Mixin::extendedConcreteMixedInAbstractSetter
+  abstract mixin-stub set mixedInAbstractSetter(core::int i) → void; -> self::Mixin::mixedInAbstractSetter
+  abstract mixin-stub set extendedAbstractMixedInAbstractSetter(core::int i) → void; -> self::Mixin::extendedAbstractMixedInAbstractSetter
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.outline.expect
new file mode 100644
index 0000000..e327d8e
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/mixin_from_dill/main.dart.weak.outline.expect
@@ -0,0 +1,150 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "opt_in_lib1.dart" as opt;
+import "opt_out_lib.dart" as opt2;
+import "opt_in_lib2.dart" as opt3;
+
+import "org-dartlang-testcase:///opt_in_lib1.dart";
+import "org-dartlang-testcase:///opt_in_lib2.dart";
+import "org-dartlang-testcase:///opt_out_lib.dart";
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super*
+    ;
+  get getter() → opt::B*
+    ;
+  set setter(opt::A* a) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _Class1&Super&Mixin1 = self::Super with opt2::Mixin1 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class1&Super&Mixin1*
+    : super self::Super::•()
+    ;
+}
+class Class1 extends self::_Class1&Super&Mixin1 {
+  synthetic constructor •() → self::Class1*
+    ;
+}
+abstract class _Class2&Base&Mixin2 = opt::Base with opt3::Mixin2 /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class2&Base&Mixin2*
+    : super opt::Base::•()
+    ;
+  abstract member-signature get _privateGetter() → opt::B*; -> opt::Base::_privateGetter
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature set _privateSetter(opt::A* a) → void; -> opt::Base::_privateSetter
+}
+class Class2 extends self::_Class2&Base&Mixin2 {
+  synthetic constructor •() → self::Class2*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as opt;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → opt::A
+    ;
+}
+class B extends opt::A {
+  synthetic constructor •() → opt::B
+    ;
+  get property() → core::int
+    ;
+}
+class C extends opt::A {
+  synthetic constructor •() → opt::C
+    ;
+}
+class Base extends core::Object {
+  synthetic constructor •() → opt::Base
+    ;
+  get _privateGetter() → opt::B
+    ;
+  set _privateSetter(opt::A a) → void
+    ;
+}
+abstract class Interface1 extends core::Object {
+  synthetic constructor •() → opt::Interface1
+    ;
+  abstract get getter() → opt::A;
+  abstract set setter(opt::C c) → void;
+}
+abstract class Interface2 extends core::Object {
+  synthetic constructor •() → opt::Interface2
+    ;
+  abstract get _privateGetter() → opt::A;
+  abstract set _privateSetter(opt::C c) → void;
+}
+static method testInterface2(opt::Interface2 c) → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as opt3;
+import "dart:core" as core;
+import "opt_in_lib1.dart" as opt;
+
+import "org-dartlang-testcase:///opt_in_lib1.dart";
+
+class Mixin2 extends core::Object implements opt::Interface2 {
+  synthetic constructor •() → opt3::Mixin2
+    ;
+  no-such-method-forwarder get /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateGetter() → opt::A
+    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C1, 1, #C2, #C3, core::Map::unmodifiable<core::Symbol*, dynamic>(#C4))) as{TypeError,ForDynamic,ForNonNullableByDefault} opt::A;
+  no-such-method-forwarder set /* from org-dartlang-testcase:///opt_in_lib1.dart */ _privateSetter(opt::C c) → void
+    return this.{core::Object::noSuchMethod}(new core::_InvocationMirror::_withType(#C5, 2, #C2, core::List::unmodifiable<dynamic>(core::_GrowableList::_literal1<dynamic>(c)), core::Map::unmodifiable<core::Symbol*, dynamic>(#C4)));
+}
+
+library;
+import self as opt2;
+import "dart:core" as core;
+import "opt_in_lib1.dart" as opt;
+
+import "org-dartlang-testcase:///opt_in_lib1.dart";
+
+abstract class Mixin1 extends core::Object implements opt::Interface1 {
+  synthetic constructor •() → opt2::Mixin1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature get getter() → opt::A*; -> opt::Interface1::getter
+  abstract member-signature set setter(opt::C* c) → void; -> opt::Interface1::setter
+}
+
+constants  {
+  #C1 = #org-dartlang-testcase:///opt_in_lib2.dart::_privateGetter
+  #C2 = <core::Type*>[]
+  #C3 = <dynamic>[]
+  #C4 = core::_ImmutableMap<core::Symbol*, dynamic> {_kvPairs:#C3}
+  #C5 = #org-dartlang-testcase:///opt_in_lib2.dart::_privateSetter=
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.outline.expect
new file mode 100644
index 0000000..53a32b0
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart.weak.outline.expect
@@ -0,0 +1,446 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:17:7: Error: The non-abstract class 'FromSuperAbstract' is missing implementations for these members:
+//  - Interface.field
+//  - Interface.finalField
+//  - Interface.getter
+//  - Interface.method
+//  - Interface.setter=
+// 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 FromSuperAbstract extends SuperAbstract implements Interface {}
+//       ^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:9:7: Context: 'Interface.field' is defined here.
+//   int field;
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:10:13: Context: 'Interface.finalField' is defined here.
+//   final int finalField;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:7:11: Context: 'Interface.getter' is defined here.
+//   int get getter;
+//           ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:6:8: Context: 'Interface.method' is defined here.
+//   void method();
+//        ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:8:12: Context: 'Interface.setter=' is defined here.
+//   void set setter(int value);
+//            ^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:35:7: Error: The non-abstract class 'FromMixinAbstract' is missing implementations for these members:
+//  - Interface.field
+//  - Interface.finalField
+//  - Interface.getter
+//  - Interface.method
+//  - Interface.setter=
+// 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 FromMixinAbstract extends MixinAbstract implements Interface {}
+//       ^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:9:7: Context: 'Interface.field' is defined here.
+//   int field;
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:10:13: Context: 'Interface.finalField' is defined here.
+//   final int finalField;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:7:11: Context: 'Interface.getter' is defined here.
+//   int get getter;
+//           ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:6:8: Context: 'Interface.method' is defined here.
+//   void method();
+//        ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:8:12: Context: 'Interface.setter=' is defined here.
+//   void set setter(int value);
+//            ^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:54:7: Error: The non-abstract class 'FromInterfaceAbstract' is missing implementations for these members:
+//  - Interface.field
+//  - Interface.finalField
+//  - Interface.getter
+//  - Interface.method
+//  - Interface.setter=
+// 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 FromInterfaceAbstract implements InterfaceAbstract, Interface {}
+//       ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:9:7: Context: 'Interface.field' is defined here.
+//   int field;
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:10:13: Context: 'Interface.finalField' is defined here.
+//   final int finalField;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:7:11: Context: 'Interface.getter' is defined here.
+//   int get getter;
+//           ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:6:8: Context: 'Interface.method' is defined here.
+//   void method();
+//        ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:8:12: Context: 'Interface.setter=' is defined here.
+//   void set setter(int value);
+//            ^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:63:7: Error: The non-abstract class 'FromInterfaceConcrete' is missing implementations for these members:
+//  - Interface.field
+//  - Interface.finalField
+//  - Interface.getter
+//  - Interface.method
+//  - Interface.setter=
+// 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 FromInterfaceConcrete implements InterfaceConcrete, Interface {}
+//       ^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:9:7: Context: 'Interface.field' is defined here.
+//   int field;
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:10:13: Context: 'Interface.finalField' is defined here.
+//   final int finalField;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:7:11: Context: 'Interface.getter' is defined here.
+//   int get getter;
+//           ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:6:8: Context: 'Interface.method' is defined here.
+//   void method();
+//        ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:8:12: Context: 'Interface.setter=' is defined here.
+//   void set setter(int value);
+//            ^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:65:7: Error: The non-abstract class 'DeclaredAbstract' is missing implementations for these members:
+//  - Interface.field
+//  - Interface.finalField
+//  - Interface.getter
+//  - Interface.method
+//  - Interface.setter=
+// 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 DeclaredAbstract implements Interface {
+//       ^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:9:7: Context: 'Interface.field' is defined here.
+//   int field;
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:10:13: Context: 'Interface.finalField' is defined here.
+//   final int finalField;
+//             ^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:7:11: Context: 'Interface.getter' is defined here.
+//   int get getter;
+//           ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:6:8: Context: 'Interface.method' is defined here.
+//   void method();
+//        ^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/no_such_method.dart:8:12: Context: 'Interface.setter=' is defined here.
+//   void set setter(int value);
+//            ^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  field core::int field;
+  final field core::int finalField;
+  synthetic constructor •() → self::Interface
+    ;
+  abstract method method() → void;
+  abstract get getter() → core::int;
+  abstract set setter(core::int value) → void;
+}
+class SuperAbstract extends core::Object {
+  synthetic constructor •() → self::SuperAbstract
+    ;
+  abstract method noSuchMethod(core::Invocation invocation) → dynamic;
+}
+class FromSuperAbstract extends self::SuperAbstract implements self::Interface {
+  synthetic constructor •() → self::FromSuperAbstract
+    ;
+}
+class SuperConcrete extends core::Object {
+  synthetic constructor •() → self::SuperConcrete
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+}
+class FromSuperConcrete extends self::SuperConcrete implements self::Interface {
+  synthetic constructor •() → self::FromSuperConcrete
+    ;
+  no-such-method-forwarder get getter() → core::int
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder get field() → core::int
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder method method() → void
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get finalField() → core::int
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder set setter(core::int value) → void
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set field(core::int value) → void
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+class FromSuperConcreteAbstract extends self::SuperConcrete implements self::SuperAbstract, self::Interface {
+  synthetic constructor •() → self::FromSuperConcreteAbstract
+    ;
+  no-such-method-forwarder get getter() → core::int
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder get field() → core::int
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder method method() → void
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get finalField() → core::int
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder set setter(core::int value) → void
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set field(core::int value) → void
+    return this.{self::SuperConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+class MixinAbstract extends core::Object {
+  synthetic constructor •() → self::MixinAbstract
+    ;
+  abstract method noSuchMethod(core::Invocation invocation) → dynamic;
+}
+class FromMixinAbstract extends self::MixinAbstract implements self::Interface {
+  synthetic constructor •() → self::FromMixinAbstract
+    ;
+}
+class MixinConcrete extends core::Object {
+  synthetic constructor •() → self::MixinConcrete
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+}
+abstract class _FromMixinConcrete&Object&MixinConcrete = core::Object with self::MixinConcrete /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_FromMixinConcrete&Object&MixinConcrete
+    : super core::Object::•()
+    ;
+  mixin-super-stub method noSuchMethod(core::Invocation invocation) → dynamic
+    return super.{self::MixinConcrete::noSuchMethod}(invocation);
+}
+class FromMixinConcrete extends self::_FromMixinConcrete&Object&MixinConcrete implements self::Interface {
+  synthetic constructor •() → self::FromMixinConcrete
+    ;
+  no-such-method-forwarder get getter() → core::int
+    return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder get field() → core::int
+    return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder method method() → void
+    return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get finalField() → core::int
+    return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder set setter(core::int value) → void
+    return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set field(core::int value) → void
+    return this.{self::_FromMixinConcrete&Object&MixinConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+abstract class _FromMixinConcreteAbstract&Object&MixinConcrete = core::Object with self::MixinConcrete /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_FromMixinConcreteAbstract&Object&MixinConcrete
+    : super core::Object::•()
+    ;
+  mixin-super-stub method noSuchMethod(core::Invocation invocation) → dynamic
+    return super.{self::MixinConcrete::noSuchMethod}(invocation);
+}
+abstract class _FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract = self::_FromMixinConcreteAbstract&Object&MixinConcrete with self::MixinAbstract /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract
+    : super self::_FromMixinConcreteAbstract&Object&MixinConcrete::•()
+    ;
+  abstract mixin-stub method noSuchMethod(core::Invocation invocation) → dynamic; -> self::MixinAbstract::noSuchMethod
+}
+class FromMixinConcreteAbstract extends self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract implements self::Interface {
+  synthetic constructor •() → self::FromMixinConcreteAbstract
+    ;
+  no-such-method-forwarder get getter() → core::int
+    return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder get field() → core::int
+    return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder method method() → void
+    return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get finalField() → core::int
+    return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder set setter(core::int value) → void
+    return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set field(core::int value) → void
+    return this.{self::_FromMixinConcreteAbstract&Object&MixinConcrete&MixinAbstract::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+class InterfaceAbstract extends core::Object {
+  synthetic constructor •() → self::InterfaceAbstract
+    ;
+  abstract method noSuchMethod(core::Invocation invocation) → dynamic;
+}
+class FromInterfaceAbstract extends core::Object implements self::InterfaceAbstract, self::Interface {
+  synthetic constructor •() → self::FromInterfaceAbstract
+    ;
+}
+class InterfaceConcrete extends core::Object {
+  synthetic constructor •() → self::InterfaceConcrete
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+}
+class FromInterfaceConcrete extends core::Object implements self::InterfaceConcrete, self::Interface {
+  synthetic constructor •() → self::FromInterfaceConcrete
+    ;
+}
+class DeclaredAbstract extends core::Object implements self::Interface {
+  synthetic constructor •() → self::DeclaredAbstract
+    ;
+  abstract method noSuchMethod(core::Invocation invocation) → dynamic;
+}
+class DeclaredConcrete extends core::Object implements self::Interface {
+  synthetic constructor •() → self::DeclaredConcrete
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+  no-such-method-forwarder get getter() → core::int
+    return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#getter, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder get field() → core::int
+    return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder method method() → void
+    return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#method, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get finalField() → core::int
+    return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#finalField, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic,ForNonNullableByDefault} core::int;
+  no-such-method-forwarder set setter(core::int value) → void
+    return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#setter=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder set field(core::int value) → void
+    return this.{self::DeclaredConcrete::noSuchMethod}(new core::_InvocationMirror::_withType(#field=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///no_such_method.dart:20:4 -> InstanceConstant(const _Override{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> SymbolConstant(#getter)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> SymbolConstant(#method)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> SymbolConstant(#finalField)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> SymbolConstant(#setter=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> SymbolConstant(#getter)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> SymbolConstant(#method)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> SymbolConstant(#finalField)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> SymbolConstant(#setter=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: StaticGet @ org-dartlang-testcase:///no_such_method.dart:38:4 -> InstanceConstant(const _Override{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> SymbolConstant(#getter)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> SymbolConstant(#method)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> SymbolConstant(#finalField)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> SymbolConstant(#setter=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> SymbolConstant(#getter)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> SymbolConstant(#method)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> SymbolConstant(#finalField)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> SymbolConstant(#setter=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: StaticGet @ org-dartlang-testcase:///no_such_method.dart:57:4 -> InstanceConstant(const _Override{})
+Evaluated: StaticGet @ org-dartlang-testcase:///no_such_method.dart:70:4 -> InstanceConstant(const _Override{})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> SymbolConstant(#getter)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:7:11 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> SymbolConstant(#method)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:6:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> SymbolConstant(#finalField)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:10:13 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> SymbolConstant(#setter=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:8:12 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> SymbolConstant(#field=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///no_such_method.dart:9:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 283, effectively constant: 114
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..9800154
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/opt_out.dart.weak.outline.expect
@@ -0,0 +1,24 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self::A {
+  synthetic constructor •() → self::B*
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart.weak.outline.expect
new file mode 100644
index 0000000..a1630e2
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart.weak.outline.expect
@@ -0,0 +1,58 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart:21:28: Error: The parameter 'i' of the method 'Class.extendedMethod2' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Super.extendedMethod2'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   void extendedMethod2(int i);
+//                            ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart:10:8: Context: This is the overridden method ('extendedMethod2').
+//   void extendedMethod2(num i) {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart:27:30: Error: The parameter 'n' of the method 'Class.overriddenMethod2' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Super.overriddenMethod2'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   void overriddenMethod2(int n) {}
+//                              ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart:13:8: Context: This is the overridden method ('overriddenMethod2').
+//   void overriddenMethod2(num n) {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart:16:7: Error: The implementation of 'extendedMethod1' in the non-abstract class 'Class' does not conform to its interface.
+// class Class extends Super {
+//       ^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart:7:28: Context: The parameter 'i' of the method 'Super.extendedMethod1' has type 'int', which does not match the corresponding type, 'num', in the overridden method, 'Class.extendedMethod1'.
+// Change to a supertype of 'num', or, for a covariant parameter, a subtype.
+//   void extendedMethod1(int i) {}
+//                            ^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/override.dart:18:8: Context: This is the overridden method ('extendedMethod1').
+//   void extendedMethod1(num n);
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method extendedMethod1(core::int i) → void
+    ;
+  method extendedMethod2(core::num i) → void
+    ;
+  method overriddenMethod1(core::int i) → void
+    ;
+  method overriddenMethod2(core::num n) → void
+    ;
+}
+class Class extends self::Super {
+  synthetic constructor •() → self::Class
+    ;
+  abstract method extendedMethod1(core::num n) → void;
+  abstract method extendedMethod2(core::int i) → void;
+  method overriddenMethod1(core::num n) → void
+    ;
+  method overriddenMethod2(core::int n) → void
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/redirecting_factory.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/redirecting_factory.dart.weak.outline.expect
new file mode 100644
index 0000000..8527d75
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/redirecting_factory.dart.weak.outline.expect
@@ -0,0 +1,13 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static final field dynamic _redirecting# = <dynamic>[self::Class::redirect]/*isLegacy*/;
+  constructor •() → self::Class
+    ;
+  static factory redirect() → self::Class
+    let dynamic #redirecting_factory = self::Class::• in invalid-expression;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart.weak.outline.expect
new file mode 100644
index 0000000..05079d4
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart.weak.outline.expect
@@ -0,0 +1,195 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:58:15: Error: Can't declare a member that conflicts with an inherited one.
+//   static void extendedInstanceDeclaredStaticMethod() {}
+//               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:7:8: Context: This is the inherited member.
+//   void extendedInstanceDeclaredStaticMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:67:18: Error: Can't declare a member that conflicts with an inherited one.
+//   static int get extendedInstanceSetterDeclaredStaticGetter => 0;
+//                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:16:12: Context: This is the inherited member.
+//   void set extendedInstanceSetterDeclaredStaticGetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:70:15: Error: Can't declare a member that conflicts with an inherited one.
+//   static void mixedInInstanceDeclaredStaticMethod() {}
+//               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:27:8: Context: This is the inherited member.
+//   void mixedInInstanceDeclaredStaticMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:73:15: Error: Can't declare a member that conflicts with an inherited one.
+//   static void implementedInstanceDeclaredStaticMethod() {}
+//               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:38:8: Context: This is the inherited member.
+//   void implementedInstanceDeclaredStaticMethod() {}
+//        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:82:18: Error: Can't declare a member that conflicts with an inherited one.
+//   static int get implementedInstanceSetterDeclaredStaticGetter => 0;
+//                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:47:12: Context: This is the inherited member.
+//   void set implementedInstanceSetterDeclaredStaticGetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:61:19: Error: Can't declare a member that conflicts with an inherited one.
+//   static void set extendedInstanceDeclaredStaticSetter(int value) {}
+//                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:10:12: Context: This is the inherited member.
+//   void set extendedInstanceDeclaredStaticSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:64:19: Error: Can't declare a member that conflicts with an inherited one.
+//   static void set extendedInstanceGetterDeclaredStaticSetter(int value) {}
+//                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:13:11: Context: This is the inherited member.
+//   int get extendedInstanceGetterDeclaredStaticSetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:76:19: Error: Can't declare a member that conflicts with an inherited one.
+//   static void set implementedInstanceDeclaredStaticSetter(int value) {}
+//                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:41:12: Context: This is the inherited member.
+//   void set implementedInstanceDeclaredStaticSetter(int value) {}
+//            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:79:19: Error: Can't declare a member that conflicts with an inherited one.
+//   static void set implementedInstanceGetterDeclaredStaticSetter(int value) {}
+//                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+// pkg/front_end/testcases/nnbd_mixed/hierarchy/static.dart:44:11: Context: This is the inherited member.
+//   int get implementedInstanceGetterDeclaredStaticSetter => 0;
+//           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  static method extendedStaticDeclaredInstanceMethod() → void
+    ;
+  method extendedInstanceDeclaredStaticMethod() → void
+    ;
+  static set extendedStaticDeclaredInstanceSetter(core::int value) → void
+    ;
+  set extendedInstanceDeclaredStaticSetter(core::int value) → void
+    ;
+  static get extendedStaticGetterDeclaredInstanceSetter() → core::int
+    ;
+  get extendedInstanceGetterDeclaredStaticSetter() → core::int
+    ;
+  static set extendedStaticSetterDeclaredInstanceGetter(core::int value) → void
+    ;
+  set extendedInstanceSetterDeclaredStaticGetter(core::int value) → void
+    ;
+  static method extendedStaticMixedInInstanceMethod() → void
+    ;
+  method extendedInstanceMixedInStaticMethod() → void
+    ;
+  static method extendedStaticImplementedInstanceMethod() → void
+    ;
+  method extendedInstanceImplementedStaticMethod() → void
+    ;
+}
+class Mixin extends core::Object {
+  synthetic constructor •() → self::Mixin
+    ;
+  static method mixedInStaticDeclaredInstanceMethod() → void
+    ;
+  method mixedInInstanceDeclaredStaticMethod() → void
+    ;
+  static method mixedInStaticImplementedInstanceMethod() → void
+    ;
+  method mixedInInstanceImplementedStaticMethod() → void
+    ;
+  method extendedStaticMixedInInstanceMethod() → void
+    ;
+  static method extendedInstanceMixedInStaticMethod() → void
+    ;
+}
+class Interface extends core::Object {
+  synthetic constructor •() → self::Interface
+    ;
+  static method implementedStaticDeclaredInstanceMethod() → void
+    ;
+  method implementedInstanceDeclaredStaticMethod() → void
+    ;
+  static set implementedStaticDeclaredInstanceSetter(core::int value) → void
+    ;
+  set implementedInstanceDeclaredStaticSetter(core::int value) → void
+    ;
+  static get implementedStaticGetterDeclaredInstanceSetter() → core::int
+    ;
+  get implementedInstanceGetterDeclaredStaticSetter() → core::int
+    ;
+  static set implementedStaticSetterDeclaredInstanceGetter(core::int value) → void
+    ;
+  set implementedInstanceSetterDeclaredStaticGetter(core::int value) → void
+    ;
+  method extendedStaticImplementedInstanceMethod() → void
+    ;
+  static method extendedInstanceImplementedStaticMethod() → void
+    ;
+  method mixedInStaticImplementedInstanceMethod() → void
+    ;
+  static method mixedInInstanceImplementedStaticMethod() → void
+    ;
+}
+abstract class _Class&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class&Super&Mixin
+    : super self::Super::•()
+    ;
+  mixin-super-stub method mixedInInstanceDeclaredStaticMethod() → void
+    return super.{self::Mixin::mixedInInstanceDeclaredStaticMethod}();
+  mixin-super-stub method mixedInInstanceImplementedStaticMethod() → void
+    return super.{self::Mixin::mixedInInstanceImplementedStaticMethod}();
+  mixin-super-stub method extendedStaticMixedInInstanceMethod() → void
+    return super.{self::Mixin::extendedStaticMixedInInstanceMethod}();
+}
+abstract class Class extends self::_Class&Super&Mixin implements self::Interface {
+  synthetic constructor •() → self::Class
+    ;
+  method extendedStaticDeclaredInstanceMethod() → void
+    ;
+  static method extendedInstanceDeclaredStaticMethod() → void
+    ;
+  set extendedStaticDeclaredInstanceSetter(core::int value) → void
+    ;
+  static set extendedInstanceDeclaredStaticSetter(core::int value) → void
+    ;
+  set extendedStaticGetterDeclaredInstanceSetter(core::int value) → void
+    ;
+  static set extendedInstanceGetterDeclaredStaticSetter(core::int value) → void
+    ;
+  get extendedStaticSetterDeclaredInstanceGetter() → core::int
+    ;
+  static get extendedInstanceSetterDeclaredStaticGetter() → core::int
+    ;
+  method mixedInStaticDeclaredInstanceMethod() → void
+    ;
+  static method mixedInInstanceDeclaredStaticMethod() → void
+    ;
+  method implementedStaticDeclaredInstanceMethod() → void
+    ;
+  static method implementedInstanceDeclaredStaticMethod() → void
+    ;
+  set implementedStaticDeclaredInstanceSetter(core::int value) → void
+    ;
+  static set implementedInstanceDeclaredStaticSetter(core::int value) → void
+    ;
+  set implementedStaticGetterDeclaredInstanceSetter(core::int value) → void
+    ;
+  static set implementedInstanceGetterDeclaredStaticSetter(core::int value) → void
+    ;
+  get implementedStaticSetterDeclaredInstanceGetter() → core::int
+    ;
+  static get implementedInstanceSetterDeclaredStaticGetter() → core::int
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.outline.expect
deleted file mode 100644
index b7b6e9f..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.outline.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "infer_constraints_from_opt_in_lib.dart" as inf;
-
-import "org-dartlang-testcase:///infer_constraints_from_opt_in_lib.dart";
-
-abstract class A extends core::Object {
-  synthetic constructor •() → self::A
-    ;
-  method baz(inf::B b) → dynamic
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in_lib.dart:11:9: Error: Field 'field5' should be initialized because its type 'C<int?>' doesn't allow null.
-//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in_lib.dart'.
-// C<int?> field5;
-//         ^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in_lib.dart:13:5: Error: Field 'field7' should be initialized because its type 'int' doesn't allow null.
-// int field7;
-//     ^^^^^^
-//
-import self as inf;
-import "dart:core" as core;
-
-class C<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → inf::C<inf::C::T%>
-    ;
-}
-abstract class B extends core::Object {
-  synthetic constructor •() → inf::B
-    ;
-  abstract method bar<X extends core::List<core::int?>? = core::List<core::int?>?>() → inf::B::bar::X%;
-  abstract method foo(core::List<core::int> list) → dynamic;
-}
-static field inf::C<dynamic> field1;
-static field inf::C<dynamic>? field2;
-static field inf::C<core::int> field3;
-static field inf::C<core::int>? field4;
-static field inf::C<core::int?> field5;
-static field inf::C<core::int?>? field6;
-static field core::int field7;
-static field core::int? field8;
-static method method() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..b6062b8
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,62 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "infer_constraints_from_opt_in_lib.dart" as inf;
+
+import "org-dartlang-testcase:///infer_constraints_from_opt_in_lib.dart";
+
+abstract class A extends core::Object {
+  synthetic constructor •() → self::A*
+    ;
+  method baz(inf::B* b) → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in_lib.dart:11:9: Error: Field 'field5' should be initialized because its type 'C<int?>' doesn't allow null.
+//  - 'C' is from 'pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in_lib.dart'.
+// C<int?> field5;
+//         ^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/infer_constraints_from_opt_in_lib.dart:13:5: Error: Field 'field7' should be initialized because its type 'int' doesn't allow null.
+// int field7;
+//     ^^^^^^
+//
+import self as inf;
+import "dart:core" as core;
+
+class C<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → inf::C<inf::C::T%>
+    ;
+}
+abstract class B extends core::Object {
+  synthetic constructor •() → inf::B
+    ;
+  abstract method bar<X extends core::List<core::int?>? = core::List<core::int?>?>() → inf::B::bar::X%;
+  abstract method foo(core::List<core::int> list) → dynamic;
+}
+static field inf::C<dynamic> field1;
+static field inf::C<dynamic>? field2;
+static field inf::C<core::int> field3;
+static field inf::C<core::int>? field4;
+static field inf::C<core::int?> field5;
+static field inf::C<core::int?>? field6;
+static field core::int field7;
+static field core::int? field8;
+static method method() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_from_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/infer_from_opt_in.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nnbd_mixed/infer_from_opt_in.dart.outline.expect
rename to pkg/front_end/testcases/nnbd_mixed/infer_from_opt_in.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_from_opt_out.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/infer_from_opt_out.dart.outline.expect
deleted file mode 100644
index 8a07d4c..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/infer_from_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_from_opt_out_lib.dart";
-
-static method reify<T extends core::Object? = dynamic>(self::reify::T% arg) → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/infer_from_opt_out_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart = 2.6
-// ^^^^^^^^^^^^^^
-//
-import self as self2;
-import "dart:core" as core;
-
-class Foo extends core::Object {
-  synthetic constructor •() → self2::Foo
-    ;
-}
-static method createFoo() → self2::Foo
-  ;
-static method callback((self2::Foo) → self2::Foo f) → void
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/infer_from_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..84056d0
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/infer_from_opt_out.dart.weak.outline.expect
@@ -0,0 +1,33 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///infer_from_opt_out_lib.dart";
+
+static method reify<T extends core::Object? = dynamic>(self::reify::T% arg) → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+class Foo extends core::Object {
+  synthetic constructor •() → self2::Foo*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method createFoo() → self2::Foo*
+  ;
+static method callback((self2::Foo*) →* self2::Foo* f) → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_in_legacy_from_opted_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/infer_in_legacy_from_opted_in.dart.outline.expect
deleted file mode 100644
index 86c1fad..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/infer_in_legacy_from_opted_in.dart.outline.expect
+++ /dev/null
@@ -1,27 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/infer_in_legacy_from_opted_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///infer_in_legacy_from_opted_in_lib.dart";
-
-static method bar(core::int x) → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:core" as core;
-
-static field core::int y;
-static method foo<T extends core::num = core::num>(self2::foo::T t1, self2::foo::T t2) → self2::foo::T
-  ;
-static method baz(core::int? v) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_in_legacy_from_opted_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/infer_in_legacy_from_opted_in.dart.weak.outline.expect
new file mode 100644
index 0000000..f226132
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/infer_in_legacy_from_opted_in.dart.weak.outline.expect
@@ -0,0 +1,20 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///infer_in_legacy_from_opted_in_lib.dart";
+
+static method bar(core::int* x) → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+static field core::int y;
+static method foo<T extends core::num = core::num>(self2::foo::T t1, self2::foo::T t2) → self2::foo::T
+  ;
+static method baz(core::int? v) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/infer_object_from_dynamic/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/infer_object_from_dynamic/main.dart.weak.outline.expect
new file mode 100644
index 0000000..a5a1dff
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/infer_object_from_dynamic/main.dart.weak.outline.expect
@@ -0,0 +1,17 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///opt_out_lib.dart";
+
+static method foo(dynamic d, void v, core::Object? onull, core::Object o, core::String? snull, core::String s) → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+static method f<T extends core::Object* = dynamic>(self2::f::T* a) → self2::f::T*
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.outline.expect
deleted file mode 100644
index c2e072c..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.outline.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart:25:7: Error: 'LegacyClass4e' can't implement both 'GenericInterface<num>' and 'GenericInterface<num?>'
-//  - 'GenericInterface' is from 'pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in_lib.dart'.
-// class LegacyClass4e implements Class4a, Class4b {}
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart:27:7: Error: 'LegacyClass5' can't implement both 'GenericInterface<dynamic>' and 'GenericInterface<Object>'
-//  - 'GenericInterface' is from 'pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in_lib.dart'.
-//  - 'Object' is from 'dart:core'.
-// class LegacyClass5 extends Class5 implements GenericInterface<Object> {}
-//       ^
-//
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "inheritance_from_opt_in_lib.dart" as inh;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///inheritance_from_opt_in_lib.dart";
-
-class LegacyClass1 extends inh::Class1 {
-  synthetic constructor •() → self::LegacyClass1
-    ;
-}
-class LegacyClass2<T extends core::Object? = dynamic> extends inh::Class2<self::LegacyClass2::T%> {
-  synthetic constructor •() → self::LegacyClass2<self::LegacyClass2::T%>
-    ;
-}
-class LegacyClass3a<T extends core::Object? = dynamic> extends inh::Class3<self::LegacyClass3a::T%> {
-  synthetic constructor •() → self::LegacyClass3a<self::LegacyClass3a::T%>
-    ;
-}
-class LegacyClass3b<T extends core::Object? = dynamic> extends inh::Class3<self::LegacyClass3b::T%> implements inh::GenericInterface<self::LegacyClass3b::T%> {
-  synthetic constructor •() → self::LegacyClass3b<self::LegacyClass3b::T%>
-    ;
-}
-class LegacyClass4a extends inh::Class4a {
-  synthetic constructor •() → self::LegacyClass4a
-    ;
-}
-class LegacyClass4b extends core::Object implements inh::GenericInterface<core::num> {
-  synthetic constructor •() → self::LegacyClass4b
-    ;
-}
-class LegacyClass4c extends core::Object implements inh::GenericInterface<core::num?> {
-  synthetic constructor •() → self::LegacyClass4c
-    ;
-}
-class LegacyClass4d extends inh::Class4a implements inh::GenericInterface<core::num> {
-  synthetic constructor •() → self::LegacyClass4d
-    ;
-}
-class LegacyClass4e extends core::Object implements inh::Class4a, inh::Class4b {
-  synthetic constructor •() → self::LegacyClass4e
-    ;
-}
-class LegacyClass5 extends inh::Class5 implements inh::GenericInterface<core::Object> {
-  synthetic constructor •() → self::LegacyClass5
-    ;
-}
-class LegacyClass6a<T extends core::Object? = dynamic> extends inh::Class3<self::LegacyClass6a::T%> implements inh::GenericSubInterface<self::LegacyClass6a::T%> {
-  synthetic constructor •() → self::LegacyClass6a<self::LegacyClass6a::T%>
-    ;
-}
-class LegacyClass6b<T extends core::Object? = dynamic> extends self::LegacyClass3a<self::LegacyClass6b::T%> implements inh::GenericSubInterface<self::LegacyClass6b::T%> {
-  synthetic constructor •() → self::LegacyClass6b<self::LegacyClass6b::T%>
-    ;
-}
-
-library /*isNonNullableByDefault*/;
-import self as inh;
-import "dart:core" as core;
-
-abstract class GenericInterface<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → inh::GenericInterface<inh::GenericInterface::T%>
-    ;
-}
-abstract class GenericSubInterface<T extends core::Object? = dynamic> extends inh::GenericInterface<inh::GenericSubInterface::T%> {
-  synthetic constructor •() → inh::GenericSubInterface<inh::GenericSubInterface::T%>
-    ;
-}
-class Class1 extends core::Object {
-  synthetic constructor •() → inh::Class1
-    ;
-}
-class Class2<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → inh::Class2<inh::Class2::T%>
-    ;
-}
-class Class3<T extends core::Object? = dynamic> extends core::Object implements inh::GenericInterface<inh::Class3::T%> {
-  synthetic constructor •() → inh::Class3<inh::Class3::T%>
-    ;
-}
-class Class4a extends core::Object implements inh::GenericInterface<core::num> {
-  synthetic constructor •() → inh::Class4a
-    ;
-}
-class Class4b extends core::Object implements inh::GenericInterface<core::num?> {
-  synthetic constructor •() → inh::Class4b
-    ;
-}
-class Class5 extends core::Object implements inh::GenericInterface<dynamic> {
-  synthetic constructor •() → inh::Class5
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.weak.expect
index 5055729..c254d31 100644
--- a/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.weak.expect
@@ -12,7 +12,7 @@
 // Problems in library:
 //
 // pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart:21:52: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // class LegacyClass4c implements GenericInterface<num?> {}
 //                                                    ^
 // pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
diff --git a/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..0d9ebe8
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,222 @@
+//
+// Problems in component:
+//
+// pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart:27:7: Error: 'LegacyClass5' can't implement both 'GenericInterface<dynamic>' and 'GenericInterface<Object>'
+//  - 'GenericInterface' is from 'pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in_lib.dart'.
+//  - 'Object' is from 'dart:core'.
+// class LegacyClass5 extends Class5 implements GenericInterface<Object> {}
+//       ^
+//
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart:21:52: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// class LegacyClass4c implements GenericInterface<num?> {}
+//                                                    ^
+// pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_in.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.5
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "inheritance_from_opt_in_lib.dart" as inh;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///inheritance_from_opt_in_lib.dart";
+
+class LegacyClass1 extends inh::Class1 {
+  synthetic constructor •() → self::LegacyClass1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass2<T extends core::Object* = dynamic> extends inh::Class2<self::LegacyClass2::T*> {
+  synthetic constructor •() → self::LegacyClass2<self::LegacyClass2::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass3a<T extends core::Object* = dynamic> extends inh::Class3<self::LegacyClass3a::T*> {
+  synthetic constructor •() → self::LegacyClass3a<self::LegacyClass3a::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass3b<T extends core::Object* = dynamic> extends inh::Class3<self::LegacyClass3b::T*> implements inh::GenericInterface<self::LegacyClass3b::T*> {
+  synthetic constructor •() → self::LegacyClass3b<self::LegacyClass3b::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass4a extends inh::Class4a {
+  synthetic constructor •() → self::LegacyClass4a*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass4b extends core::Object implements inh::GenericInterface<core::num*> {
+  synthetic constructor •() → self::LegacyClass4b*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass4c extends core::Object implements inh::GenericInterface<core::num*> {
+  synthetic constructor •() → self::LegacyClass4c*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass4d extends inh::Class4a implements inh::GenericInterface<core::num*> {
+  synthetic constructor •() → self::LegacyClass4d*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass4e extends core::Object implements inh::Class4a, inh::Class4b {
+  synthetic constructor •() → self::LegacyClass4e*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass5 extends inh::Class5 implements inh::GenericInterface<core::Object*> {
+  synthetic constructor •() → self::LegacyClass5*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass6a<T extends core::Object* = dynamic> extends inh::Class3<self::LegacyClass6a::T*> implements inh::GenericSubInterface<self::LegacyClass6a::T*> {
+  synthetic constructor •() → self::LegacyClass6a<self::LegacyClass6a::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass6b<T extends core::Object* = dynamic> extends self::LegacyClass3a<self::LegacyClass6b::T*> implements inh::GenericSubInterface<self::LegacyClass6b::T*> {
+  synthetic constructor •() → self::LegacyClass6b<self::LegacyClass6b::T*>*
+    ;
+}
+
+library /*isNonNullableByDefault*/;
+import self as inh;
+import "dart:core" as core;
+
+abstract class GenericInterface<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → inh::GenericInterface<inh::GenericInterface::T%>
+    ;
+}
+abstract class GenericSubInterface<T extends core::Object? = dynamic> extends inh::GenericInterface<inh::GenericSubInterface::T%> {
+  synthetic constructor •() → inh::GenericSubInterface<inh::GenericSubInterface::T%>
+    ;
+}
+class Class1 extends core::Object {
+  synthetic constructor •() → inh::Class1
+    ;
+}
+class Class2<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → inh::Class2<inh::Class2::T%>
+    ;
+}
+class Class3<T extends core::Object? = dynamic> extends core::Object implements inh::GenericInterface<inh::Class3::T%> {
+  synthetic constructor •() → inh::Class3<inh::Class3::T%>
+    ;
+}
+class Class4a extends core::Object implements inh::GenericInterface<core::num> {
+  synthetic constructor •() → inh::Class4a
+    ;
+}
+class Class4b extends core::Object implements inh::GenericInterface<core::num?> {
+  synthetic constructor •() → inh::Class4b
+    ;
+}
+class Class5 extends core::Object implements inh::GenericInterface<dynamic> {
+  synthetic constructor •() → inh::Class5
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_out.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_out.dart.outline.expect
deleted file mode 100644
index 66dbb96..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,103 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "inheritance_from_opt_out_lib.dart" as inh;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///inheritance_from_opt_out_lib.dart";
-
-class Class1 extends inh::LegacyClass1 {
-  synthetic constructor •() → self::Class1
-    ;
-}
-class Class2<T extends core::Object? = dynamic> extends inh::LegacyClass2<self::Class2::T%> {
-  synthetic constructor •() → self::Class2<self::Class2::T%>
-    ;
-}
-class Class3a<T extends core::Object? = dynamic> extends inh::LegacyClass3<self::Class3a::T%> {
-  synthetic constructor •() → self::Class3a<self::Class3a::T%>
-    ;
-}
-class Class3b<T extends core::Object? = dynamic> extends inh::LegacyClass3<self::Class3b::T%> implements inh::GenericInterface<self::Class3b::T%> {
-  synthetic constructor •() → self::Class3b<self::Class3b::T%>
-    ;
-}
-class Class4a extends inh::LegacyClass4 {
-  synthetic constructor •() → self::Class4a
-    ;
-}
-class Class4b extends core::Object implements inh::GenericInterface<core::num> {
-  synthetic constructor •() → self::Class4b
-    ;
-}
-class Class4c extends core::Object implements inh::GenericInterface<core::num?> {
-  synthetic constructor •() → self::Class4c
-    ;
-}
-class Class4d extends inh::LegacyClass4 implements inh::GenericInterface<core::num> {
-  synthetic constructor •() → self::Class4d
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_out_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-import self as inh;
-import "dart:core" as core;
-
-abstract class GenericInterface<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → inh::GenericInterface<inh::GenericInterface::T%>
-    ;
-}
-abstract class GenericSubInterface<T extends core::Object? = dynamic> extends core::Object implements inh::GenericInterface<inh::GenericSubInterface::T%> {
-  synthetic constructor •() → inh::GenericSubInterface<inh::GenericSubInterface::T%>
-    ;
-}
-class LegacyClass1 extends core::Object {
-  synthetic constructor •() → inh::LegacyClass1
-    ;
-}
-class LegacyClass2<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → inh::LegacyClass2<inh::LegacyClass2::T%>
-    ;
-}
-class LegacyClass3<T extends core::Object? = dynamic> extends core::Object implements inh::GenericInterface<inh::LegacyClass3::T%> {
-  synthetic constructor •() → inh::LegacyClass3<inh::LegacyClass3::T%>
-    ;
-}
-class LegacyClass4 extends core::Object implements inh::GenericInterface<core::num> {
-  synthetic constructor •() → inh::LegacyClass4
-    ;
-}
-class LegacyClass5<T extends core::Object? = dynamic> extends inh::LegacyClass3<inh::LegacyClass5::T%> implements inh::GenericInterface<inh::LegacyClass5::T%> {
-  synthetic constructor •() → inh::LegacyClass5<inh::LegacyClass5::T%>
-    ;
-}
-abstract class _LegacyClass6&Object&LegacyClass3<T extends core::Object? = dynamic> = core::Object with inh::LegacyClass3<inh::_LegacyClass6&Object&LegacyClass3::T%> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → inh::_LegacyClass6&Object&LegacyClass3<inh::_LegacyClass6&Object&LegacyClass3::T%>
-    : super core::Object::•()
-    ;
-}
-class LegacyClass6<T extends core::Object? = dynamic> extends inh::_LegacyClass6&Object&LegacyClass3<inh::LegacyClass6::T%> implements inh::GenericInterface<inh::LegacyClass6::T%> {
-  synthetic constructor •() → inh::LegacyClass6<inh::LegacyClass6::T%>
-    ;
-}
-class LegacyClass7<T extends core::Object? = dynamic> extends inh::LegacyClass3<inh::LegacyClass7::T%> implements inh::GenericSubInterface<inh::LegacyClass7::T%> {
-  synthetic constructor •() → inh::LegacyClass7<inh::LegacyClass7::T%>
-    ;
-}
-abstract class _LegacyClass8&Object&LegacyClass3<T extends core::Object? = dynamic> = core::Object with inh::LegacyClass3<inh::_LegacyClass8&Object&LegacyClass3::T%> /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → inh::_LegacyClass8&Object&LegacyClass3<inh::_LegacyClass8&Object&LegacyClass3::T%>
-    : super core::Object::•()
-    ;
-}
-class LegacyClass8<T extends core::Object? = dynamic> extends inh::_LegacyClass8&Object&LegacyClass3<inh::LegacyClass8::T%> implements inh::GenericSubInterface<inh::LegacyClass8::T%> {
-  synthetic constructor •() → inh::LegacyClass8<inh::LegacyClass8::T%>
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..f733f02
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/inheritance_from_opt_out.dart.weak.outline.expect
@@ -0,0 +1,178 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "inheritance_from_opt_out_lib.dart" as inh;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///inheritance_from_opt_out_lib.dart";
+
+class Class1 extends inh::LegacyClass1 {
+  synthetic constructor •() → self::Class1
+    ;
+}
+class Class2<T extends core::Object? = dynamic> extends inh::LegacyClass2<self::Class2::T%> {
+  synthetic constructor •() → self::Class2<self::Class2::T%>
+    ;
+}
+class Class3a<T extends core::Object? = dynamic> extends inh::LegacyClass3<self::Class3a::T%> {
+  synthetic constructor •() → self::Class3a<self::Class3a::T%>
+    ;
+}
+class Class3b<T extends core::Object? = dynamic> extends inh::LegacyClass3<self::Class3b::T%> implements inh::GenericInterface<self::Class3b::T%> {
+  synthetic constructor •() → self::Class3b<self::Class3b::T%>
+    ;
+}
+class Class4a extends inh::LegacyClass4 {
+  synthetic constructor •() → self::Class4a
+    ;
+}
+class Class4b extends core::Object implements inh::GenericInterface<core::num> {
+  synthetic constructor •() → self::Class4b
+    ;
+  abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
+}
+class Class4c extends core::Object implements inh::GenericInterface<core::num?> {
+  synthetic constructor •() → self::Class4c
+    ;
+  abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
+}
+class Class4d extends inh::LegacyClass4 implements inh::GenericInterface<core::num> {
+  synthetic constructor •() → self::Class4d
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as inh;
+import "dart:core" as core;
+
+abstract class GenericInterface<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → inh::GenericInterface<inh::GenericInterface::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class GenericSubInterface<T extends core::Object* = dynamic> extends core::Object implements inh::GenericInterface<inh::GenericSubInterface::T*> {
+  synthetic constructor •() → inh::GenericSubInterface<inh::GenericSubInterface::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass1 extends core::Object {
+  synthetic constructor •() → inh::LegacyClass1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass2<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → inh::LegacyClass2<inh::LegacyClass2::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass3<T extends core::Object* = dynamic> extends core::Object implements inh::GenericInterface<inh::LegacyClass3::T*> {
+  synthetic constructor •() → inh::LegacyClass3<inh::LegacyClass3::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass4 extends core::Object implements inh::GenericInterface<core::num*> {
+  synthetic constructor •() → inh::LegacyClass4*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass5<T extends core::Object* = dynamic> extends inh::LegacyClass3<inh::LegacyClass5::T*> implements inh::GenericInterface<inh::LegacyClass5::T*> {
+  synthetic constructor •() → inh::LegacyClass5<inh::LegacyClass5::T*>*
+    ;
+}
+abstract class _LegacyClass6&Object&LegacyClass3<T extends core::Object* = dynamic> = core::Object with inh::LegacyClass3<inh::_LegacyClass6&Object&LegacyClass3::T*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → inh::_LegacyClass6&Object&LegacyClass3<inh::_LegacyClass6&Object&LegacyClass3::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass6<T extends core::Object* = dynamic> extends inh::_LegacyClass6&Object&LegacyClass3<inh::LegacyClass6::T*> implements inh::GenericInterface<inh::LegacyClass6::T*> {
+  synthetic constructor •() → inh::LegacyClass6<inh::LegacyClass6::T*>*
+    ;
+}
+class LegacyClass7<T extends core::Object* = dynamic> extends inh::LegacyClass3<inh::LegacyClass7::T*> implements inh::GenericSubInterface<inh::LegacyClass7::T*> {
+  synthetic constructor •() → inh::LegacyClass7<inh::LegacyClass7::T*>*
+    ;
+}
+abstract class _LegacyClass8&Object&LegacyClass3<T extends core::Object* = dynamic> = core::Object with inh::LegacyClass3<inh::_LegacyClass8&Object&LegacyClass3::T*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → inh::_LegacyClass8&Object&LegacyClass3<inh::_LegacyClass8&Object&LegacyClass3::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class LegacyClass8<T extends core::Object* = dynamic> extends inh::_LegacyClass8&Object&LegacyClass3<inh::LegacyClass8::T*> implements inh::GenericSubInterface<inh::LegacyClass8::T*> {
+  synthetic constructor •() → inh::LegacyClass8<inh::LegacyClass8::T*>*
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue39666.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue39666.dart.weak.outline.expect
new file mode 100644
index 0000000..e703226
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue39666.dart.weak.outline.expect
@@ -0,0 +1,34 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "dart:async";
+import "org-dartlang-testcase:///issue39666_lib.dart";
+
+class A<X extends FutureOr<core::List<dynamic>> = FutureOr<core::List<dynamic>>> extends core::Object {
+  synthetic constructor •() → self::A<self::A::X>
+    ;
+}
+static method main() → void
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+import "dart:async";
+
+class A<X extends FutureOr<core::List<dynamic>*>* = FutureOr<core::List<dynamic>*>*> extends core::Object {
+  synthetic constructor •() → self2::A<self2::A::X*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue40512/issue40512.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue40512/issue40512.dart.weak.outline.expect
new file mode 100644
index 0000000..8780820
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue40512/issue40512.dart.weak.outline.expect
@@ -0,0 +1,70 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "issue40512_lib.dart" as baz2;
+
+import "org-dartlang-testcase:///issue40512_lib.dart";
+
+abstract class _C&Object&A = core::Object with baz2::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  mixin-super-stub method toString({core::String* s}) → core::String*
+    return super.{baz2::A::toString}(s: s);
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _C&Object&A&B = self::_C&Object&A with baz2::B /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A&B*
+    : super self::_C&Object&A::•()
+    ;
+}
+class C extends self::_C&Object&A&B {
+  synthetic constructor •() → self::C*
+    ;
+}
+static method main() → void
+  ;
+
+library baz2;
+import self as baz2;
+import "dart:core" as core;
+
+abstract class A extends core::Object /*isMixinDeclaration*/  {
+  method toString({core::String* s = #C1}) → core::String*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends core::Object {
+  synthetic constructor •() → baz2::B*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+constants  {
+  #C1 = "hello"
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue40512/issue40512.no_link.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue40512/issue40512.no_link.dart.weak.outline.expect
new file mode 100644
index 0000000..afa5136
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue40512/issue40512.no_link.dart.weak.outline.expect
@@ -0,0 +1,66 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "issue40512_lib.dart" as baz2;
+
+import "org-dartlang-testcase:///issue40512_lib.dart";
+
+abstract class _C&Object&A = core::Object with baz2::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method toString({core::String* s}) → core::String*
+    return super.{baz2::A::toString}(s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _C&Object&A&B = self::_C&Object&A with baz2::B /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A&B*
+    : super self::_C&Object&A::•()
+    ;
+}
+class C extends self::_C&Object&A&B {
+  synthetic constructor •() → self::C*
+    ;
+}
+static method main() → void
+  ;
+
+library baz2;
+import self as baz2;
+import "dart:core" as core;
+
+abstract class A extends core::Object /*isMixinDeclaration*/  {
+  method toString({core::String* s = "hello"}) → core::String*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends core::Object {
+  synthetic constructor •() → baz2::B*
+    ;
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.outline.expect
deleted file mode 100644
index c5ac2d8..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.outline.expect
+++ /dev/null
@@ -1,52 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41180.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart = 2.5
-// ^^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "issue41180_lib.dart" as iss;
-
-import "org-dartlang-testcase:///issue41180_lib.dart";
-
-class D<Y extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → self::D<self::D::Y%>
-    ;
-  method method() → iss::C<self::D::Y%>
-    ;
-}
-static method main() → void
-  ;
-static method findKey(iss::Map<core::String, dynamic> m, dynamic search) → void
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as iss;
-import "dart:core" as core;
-
-class C<X extends core::Object? = dynamic> extends core::Object {
-  constructor •(() → iss::Map<core::String, core::String> f) → iss::C<iss::C::X%>
-    ;
-}
-class Map<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object {
-  final field iss::Map::K% key;
-  final field iss::Map::V% value;
-  constructor •(iss::Map::K% key, iss::Map::V% value) → iss::Map<iss::Map::K%, iss::Map::V%>
-    ;
-  get entries() → iss::Iterable<core::MapEntry<iss::Map::K%, iss::Map::V%>>
-    ;
-}
-class Iterable<E extends core::Object? = dynamic> extends core::Object {
-  final field iss::Iterable::E% element;
-  constructor •(iss::Iterable::E% element) → iss::Iterable<iss::Iterable::E%>
-    ;
-  method singleWhere((iss::Iterable::E%) → core::bool test, {generic-covariant-impl () →? iss::Iterable::E% orElse}) → iss::Iterable::E%
-    ;
-}
-static method foo(() → iss::Map<core::String, core::String> f) → void
-  ;
-static set bar(() → iss::Map<core::String, core::String> f) → void
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.outline.expect
new file mode 100644
index 0000000..3e3f2f4
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41180.dart.weak.outline.expect
@@ -0,0 +1,55 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "issue41180_lib.dart" as iss;
+
+import "org-dartlang-testcase:///issue41180_lib.dart";
+
+class D<Y extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::D<self::D::Y*>*
+    ;
+  method method() → iss::C<self::D::Y*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
+static method findKey(iss::Map<core::String*, dynamic>* m, dynamic search) → void
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as iss;
+import "dart:core" as core;
+
+class C<X extends core::Object? = dynamic> extends core::Object {
+  constructor •(() → iss::Map<core::String, core::String> f) → iss::C<iss::C::X%>
+    ;
+}
+class Map<K extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object {
+  final field iss::Map::K% key;
+  final field iss::Map::V% value;
+  constructor •(iss::Map::K% key, iss::Map::V% value) → iss::Map<iss::Map::K%, iss::Map::V%>
+    ;
+  get entries() → iss::Iterable<core::MapEntry<iss::Map::K%, iss::Map::V%>>
+    ;
+}
+class Iterable<E extends core::Object? = dynamic> extends core::Object {
+  final field iss::Iterable::E% element;
+  constructor •(iss::Iterable::E% element) → iss::Iterable<iss::Iterable::E%>
+    ;
+  method singleWhere((iss::Iterable::E%) → core::bool test, {generic-covariant-impl () →? iss::Iterable::E% orElse}) → iss::Iterable::E%
+    ;
+}
+static method foo(() → iss::Map<core::String, core::String> f) → void
+  ;
+static set bar(() → iss::Map<core::String, core::String> f) → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.outline.expect
new file mode 100644
index 0000000..8e7c2f6
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.dart.weak.outline.expect
@@ -0,0 +1,88 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "issue41210_lib1.dart" as iss;
+
+import "org-dartlang-testcase:///issue41210_lib1.dart";
+
+abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  mixin-super-stub method method({core::String* s}) → core::String*
+    return super.{iss::A::method}(s: s);
+}
+abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A&B*
+    : super self::_C&Object&A::•()
+    ;
+}
+class C extends self::_C&Object&A&B {
+  synthetic constructor •() → self::C*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as iss;
+import "dart:core" as core;
+import "issue41210_lib2.dart" as iss2;
+
+import "org-dartlang-testcase:///issue41210_lib2.dart";
+
+abstract class A extends core::Object implements iss2::Interface /*isMixinDeclaration*/  {
+  method method({core::String* s = #C1}) → core::String*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class B extends core::Object implements iss2::Interface {
+  synthetic constructor •() → iss::B*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature method method() → core::String*; -> iss2::Interface::method
+}
+static method main() → void
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as iss2;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  synthetic constructor •() → iss2::Interface
+    ;
+  abstract method method() → core::String;
+}
+
+constants  {
+  #C1 = "hello"
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.outline.expect
new file mode 100644
index 0000000..737071b
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210a/issue41210.no_link.dart.weak.outline.expect
@@ -0,0 +1,84 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "issue41210_lib1.dart" as iss;
+
+import "org-dartlang-testcase:///issue41210_lib1.dart";
+
+abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method({core::String* s}) → core::String*
+    return super.{iss::A::method}(s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A&B*
+    : super self::_C&Object&A::•()
+    ;
+}
+class C extends self::_C&Object&A&B {
+  synthetic constructor •() → self::C*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as iss;
+import "dart:core" as core;
+import "issue41210_lib2.dart" as iss2;
+
+import "org-dartlang-testcase:///issue41210_lib2.dart";
+
+abstract class A extends core::Object implements iss2::Interface /*isMixinDeclaration*/  {
+  method method({core::String* s = "hello"}) → core::String*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class B extends core::Object implements iss2::Interface {
+  synthetic constructor •() → iss::B*
+    ;
+  abstract member-signature method method() → core::String*; -> iss2::Interface::method
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as iss2;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  synthetic constructor •() → iss2::Interface
+    ;
+  abstract method method() → core::String;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.outline.expect
deleted file mode 100644
index 89f4bb8..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.outline.expect
+++ /dev/null
@@ -1,65 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41210b.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "issue41210b_lib1.dart" as iss;
-
-import "org-dartlang-testcase:///issue41210b_lib1.dart";
-
-abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A
-    : super core::Object::•()
-    ;
-}
-abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_C&Object&A&B
-    : super self::_C&Object&A::•()
-    ;
-}
-class C extends self::_C&Object&A&B {
-  synthetic constructor •() → self::C
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41210b_lib1.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as iss;
-import "dart:core" as core;
-import "issue41210b_lib2.dart" as iss2;
-
-import "org-dartlang-testcase:///issue41210b_lib2.dart";
-
-abstract class A extends core::Object implements iss2::Interface /*isMixinDeclaration*/  {
-  method method({core::String s = "hello"}) → core::String
-    ;
-}
-abstract class B extends core::Object implements iss2::Interface {
-  synthetic constructor •() → iss::B
-    ;
-}
-static method main() → void
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as iss2;
-import "dart:core" as core;
-
-abstract class Interface extends core::Object {
-  synthetic constructor •() → iss2::Interface
-    ;
-  abstract method method() → core::String;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.outline.expect
new file mode 100644
index 0000000..bcb1a36
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41210b.dart.weak.outline.expect
@@ -0,0 +1,84 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "issue41210b_lib1.dart" as iss;
+
+import "org-dartlang-testcase:///issue41210b_lib1.dart";
+
+abstract class _C&Object&A = core::Object with iss::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method({core::String* s}) → core::String*
+    return super.{iss::A::method}(s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _C&Object&A&B = self::_C&Object&A with iss::B /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C&Object&A&B*
+    : super self::_C&Object&A::•()
+    ;
+}
+class C extends self::_C&Object&A&B {
+  synthetic constructor •() → self::C*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as iss;
+import "dart:core" as core;
+import "issue41210b_lib2.dart" as iss2;
+
+import "org-dartlang-testcase:///issue41210b_lib2.dart";
+
+abstract class A extends core::Object implements iss2::Interface /*isMixinDeclaration*/  {
+  method method({core::String* s = "hello"}) → core::String*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class B extends core::Object implements iss2::Interface {
+  synthetic constructor •() → iss::B*
+    ;
+  abstract member-signature method method() → core::String*; -> iss2::Interface::method
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → void
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as iss2;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  synthetic constructor •() → iss2::Interface
+    ;
+  abstract method method() → core::String;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.outline.expect
new file mode 100644
index 0000000..62b8db0
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41435.dart.weak.outline.expect
@@ -0,0 +1,17 @@
+library;
+import self as self;
+
+import "org-dartlang-testcase:///issue41435_lib.dart";
+
+static method main() → void
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+
+static field Never x;
+static field (Null) → void f;
+static method takesNever(Never x) → void
+  ;
+static method takesTakesNull((Null) → void f) → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41496.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41496.dart.outline.expect
deleted file mode 100644
index f80d154..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41496.dart.outline.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41496.dart:7:11: Error: Field 'f1' should be initialized because its type 'void Function()' doesn't allow null.
-// LegacyFoo f1;
-//           ^^
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41496.dart:10:20: Error: Field 'f2' should be initialized because its type 'void Function()' doesn't allow null.
-//   static LegacyFoo f2;
-//                    ^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41496_lib.dart";
-
-class C extends core::Object {
-  static field () → void f2;
-  synthetic constructor •() → self::C
-    ;
-}
-static field () → void f1;
-static method main() → dynamic
-  ;
-
-library opted_out_lib /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41496_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self2;
-
-typedef LegacyFoo = () → void;
-static method test(() → void f) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41496.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41496.dart.weak.outline.expect
new file mode 100644
index 0000000..09c7f0c
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41496.dart.weak.outline.expect
@@ -0,0 +1,32 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41496.dart:7:11: Error: Field 'f1' should be initialized because its type 'void Function()' doesn't allow null.
+// LegacyFoo f1;
+//           ^^
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41496.dart:10:20: Error: Field 'f2' should be initialized because its type 'void Function()' doesn't allow null.
+//   static LegacyFoo f2;
+//                    ^^
+//
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41496_lib.dart";
+
+class C extends core::Object {
+  static field () → void f2;
+  synthetic constructor •() → self::C
+    ;
+}
+static field () → void f1;
+static method main() → dynamic
+  ;
+
+library opted_out_lib;
+import self as self2;
+
+typedef LegacyFoo = () →* void;
+static method test(() →* void f) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41496b.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41496b.dart.outline.expect
deleted file mode 100644
index bbfdc97..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41496b.dart.outline.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-library opted_out_lib /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41496b.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///issue41496b_lib.dart" as opt_in;
-
-typedef LegacyFoo = () → void;
-static method test(() → void f) → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41496b_lib.dart:7:11: Error: Field 'f1' should be initialized because its type 'void Function()' doesn't allow null.
-// LegacyFoo f1;
-//           ^^
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41496b_lib.dart:10:20: Error: Field 'f2' should be initialized because its type 'void Function()' doesn't allow null.
-//   static LegacyFoo f2;
-//                    ^^
-//
-import self as self2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41496b.dart";
-
-class C extends core::Object {
-  static field () → void f2;
-  synthetic constructor •() → self2::C
-    ;
-}
-static field () → void f1;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41496b.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41496b.dart.weak.outline.expect
new file mode 100644
index 0000000..c78a92c
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41496b.dart.weak.outline.expect
@@ -0,0 +1,36 @@
+library opted_out_lib;
+import self as self;
+
+import "org-dartlang-testcase:///issue41496b_lib.dart" as opt_in;
+
+typedef LegacyFoo = () →* void;
+static method test(() →* void f) → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41496b_lib.dart:7:11: Error: Field 'f1' should be initialized because its type 'void Function()' doesn't allow null.
+// LegacyFoo f1;
+//           ^^
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41496b_lib.dart:10:20: Error: Field 'f2' should be initialized because its type 'void Function()' doesn't allow null.
+//   static LegacyFoo f2;
+//                    ^^
+//
+import self as self2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41496b.dart";
+
+class C extends core::Object {
+  static field () → void f2;
+  synthetic constructor •() → self2::C
+    ;
+}
+static field () → void f1;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.outline.expect
deleted file mode 100644
index ccf0d3f..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.outline.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41498_lib.dart";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C
-    ;
-  static method test() → void
-    ;
-  method test2() → void
-    ;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library opted_out_lib /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41498_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self2;
-import "dart:core" as core;
-
-typedef LegacyFoo = () → void;
-class C extends core::Object {
-  synthetic constructor •() → self2::C
-    ;
-  static method test() → void
-    ;
-  method test2() → void
-    ;
-}
-static method test() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.outline.expect
new file mode 100644
index 0000000..ddd095d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41498.dart.weak.outline.expect
@@ -0,0 +1,44 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41498_lib.dart";
+
+class C extends core::Object {
+  synthetic constructor •() → self::C
+    ;
+  static method test() → void
+    ;
+  method test2() → void
+    ;
+}
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library opted_out_lib;
+import self as self2;
+import "dart:core" as core;
+
+typedef LegacyFoo = () →* void;
+class C extends core::Object {
+  synthetic constructor •() → self2::C*
+    ;
+  static method test() → void
+    ;
+  method test2() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method test() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.outline.expect
deleted file mode 100644
index 20bd432..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.outline.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-library opted_out_lib /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41498b.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41498b_lib.dart" as opt_in;
-
-typedef LegacyFoo = () → void;
-class C extends core::Object {
-  synthetic constructor •() → self::C
-    ;
-  static method test() → void
-    ;
-  method test2() → void
-    ;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41498b.dart";
-
-class C extends core::Object {
-  synthetic constructor •() → self2::C
-    ;
-  static method test() → void
-    ;
-  method test2() → void
-    ;
-}
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.outline.expect
new file mode 100644
index 0000000..f9de090
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41498b.dart.weak.outline.expect
@@ -0,0 +1,48 @@
+library opted_out_lib;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41498b_lib.dart" as opt_in;
+
+typedef LegacyFoo = () →* void;
+class C extends core::Object {
+  synthetic constructor •() → self::C*
+    ;
+  static method test() → void
+    ;
+  method test2() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41498b.dart";
+
+class C extends core::Object {
+  synthetic constructor •() → self2::C
+    ;
+  static method test() → void
+    ;
+  method test2() → void
+    ;
+}
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41499.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41499.dart.outline.expect
deleted file mode 100644
index 414795c..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41499.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41499_lib.dart";
-
-class C extends core::Object {
-  synthetic constructor •() → self::C
-    ;
-  static method sTest() → () → void
-    ;
-  method mTest() → () → void
-    ;
-  get gTest() → () → void
-    ;
-}
-static method test() → () → void
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41499_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self2;
-
-typedef LegacyFoo = () → void;
-static method test(() → void f) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41499.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41499.dart.weak.outline.expect
new file mode 100644
index 0000000..4b8ad7d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41499.dart.weak.outline.expect
@@ -0,0 +1,27 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41499_lib.dart";
+
+class C extends core::Object {
+  synthetic constructor •() → self::C
+    ;
+  static method sTest() → () → void
+    ;
+  method mTest() → () → void
+    ;
+  get gTest() → () → void
+    ;
+}
+static method test() → () → void
+  ;
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+
+typedef LegacyFoo = () →* void;
+static method test(() →* void f) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41499b.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41499b.dart.outline.expect
deleted file mode 100644
index 956b2db..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41499b.dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41499b.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///issue41499b_lib.dart" as opt_in;
-
-typedef LegacyFoo = () → void;
-static method test(() → void f) → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41499b.dart";
-
-class C extends core::Object {
-  synthetic constructor •() → self2::C
-    ;
-  static method sTest() → () → void
-    ;
-  method mTest() → () → void
-    ;
-  get gTest() → () → void
-    ;
-}
-static method test() → () → void
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41499b.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41499b.dart.weak.outline.expect
new file mode 100644
index 0000000..dd70ad6
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41499b.dart.weak.outline.expect
@@ -0,0 +1,29 @@
+library;
+import self as self;
+
+import "org-dartlang-testcase:///issue41499b_lib.dart" as opt_in;
+
+typedef LegacyFoo = () →* void;
+static method test(() →* void f) → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41499b.dart";
+
+class C extends core::Object {
+  synthetic constructor •() → self2::C
+    ;
+  static method sTest() → () → void
+    ;
+  method mTest() → () → void
+    ;
+  get gTest() → () → void
+    ;
+}
+static method test() → () → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41567.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41567.dart.outline.expect
deleted file mode 100644
index 640cf39..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41567.dart.outline.expect
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// Problems in component:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41567.dart:9:7: Error: 'in1' can't implement both 'A<Object>' and 'A<dynamic>'
-//  - 'A' is from 'pkg/front_end/testcases/nnbd_mixed/issue41567_lib.dart'.
-//  - 'Object' is from 'dart:core'.
-// class in1 extends out_Object implements B {} // ok
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41567.dart:11:7: Error: 'in2' can't implement both 'A<dynamic>' and 'A<Object>'
-//  - 'A' is from 'pkg/front_end/testcases/nnbd_mixed/issue41567_lib.dart'.
-//  - 'Object' is from 'dart:core'.
-// class in2 extends B implements out_Object {} // ok
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41567.dart:13:7: Error: 'in3' can't implement both 'A<int>' and 'A<dynamic>'
-//  - 'A' is from 'pkg/front_end/testcases/nnbd_mixed/issue41567_lib.dart'.
-// class in3 extends out_int implements B {} // error
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41567.dart:15:7: Error: 'in4' can't implement both 'A<dynamic>' and 'A<int>'
-//  - 'A' is from 'pkg/front_end/testcases/nnbd_mixed/issue41567_lib.dart'.
-// class in4 extends B implements out_int {} // error
-//       ^
-//
-library /*isNonNullableByDefault*/;
-import self as self;
-import "issue41567_lib.dart" as iss;
-
-import "org-dartlang-testcase:///issue41567_lib.dart";
-
-class B extends iss::A<dynamic> {
-  synthetic constructor •() → self::B
-    ;
-}
-class in1 extends iss::out_Object implements self::B {
-  synthetic constructor •() → self::in1
-    ;
-}
-class in2 extends self::B implements iss::out_Object {
-  synthetic constructor •() → self::in2
-    ;
-}
-class in3 extends iss::out_int implements self::B {
-  synthetic constructor •() → self::in3
-    ;
-}
-class in4 extends self::B implements iss::out_int {
-  synthetic constructor •() → self::in4
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41567_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as iss;
-import "dart:core" as core;
-
-class A<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → iss::A<iss::A::T%>
-    ;
-}
-class out_int extends iss::A<core::int> {
-  synthetic constructor •() → iss::out_int
-    ;
-}
-class out_Object extends iss::A<core::Object> {
-  synthetic constructor •() → iss::out_Object
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41567.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41567.dart.weak.outline.expect
new file mode 100644
index 0000000..6d86e10
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41567.dart.weak.outline.expect
@@ -0,0 +1,68 @@
+//
+// Problems in component:
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41567.dart:13:7: Error: 'in3' can't implement both 'A<int>' and 'A<dynamic>'
+//  - 'A' is from 'pkg/front_end/testcases/nnbd_mixed/issue41567_lib.dart'.
+// class in3 extends out_int implements B {} // error
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41567.dart:15:7: Error: 'in4' can't implement both 'A<dynamic>' and 'A<int>'
+//  - 'A' is from 'pkg/front_end/testcases/nnbd_mixed/issue41567_lib.dart'.
+// class in4 extends B implements out_int {} // error
+//       ^
+//
+library /*isNonNullableByDefault*/;
+import self as self;
+import "issue41567_lib.dart" as iss;
+
+import "org-dartlang-testcase:///issue41567_lib.dart";
+
+class B extends iss::A<dynamic> {
+  synthetic constructor •() → self::B
+    ;
+}
+class in1 extends iss::out_Object implements self::B {
+  synthetic constructor •() → self::in1
+    ;
+}
+class in2 extends self::B implements iss::out_Object {
+  synthetic constructor •() → self::in2
+    ;
+}
+class in3 extends iss::out_int implements self::B {
+  synthetic constructor •() → self::in3
+    ;
+}
+class in4 extends self::B implements iss::out_int {
+  synthetic constructor •() → self::in4
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as iss;
+import "dart:core" as core;
+
+class A<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → iss::A<iss::A::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class out_int extends iss::A<core::int*> {
+  synthetic constructor •() → iss::out_int*
+    ;
+}
+class out_Object extends iss::A<core::Object*> {
+  synthetic constructor •() → iss::out_Object*
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.outline.expect
deleted file mode 100644
index 09a8e05..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.outline.expect
+++ /dev/null
@@ -1,48 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41597.dart:8:6: Error: 'x' is already declared in this scope.
-// bool x;
-//      ^
-// pkg/front_end/testcases/nnbd_mixed/issue41597.dart:7:6: Context: Previous declaration of 'x'.
-// bool x;
-//      ^
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41597.dart:8:6: Error: Field 'x' should be initialized because its type 'bool' doesn't allow null.
-// bool x;
-//      ^
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41597.dart:7:6: Error: Field 'x' should be initialized because its type 'bool' doesn't allow null.
-// bool x;
-//      ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue41597_lib.dart";
-
-class C extends core::Object {
-  constructor c0() → self::C
-    ;
-  constructor c1() → self::C
-    ;
-}
-static field core::bool x;
-static method errors() → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self2;
-
-static method errors(dynamic c) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.expect
index af178d3..22d878a 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.expect
@@ -103,7 +103,7 @@
 //      ^
 //
 // pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:10:8: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   c?..f!;
 //        ^
 // pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.outline.expect
new file mode 100644
index 0000000..e3e5d47
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.outline.expect
@@ -0,0 +1,41 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41597.dart:8:6: Error: 'x' is already declared in this scope.
+// bool x;
+//      ^
+// pkg/front_end/testcases/nnbd_mixed/issue41597.dart:7:6: Context: Previous declaration of 'x'.
+// bool x;
+//      ^
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41597.dart:8:6: Error: Field 'x' should be initialized because its type 'bool' doesn't allow null.
+// bool x;
+//      ^
+//
+// pkg/front_end/testcases/nnbd_mixed/issue41597.dart:7:6: Error: Field 'x' should be initialized because its type 'bool' doesn't allow null.
+// bool x;
+//      ^
+//
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue41597_lib.dart";
+
+class C extends core::Object {
+  constructor c0() → self::C
+    ;
+  constructor c1() → self::C
+    ;
+}
+static field core::bool x;
+static method errors() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+
+static method errors(dynamic c) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.transformed.expect
index d3c36df..802c2a3 100644
--- a/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41597.dart.weak.transformed.expect
@@ -103,7 +103,7 @@
 //      ^
 //
 // pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:10:8: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   c?..f!;
 //        ^
 // pkg/front_end/testcases/nnbd_mixed/issue41597_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.outline.expect
new file mode 100644
index 0000000..4c24ab0
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41602.dart.weak.outline.expect
@@ -0,0 +1,12 @@
+library;
+import self as self;
+import "dart:async" as asy;
+
+static method returnFutureOfVoid() → asy::Future<void>* async 
+  ;
+static method returnVoid() → void
+  ;
+static method returnVoidAsync() → void async 
+  ;
+static method main() → dynamic async 
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.outline.expect
new file mode 100644
index 0000000..b32cbe5
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue41657.dart.weak.outline.expect
@@ -0,0 +1,24 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static final field core::bool isLegacySubtyping1a;
+static const field core::bool isLegacySubtyping1b = const <Null>[] is{ForNonNullableByDefault} core::List<core::int>;
+static final field core::bool isLegacySubtyping2a;
+static const field core::bool isLegacySubtyping2b = const <core::int?>[] is{ForNonNullableByDefault} core::List<core::int>;
+static final field core::List<core::int> assertLegacySubtyping1a;
+static const field core::List<core::int> assertLegacySubtyping1b = const <Null>[] as{ForNonNullableByDefault} core::List<core::int>;
+static final field core::List<core::int> assertLegacySubtyping2a;
+static const field core::List<core::int> assertLegacySubtyping2b = const <core::int?>[] as{ForNonNullableByDefault} core::List<core::int>;
+static method main() → void
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: IsExpression @ org-dartlang-testcase:///issue41657.dart:6:44 -> BoolConstant(true)
+Evaluated: IsExpression @ org-dartlang-testcase:///issue41657.dart:8:44 -> BoolConstant(true)
+Evaluated: AsExpression @ org-dartlang-testcase:///issue41657.dart:10:48 -> ListConstant(const <Null>[])
+Evaluated: AsExpression @ org-dartlang-testcase:///issue41657.dart:12:48 -> ListConstant(const <int?>[])
+Extra constant evaluation: evaluated: 4, effectively constant: 4
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.outline.expect
new file mode 100644
index 0000000..68fc789
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42003.dart.weak.outline.expect
@@ -0,0 +1,14 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+
+import "org-dartlang-testcase:///issue42003_lib.dart";
+
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+static method returnString() → core::String*
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42181.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue42181.dart.weak.outline.expect
new file mode 100644
index 0000000..39223e5
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42181.dart.weak.outline.expect
@@ -0,0 +1,18 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue42181_lib.dart";
+
+static method f1(core::int x) → core::int?
+  ;
+static method test() → void
+  ;
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+typedef F = (core::int*) →* core::int*;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42387/scheduler_tester.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue42387/scheduler_tester.dart.weak.outline.expect
new file mode 100644
index 0000000..135d07e
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42387/scheduler_tester.dart.weak.outline.expect
@@ -0,0 +1,135 @@
+library;
+import self as self;
+import "foundation_binding_lib.dart" as fou;
+import "scheduler_binding_lib.dart" as sch;
+import "dart:core" as core;
+import "dart:async" as asy;
+import "services_binding_lib.dart" as ser;
+
+import "org-dartlang-testcase:///foundation_lib.dart";
+import "org-dartlang-testcase:///services_lib.dart";
+import "org-dartlang-testcase:///scheduler_lib.dart";
+
+abstract class _TestSchedulerBinding&BindingBase&SchedulerBinding = fou::BindingBase with sch::SchedulerBinding /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_TestSchedulerBinding&BindingBase&SchedulerBinding*
+    : super fou::BindingBase::•()
+    ;
+  abstract member-signature method registerSignalServiceExtension({core::String* name, () →* asy::Future<Null>* callback}) → void; -> fou::BindingBase::registerSignalServiceExtension
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _TestSchedulerBinding&BindingBase&SchedulerBinding&ServicesBinding = self::_TestSchedulerBinding&BindingBase&SchedulerBinding with ser::ServicesBinding /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_TestSchedulerBinding&BindingBase&SchedulerBinding&ServicesBinding*
+    : super self::_TestSchedulerBinding&BindingBase&SchedulerBinding::•()
+    ;
+}
+class TestSchedulerBinding extends self::_TestSchedulerBinding&BindingBase&SchedulerBinding&ServicesBinding {
+  synthetic constructor •() → self::TestSchedulerBinding*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:async" as asy;
+
+typedef AsyncCallback = () → asy::Future<Null>;
+
+library /*isNonNullableByDefault*/;
+import self as fou;
+import "dart:core" as core;
+import "dart:async" as asy;
+
+import "org-dartlang-testcase:///foundation_basic_types_lib.dart";
+
+abstract class BindingBase extends core::Object {
+  synthetic constructor •() → fou::BindingBase
+    ;
+  method registerSignalServiceExtension({required core::String name, required () → asy::Future<Null> callback}) → void
+    ;
+}
+
+library;
+import self as self3;
+import "foundation_basic_types_lib.dart" as self2;
+import "foundation_binding_lib.dart" as fou;
+additionalExports = (self2::AsyncCallback,
+  fou::BindingBase)
+
+export "org-dartlang-testcase:///foundation_basic_types_lib.dart";
+export "org-dartlang-testcase:///foundation_binding_lib.dart";
+
+
+library;
+import self as sch;
+import "foundation_binding_lib.dart" as fou;
+import "dart:core" as core;
+import "dart:async" as asy;
+
+import "org-dartlang-testcase:///foundation_lib.dart";
+
+abstract class SchedulerBinding extends fou::BindingBase /*isMixinDeclaration*/  {
+  abstract member-signature method registerSignalServiceExtension({core::String* name, () →* asy::Future<Null>* callback}) → void; -> fou::BindingBase::registerSignalServiceExtension
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library;
+import self as self4;
+import "scheduler_binding_lib.dart" as sch;
+additionalExports = (sch::SchedulerBinding)
+
+export "org-dartlang-testcase:///scheduler_binding_lib.dart";
+
+
+library;
+import self as ser;
+import "dart:core" as core;
+import "foundation_binding_lib.dart" as fou;
+import "scheduler_binding_lib.dart" as sch;
+import "dart:async" as asy;
+
+import "org-dartlang-testcase:///foundation_lib.dart";
+import "org-dartlang-testcase:///scheduler_lib.dart";
+
+abstract class _ServicesBinding&BindingBase&SchedulerBinding extends core::Object implements fou::BindingBase, sch::SchedulerBinding /*isAnonymousMixin*/  {
+  synthetic constructor •() → ser::_ServicesBinding&BindingBase&SchedulerBinding*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature method registerSignalServiceExtension({core::String* name, () →* asy::Future<Null>* callback}) → void; -> fou::BindingBase::registerSignalServiceExtension
+}
+abstract class ServicesBinding extends ser::_ServicesBinding&BindingBase&SchedulerBinding /*isMixinDeclaration*/  {
+}
+
+library;
+import self as self5;
+import "services_binding_lib.dart" as ser;
+additionalExports = (ser::ServicesBinding)
+
+export "org-dartlang-testcase:///services_binding_lib.dart";
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.outline.expect
new file mode 100644
index 0000000..cb7c97a
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42660.dart.weak.outline.expect
@@ -0,0 +1,38 @@
+library;
+import self as self;
+
+import "org-dartlang-testcase:///issue42660_lib.dart";
+
+static method main() → void
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+class Class<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self2::Class<self2::Class::T%>
+    ;
+  method f() → core::int?
+    ;
+  get p() → core::int?
+    ;
+  operator [](core::int index) → core::int?
+    ;
+  operator unary-() → core::int?
+    ;
+  operator +(core::Object? other) → core::int?
+    ;
+}
+extension E on core::int {
+  method m = self2::E|m;
+  tearoff m = self2::E|get#m;
+}
+static method E|m(lowered final core::int #this) → core::String
+  ;
+static method E|get#m(lowered final core::int #this) → () → core::String
+  return () → core::String => self2::E|m(#this);
+static method f() → core::int?
+  ;
+static get p() → core::int?
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42792.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue42792.dart.weak.outline.expect
new file mode 100644
index 0000000..bb59766
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42792.dart.weak.outline.expect
@@ -0,0 +1,39 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "issue42792_lib.dart" as iss;
+
+import "org-dartlang-testcase:///issue42792_lib.dart";
+
+abstract class M<T extends core::Object? = dynamic> extends iss::A<self::M::T%> /*isMixinDeclaration*/  {
+}
+abstract class _B&A&M = iss::A<core::int> with self::M<core::int> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_B&A&M
+    : super iss::A::•()
+    ;
+}
+class B extends self::_B&A&M {
+  synthetic constructor •() → self::B
+    ;
+}
+static method main() → void
+  ;
+
+library;
+import self as iss;
+import "dart:core" as core;
+
+abstract class A<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → iss::A<iss::A::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue42836.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue42836.dart.weak.outline.expect
new file mode 100644
index 0000000..1e59d7b
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue42836.dart.weak.outline.expect
@@ -0,0 +1,51 @@
+library;
+import self as self;
+import "issue42836_lib.dart" as iss;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue42836_lib.dart";
+
+class Legacy extends iss::Generic<core::int*> {
+  synthetic constructor •() → self::Legacy*
+    ;
+  method legacyMethod() → core::int*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field self::Legacy* legacyInstance;
+static method test(core::bool* b) → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as iss;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///issue42836.dart";
+
+class Generic<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → iss::Generic<iss::Generic::T%>
+    ;
+}
+class NonNullable extends iss::Generic<core::int> {
+  synthetic constructor •() → iss::NonNullable
+    ;
+}
+class Nullable extends iss::Generic<core::int?> {
+  synthetic constructor •() → iss::Nullable
+    ;
+}
+static field iss::NonNullable nonNullableInstance;
+static field iss::Nullable nullableInstance;
+static method test(core::bool b) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue43988/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue43988/main.dart.weak.outline.expect
new file mode 100644
index 0000000..8754194
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue43988/main.dart.weak.outline.expect
@@ -0,0 +1,175 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "main_lib.dart" as mai;
+
+import "org-dartlang-testcase:///main_lib.dart";
+
+abstract class _E1&Object&A = core::Object with mai::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_E1&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+    return super.{mai::A::method}(i, s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _E1&Object&A&D = self::_E1&Object&A with mai::D /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_E1&Object&A&D*
+    : super self::_E1&Object&A::•()
+    ;
+  forwarding-stub method method(covariant core::num* i, {core::String* s}) → core::String*
+    return super.{self::_E1&Object&A::method}(i, s: s);
+}
+class E1 extends self::_E1&Object&A&D {
+  synthetic constructor •() → self::E1*
+    ;
+}
+abstract class _E2&Object&A = core::Object with mai::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_E2&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+    return super.{mai::A::method}(i, s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class E2 = self::_E2&Object&A with mai::D /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::E2*
+    : super self::_E2&Object&A::•()
+    ;
+  forwarding-stub method method(covariant core::num* i, {core::String* s}) → core::String*
+    return super.{self::_E2&Object&A::method}(i, s: s);
+}
+abstract class _E3&Object&A = core::Object with mai::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_E3&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+    return super.{mai::A::method}(i, s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class E3 = self::_E3&Object&A with mai::F /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::E3*
+    : super self::_E3&Object&A::•()
+    ;
+}
+abstract class C6 extends mai::C3 implements mai::C4 {
+  synthetic constructor •() → self::C6*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method2([covariant core::String* a]) → dynamic;
+}
+abstract class C8 extends mai::C5 implements mai::C7 {
+  synthetic constructor •() → self::C8*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method2([covariant core::String* a, core::num* b]) → dynamic;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as mai;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  synthetic constructor •() → mai::Interface
+    ;
+  abstract method method(core::num i) → core::String;
+}
+abstract class Interface2 extends core::Object {
+  synthetic constructor •() → mai::Interface2
+    ;
+  abstract method method(covariant core::int i) → core::String;
+}
+abstract class A extends core::Object implements mai::Interface /*isMixinDeclaration*/  {
+  method method(core::num i, {core::String s = #C1}) → core::String
+    ;
+}
+abstract class D extends core::Object implements mai::Interface, mai::Interface2 {
+  synthetic constructor •() → mai::D
+    ;
+  abstract forwarding-stub method method(covariant core::num i) → core::String;
+}
+abstract class F extends core::Object implements mai::Interface {
+  synthetic constructor •() → mai::F
+    ;
+}
+abstract class C1 extends core::Object {
+  synthetic constructor •() → mai::C1
+    ;
+  abstract method method2() → dynamic;
+}
+abstract class C2 extends core::Object {
+  synthetic constructor •() → mai::C2
+    ;
+  abstract method method2([core::String a]) → dynamic;
+}
+abstract class C3 extends core::Object implements mai::C1, mai::C2 {
+  synthetic constructor •() → mai::C3
+    ;
+  abstract member-signature method method2([core::String a]) → dynamic; -> mai::C2::method2
+}
+abstract class C4 extends core::Object {
+  synthetic constructor •() → mai::C4
+    ;
+  abstract method method2([covariant core::String a]) → dynamic;
+}
+abstract class C5 extends mai::C3 implements mai::C4 {
+  synthetic constructor •() → mai::C5
+    ;
+  abstract forwarding-stub method method2([covariant core::String a]) → dynamic;
+}
+abstract class C7 extends core::Object {
+  synthetic constructor •() → mai::C7
+    ;
+  abstract method method2([core::String a, core::num b]) → dynamic;
+}
+
+constants  {
+  #C1 = "hello"
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/issue43988/main.no_link.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/issue43988/main.no_link.dart.weak.outline.expect
new file mode 100644
index 0000000..52ca0c6
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/issue43988/main.no_link.dart.weak.outline.expect
@@ -0,0 +1,171 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "main_lib.dart" as mai;
+
+import "org-dartlang-testcase:///main_lib.dart";
+
+abstract class _E1&Object&A = core::Object with mai::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_E1&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+    return super.{mai::A::method}(i, s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _E1&Object&A&D = self::_E1&Object&A with mai::D /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_E1&Object&A&D*
+    : super self::_E1&Object&A::•()
+    ;
+  forwarding-stub method method(covariant core::num* i, {core::String* s}) → core::String*
+    return super.{self::_E1&Object&A::method}(i, s: s);
+}
+class E1 extends self::_E1&Object&A&D {
+  synthetic constructor •() → self::E1*
+    ;
+}
+abstract class _E2&Object&A = core::Object with mai::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_E2&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+    return super.{mai::A::method}(i, s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class E2 = self::_E2&Object&A with mai::D /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::E2*
+    : super self::_E2&Object&A::•()
+    ;
+  forwarding-stub method method(covariant core::num* i, {core::String* s}) → core::String*
+    return super.{self::_E2&Object&A::method}(i, s: s);
+}
+abstract class _E3&Object&A = core::Object with mai::A /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_E3&Object&A*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method(core::num* i, {core::String* s}) → core::String*
+    return super.{mai::A::method}(i, s: s);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class E3 = self::_E3&Object&A with mai::F /*hasConstConstructor*/  {
+  const synthetic constructor •() → self::E3*
+    : super self::_E3&Object&A::•()
+    ;
+}
+abstract class C6 extends mai::C3 implements mai::C4 {
+  synthetic constructor •() → self::C6*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method2([covariant core::String* a]) → dynamic;
+}
+abstract class C8 extends mai::C5 implements mai::C7 {
+  synthetic constructor •() → self::C8*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract forwarding-stub method method2([covariant core::String* a, core::num* b]) → dynamic;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as mai;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  synthetic constructor •() → mai::Interface
+    ;
+  abstract method method(core::num i) → core::String;
+}
+abstract class Interface2 extends core::Object {
+  synthetic constructor •() → mai::Interface2
+    ;
+  abstract method method(covariant core::int i) → core::String;
+}
+abstract class A extends core::Object implements mai::Interface /*isMixinDeclaration*/  {
+  method method(core::num i, {core::String s = "hello"}) → core::String
+    ;
+}
+abstract class D extends core::Object implements mai::Interface, mai::Interface2 {
+  synthetic constructor •() → mai::D
+    ;
+  abstract forwarding-stub method method(covariant core::num i) → core::String;
+}
+abstract class F extends core::Object implements mai::Interface {
+  synthetic constructor •() → mai::F
+    ;
+}
+abstract class C1 extends core::Object {
+  synthetic constructor •() → mai::C1
+    ;
+  abstract method method2() → dynamic;
+}
+abstract class C2 extends core::Object {
+  synthetic constructor •() → mai::C2
+    ;
+  abstract method method2([core::String a]) → dynamic;
+}
+abstract class C3 extends core::Object implements mai::C1, mai::C2 {
+  synthetic constructor •() → mai::C3
+    ;
+  abstract member-signature method method2([core::String a]) → dynamic; -> mai::C2::method2
+}
+abstract class C4 extends core::Object {
+  synthetic constructor •() → mai::C4
+    ;
+  abstract method method2([covariant core::String a]) → dynamic;
+}
+abstract class C5 extends mai::C3 implements mai::C4 {
+  synthetic constructor •() → mai::C5
+    ;
+  abstract forwarding-stub method method2([covariant core::String a]) → dynamic;
+}
+abstract class C7 extends core::Object {
+  synthetic constructor •() → mai::C7
+    ;
+  abstract method method2([core::String a, core::num b]) → dynamic;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/literal_from_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/literal_from_opt_in.dart.outline.expect
deleted file mode 100644
index bd8eede..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/literal_from_opt_in.dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/literal_from_opt_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-import self as self;
-
-import "org-dartlang-testcase:///literal_from_opt_in_lib.dart";
-
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as self2;
-import "dart:core" as core;
-
-class Const<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
-  final field self2::Const::T% field;
-  const constructor •(self2::Const::T% field) → self2::Const<self2::Const::T%>
-    : self2::Const::field = field, super core::Object::•()
-    ;
-}
-static const field self2::Const<core::int> a = const self2::Const::•<core::int>(0);
-static const field self2::Const<core::int?> b = const self2::Const::•<core::int?>(0);
-static const field self2::Const<core::int?> c = const self2::Const::•<core::int?>(null);
-static const field self2::Const<core::int>? d = const self2::Const::•<core::int>(0);
-static const field self2::Const<core::int>? e = null;
diff --git a/pkg/front_end/testcases/nnbd_mixed/literal_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/literal_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..db2e378
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/literal_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,31 @@
+library;
+import self as self;
+
+import "org-dartlang-testcase:///literal_from_opt_in_lib.dart";
+
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+class Const<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  final field self2::Const::T% field;
+  const constructor •(self2::Const::T% field) → self2::Const<self2::Const::T%>
+    : self2::Const::field = field, super core::Object::•()
+    ;
+}
+static const field self2::Const<core::int> a = const self2::Const::•<core::int>(0);
+static const field self2::Const<core::int?> b = const self2::Const::•<core::int?>(0);
+static const field self2::Const<core::int?> c = const self2::Const::•<core::int?>(null);
+static const field self2::Const<core::int>? d = const self2::Const::•<core::int>(0);
+static const field self2::Const<core::int>? e = null;
+
+
+Extra constant evaluation status:
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///literal_from_opt_in_lib.dart:11:28 -> InstanceConstant(const Const<int*>{Const.field: 0})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///literal_from_opt_in_lib.dart:12:29 -> InstanceConstant(const Const<int?>{Const.field: 0})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///literal_from_opt_in_lib.dart:13:29 -> InstanceConstant(const Const<int?>{Const.field: null})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///literal_from_opt_in_lib.dart:14:29 -> InstanceConstant(const Const<int*>{Const.field: 0})
+Extra constant evaluation: evaluated: 5, effectively constant: 4
diff --git a/pkg/front_end/testcases/general/main_declaration.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/main_declaration.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/main_declaration.dart.outline.expect
copy to pkg/front_end/testcases/nnbd_mixed/main_declaration.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart.outline.expect
deleted file mode 100644
index 2907bc7..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart.outline.expect
+++ /dev/null
@@ -1,375 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:18:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method6b(int a, [int b]) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:20:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method6c([int a, int b]) => 0;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:20:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method6c([int a, int b]) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:24:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method8b({int a, int b: 0}) => 0;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:26:29: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method10a(int a, {int b}) => 0;
-//                             ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:28:22: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method10b({int a, int b}) => 0;
-//                      ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:28:29: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method10b({int a, int b}) => 0;
-//                             ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:16:20: Error: The parameter 'a' of the method 'LegacyClass.method6a' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6a'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method6a(int a, int b) => 0;
-//                    ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:20:8: Context: This is the overridden method ('method6a').
-//   int? method6a(int? a, int b);
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:18:20: Error: The parameter 'a' of the method 'LegacyClass.method6b' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6b'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method6b(int a, [int b]) => 0;
-//                    ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:22:8: Context: This is the overridden method ('method6b').
-//   int? method6b(int? a, [int b = 0]);
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:20:21: Error: The parameter 'a' of the method 'LegacyClass.method6c' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6c'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method6c([int a, int b]) => 0;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:24:8: Context: This is the overridden method ('method6c').
-//   int? method6c([int? a, int b = 0]);
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:22:20: Error: The parameter 'a' of the method 'LegacyClass.method8a' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method8a'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method8a(int a, {int b: 0}) => 0;
-//                    ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:30:8: Context: This is the overridden method ('method8a').
-//   int? method8a(int? a, {int b: 0});
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:24:21: Error: The parameter 'a' of the method 'LegacyClass.method8b' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method8b'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method8b({int a, int b: 0}) => 0;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:32:8: Context: This is the overridden method ('method8b').
-//   int? method8b({int? a, int b: 0});
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:26:21: Error: The parameter 'a' of the method 'LegacyClass.method10a' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method10a'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method10a(int a, {int b}) => 0;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:38:8: Context: This is the overridden method ('method10a').
-//   int? method10a(int? a, {required int b});
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:28:22: Error: The parameter 'a' of the method 'LegacyClass.method10b' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method10b'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method10b({int a, int b}) => 0;
-//                      ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:40:8: Context: This is the overridden method ('method10b').
-//   int? method10b({required int? a, required int b});
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:40:7: Error: The field 'LegacyClass.field4' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.field4'.
-//   int field4;
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:64:8: Context: This is the overridden method ('field4').
-//   int? field4;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:48:26: Error: The parameter 'value' of the method 'LegacyClass.property4' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.property4'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   void set property4(int value) {}
-//                          ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:80:12: Context: This is the overridden method ('property4').
-//   void set property4(int? value);
-//            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:52:7: Error: The field 'LegacyClass.property8' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.property8'.
-//   int property8;
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:96:12: Context: This is the overridden method ('property8').
-//   void set property8(int? value);
-//            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:36:24: Error: The parameter 'value' of the method 'LegacyClass.setter4' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.setter4'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   void set setter4(int value) {}
-//                        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:56:12: Context: This is the overridden method ('setter4').
-//   void set setter4(int? value);
-//            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'method2' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:102:8: Context: The return type of the method 'Class.method2' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.method2'.
-// Change to a subtype of 'int'.
-//   int? method2() => 0;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:8:7: Context: This is the overridden method ('method2').
-//   int method2();
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'getter2' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:120:12: Context: The return type of the method 'Class.getter2' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.getter2'.
-// Change to a subtype of 'int'.
-//   int? get getter2 => 0;
-//            ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:44:11: Context: This is the overridden method ('getter2').
-//   int get getter2;
-//           ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'field1' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:126:7: Context: The field 'Class.field1' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.field1'.
-//   int field1 = 0;
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:58:8: Context: This is the overridden method ('field1').
-//   int? field1;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'field2' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:128:8: Context: The return type of the method 'Class.field2' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.field2'.
-// Change to a subtype of 'int'.
-//   int? field2;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:60:7: Context: This is the overridden method ('field2').
-//   int field2 = 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'property1' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:132:26: Context: The parameter 'value' of the method 'Class.property1' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.property1'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   void set property1(int value) {}
-//                          ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:68:12: Context: This is the overridden method ('property1').
-//   void set property1(int? value);
-//            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'property2' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:134:12: Context: The return type of the method 'Class.property2' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.property2'.
-// Change to a subtype of 'int'.
-//   int? get property2 => 0;
-//            ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:70:11: Context: This is the overridden method ('property2').
-//   int get property2;
-//           ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'property5' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:138:7: Context: The field 'Class.property5' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.property5'.
-//   int property5 = 0;
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:84:12: Context: This is the overridden method ('property5').
-//   void set property5(int? value);
-//            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'property6' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:140:8: Context: The return type of the method 'Class.property6' is 'int?', which does not match the return type, 'int', of the overridden method, 'Interface.property6'.
-// Change to a subtype of 'int'.
-//   int? property6;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:86:11: Context: This is the overridden method ('property6').
-//   int get property6;
-//           ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart:11:7: Error: The implementation of 'setter1' in the non-abstract class 'LegacyClass' does not conform to its interface.
-// class LegacyClass extends Class implements Interface {
-//       ^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:122:24: Context: The parameter 'value' of the method 'Class.setter1' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.setter1'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   void set setter1(int value) {}
-//                        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in_lib.dart:50:12: Context: This is the overridden method ('setter1').
-//   void set setter1(int? value);
-//            ^
-//
-import self as self;
-import "member_inheritance_from_opt_in_lib.dart" as mem;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///member_inheritance_from_opt_in_lib.dart";
-
-class LegacyClass extends mem::Class implements mem::Interface {
-  field core::int field3;
-  field core::int field4;
-  field core::int property7;
-  field core::int property8;
-  synthetic constructor •() → self::LegacyClass
-    ;
-  method method3() → core::int
-    ;
-  method method4() → core::int
-    ;
-  method method6a(core::int a, core::int b) → core::int
-    ;
-  method method6b(core::int a, [core::int b]) → core::int
-    ;
-  method method6c([core::int a, core::int b]) → core::int
-    ;
-  method method8a(core::int a, {core::int b = 0}) → core::int
-    ;
-  method method8b({core::int a, core::int b = 0}) → core::int
-    ;
-  method method10a(core::int a, {core::int b}) → core::int
-    ;
-  method method10b({core::int a, core::int b}) → core::int
-    ;
-  get getter3() → core::int
-    ;
-  get getter4() → core::int
-    ;
-  set setter3(core::int value) → void
-    ;
-  set setter4(core::int value) → void
-    ;
-  get property3() → core::int
-    ;
-  set property3(core::int value) → void
-    ;
-  get property4() → core::int
-    ;
-  set property4(core::int value) → void
-    ;
-  abstract forwarding-stub method method2() → core::int;
-  abstract forwarding-stub get getter2() → core::int;
-  abstract forwarding-stub set field1(core::int? _) → void;
-  abstract forwarding-stub get field2() → core::int;
-  abstract forwarding-stub set property1(core::int? value) → void;
-  abstract forwarding-stub get property2() → core::int;
-  abstract forwarding-stub set property5(core::int? value) → void;
-  abstract forwarding-stub get property6() → core::int;
-  abstract forwarding-stub set setter1(core::int? value) → void;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as mem;
-import "dart:core" as core;
-
-abstract class Interface extends core::Object {
-  field core::int? field1;
-  field core::int field2;
-  field core::int field3;
-  field core::int? field4;
-  synthetic constructor •() → mem::Interface
-    ;
-  abstract method method1() → core::int?;
-  abstract method method2() → core::int;
-  abstract method method3() → core::int;
-  abstract method method4() → core::int?;
-  abstract method method5a(core::int a, core::int? b) → core::int;
-  abstract method method5b(core::int a, [core::int? b]) → core::int;
-  abstract method method5c([core::int a = 0, core::int? b]) → core::int;
-  abstract method method6a(core::int? a, core::int b) → core::int?;
-  abstract method method6b(core::int? a, [core::int b = 0]) → core::int?;
-  abstract method method6c([core::int? a, core::int b = 0]) → core::int?;
-  abstract method method7a(core::int a, {core::int? b}) → core::int;
-  abstract method method7b({core::int a = 0, core::int? b}) → core::int;
-  abstract method method8a(core::int? a, {core::int b = 0}) → core::int?;
-  abstract method method8b({core::int? a, core::int b = 0}) → core::int?;
-  abstract method method9a(core::int a, {required core::int? b}) → core::int;
-  abstract method method9b({required core::int a, required core::int? b}) → core::int;
-  abstract method method10a(core::int? a, {required core::int b}) → core::int?;
-  abstract method method10b({required core::int? a, required core::int b}) → core::int?;
-  abstract get getter1() → core::int?;
-  abstract get getter2() → core::int;
-  abstract get getter3() → core::int;
-  abstract get getter4() → core::int?;
-  abstract set setter1(core::int? value) → void;
-  abstract set setter2(core::int value) → void;
-  abstract set setter3(core::int value) → void;
-  abstract set setter4(core::int? value) → void;
-  abstract get property1() → core::int?;
-  abstract set property1(core::int? value) → void;
-  abstract get property2() → core::int;
-  abstract set property2(core::int value) → void;
-  abstract get property3() → core::int;
-  abstract set property3(core::int value) → void;
-  abstract get property4() → core::int?;
-  abstract set property4(core::int? value) → void;
-  abstract get property5() → core::int?;
-  abstract set property5(core::int? value) → void;
-  abstract get property6() → core::int;
-  abstract set property6(core::int value) → void;
-  abstract get property7() → core::int;
-  abstract set property7(core::int value) → void;
-  abstract get property8() → core::int?;
-  abstract set property8(core::int? value) → void;
-}
-class Class extends core::Object {
-  field core::int field1;
-  field core::int? field2;
-  field core::int property5;
-  field core::int? property6;
-  synthetic constructor •() → mem::Class
-    ;
-  method method1() → core::int
-    ;
-  method method2() → core::int?
-    ;
-  method method5a(core::int a, core::int? b) → core::int
-    ;
-  method method5b(core::int a, [core::int? b]) → core::int
-    ;
-  method method5c([core::int a = 0, core::int? b]) → core::int
-    ;
-  method method7a(core::int a, {core::int? b}) → core::int
-    ;
-  method method7b({core::int a = 0, core::int? b}) → core::int
-    ;
-  method method9a(core::int a, {required core::int? b}) → core::int
-    ;
-  method method9b({required core::int a, required core::int? b}) → core::int
-    ;
-  get getter1() → core::int
-    ;
-  get getter2() → core::int?
-    ;
-  set setter1(core::int value) → void
-    ;
-  set setter2(core::int? value) → void
-    ;
-  get property1() → core::int
-    ;
-  set property1(core::int value) → void
-    ;
-  get property2() → core::int?
-    ;
-  set property2(core::int? value) → void
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..e706863
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,183 @@
+library;
+import self as self;
+import "member_inheritance_from_opt_in_lib.dart" as mem;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///member_inheritance_from_opt_in_lib.dart";
+
+class LegacyClass extends mem::Class implements mem::Interface {
+  field core::int* field3;
+  field core::int* field4;
+  field core::int* property7;
+  field core::int* property8;
+  synthetic constructor •() → self::LegacyClass*
+    ;
+  method method3() → core::int*
+    ;
+  method method4() → core::int*
+    ;
+  method method6a(core::int* a, core::int* b) → core::int*
+    ;
+  method method6b(core::int* a, [core::int* b]) → core::int*
+    ;
+  method method6c([core::int* a, core::int* b]) → core::int*
+    ;
+  method method8a(core::int* a, {core::int* b = 0}) → core::int*
+    ;
+  method method8b({core::int* a, core::int* b = 0}) → core::int*
+    ;
+  method method10a(core::int* a, {core::int* b}) → core::int*
+    ;
+  method method10b({core::int* a, core::int* b}) → core::int*
+    ;
+  get getter3() → core::int*
+    ;
+  get getter4() → core::int*
+    ;
+  set setter3(core::int* value) → void
+    ;
+  set setter4(core::int* value) → void
+    ;
+  get property3() → core::int*
+    ;
+  set property3(core::int* value) → void
+    ;
+  get property4() → core::int*
+    ;
+  set property4(core::int* value) → void
+    ;
+  abstract member-signature get field1() → core::int*; -> mem::Class::field1
+  abstract member-signature set field1(core::int* value) → void; -> mem::Class::field1
+  abstract member-signature get field2() → core::int*; -> mem::Class::field2
+  abstract member-signature set field2(core::int* value) → void; -> mem::Class::field2
+  abstract member-signature get property1() → core::int*; -> mem::Class::property1
+  abstract member-signature set property1(core::int* value) → void; -> mem::Class::property1
+  abstract member-signature get property2() → core::int*; -> mem::Class::property2
+  abstract member-signature set property2(core::int* value) → void; -> mem::Class::property2
+  abstract member-signature get property5() → core::int*; -> mem::Class::property5
+  abstract member-signature set property5(core::int* value) → void; -> mem::Class::property5
+  abstract member-signature get property6() → core::int*; -> mem::Class::property6
+  abstract member-signature set property6(core::int* value) → void; -> mem::Class::property6
+  abstract member-signature method method1() → core::int*; -> mem::Class::method1
+  abstract member-signature method method2() → core::int*; -> mem::Class::method2
+  abstract member-signature method method5a(core::int* a, core::int* b) → core::int*; -> mem::Class::method5a
+  abstract member-signature method method5b(core::int* a, [core::int* b]) → core::int*; -> mem::Class::method5b
+  abstract member-signature method method5c([core::int* a, core::int* b]) → core::int*; -> mem::Class::method5c
+  abstract member-signature method method7a(core::int* a, {core::int* b}) → core::int*; -> mem::Class::method7a
+  abstract member-signature method method7b({core::int* a, core::int* b}) → core::int*; -> mem::Class::method7b
+  abstract member-signature method method9a(core::int* a, {core::int* b}) → core::int*; -> mem::Class::method9a
+  abstract member-signature method method9b({core::int* a, core::int* b}) → core::int*; -> mem::Class::method9b
+  abstract member-signature get getter1() → core::int*; -> mem::Class::getter1
+  abstract member-signature get getter2() → core::int*; -> mem::Class::getter2
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature set setter1(core::int* value) → void; -> mem::Class::setter1
+  abstract member-signature set setter2(core::int* value) → void; -> mem::Class::setter2
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as mem;
+import "dart:core" as core;
+
+abstract class Interface extends core::Object {
+  field core::int? field1;
+  field core::int field2;
+  field core::int field3;
+  field core::int? field4;
+  synthetic constructor •() → mem::Interface
+    ;
+  abstract method method1() → core::int?;
+  abstract method method2() → core::int;
+  abstract method method3() → core::int;
+  abstract method method4() → core::int?;
+  abstract method method5a(core::int a, core::int? b) → core::int;
+  abstract method method5b(core::int a, [core::int? b]) → core::int;
+  abstract method method5c([core::int a = 0, core::int? b]) → core::int;
+  abstract method method6a(core::int? a, core::int b) → core::int?;
+  abstract method method6b(core::int? a, [core::int b = 0]) → core::int?;
+  abstract method method6c([core::int? a, core::int b = 0]) → core::int?;
+  abstract method method7a(core::int a, {core::int? b}) → core::int;
+  abstract method method7b({core::int a = 0, core::int? b}) → core::int;
+  abstract method method8a(core::int? a, {core::int b = 0}) → core::int?;
+  abstract method method8b({core::int? a, core::int b = 0}) → core::int?;
+  abstract method method9a(core::int a, {required core::int? b}) → core::int;
+  abstract method method9b({required core::int a, required core::int? b}) → core::int;
+  abstract method method10a(core::int? a, {required core::int b}) → core::int?;
+  abstract method method10b({required core::int? a, required core::int b}) → core::int?;
+  abstract get getter1() → core::int?;
+  abstract get getter2() → core::int;
+  abstract get getter3() → core::int;
+  abstract get getter4() → core::int?;
+  abstract set setter1(core::int? value) → void;
+  abstract set setter2(core::int value) → void;
+  abstract set setter3(core::int value) → void;
+  abstract set setter4(core::int? value) → void;
+  abstract get property1() → core::int?;
+  abstract set property1(core::int? value) → void;
+  abstract get property2() → core::int;
+  abstract set property2(core::int value) → void;
+  abstract get property3() → core::int;
+  abstract set property3(core::int value) → void;
+  abstract get property4() → core::int?;
+  abstract set property4(core::int? value) → void;
+  abstract get property5() → core::int?;
+  abstract set property5(core::int? value) → void;
+  abstract get property6() → core::int;
+  abstract set property6(core::int value) → void;
+  abstract get property7() → core::int;
+  abstract set property7(core::int value) → void;
+  abstract get property8() → core::int?;
+  abstract set property8(core::int? value) → void;
+}
+class Class extends core::Object {
+  field core::int field1;
+  field core::int? field2;
+  field core::int property5;
+  field core::int? property6;
+  synthetic constructor •() → mem::Class
+    ;
+  method method1() → core::int
+    ;
+  method method2() → core::int?
+    ;
+  method method5a(core::int a, core::int? b) → core::int
+    ;
+  method method5b(core::int a, [core::int? b]) → core::int
+    ;
+  method method5c([core::int a = 0, core::int? b]) → core::int
+    ;
+  method method7a(core::int a, {core::int? b}) → core::int
+    ;
+  method method7b({core::int a = 0, core::int? b}) → core::int
+    ;
+  method method9a(core::int a, {required core::int? b}) → core::int
+    ;
+  method method9b({required core::int a, required core::int? b}) → core::int
+    ;
+  get getter1() → core::int
+    ;
+  get getter2() → core::int?
+    ;
+  set setter1(core::int value) → void
+    ;
+  set setter2(core::int? value) → void
+    ;
+  get property1() → core::int
+    ;
+  set property1(core::int value) → void
+    ;
+  get property2() → core::int?
+    ;
+  set property2(core::int? value) → void
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart.outline.expect
deleted file mode 100644
index 90e6336..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,582 +0,0 @@
-library main /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:78:8: Error: The return type of the method 'Class2b.method2' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.method2'.
-// Change to a subtype of 'int'.
-//   int? method2() => 0;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:12:7: Context: This is the overridden method ('method2').
-//   int method2() => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:86:8: Error: The return type of the method 'Class2b.method4a' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.method4a'.
-// Change to a subtype of 'int'.
-//   int? method4a(int? a, int? b) => 0;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:20:7: Context: This is the overridden method ('method4a').
-//   int method4a(int a, int b) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:88:8: Error: The return type of the method 'Class2b.method4b' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.method4b'.
-// Change to a subtype of 'int'.
-//   int? method4b(int? a, [int? b]) => 0;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:22:7: Context: This is the overridden method ('method4b').
-//   int method4b(int a, [int b]) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:90:8: Error: The return type of the method 'Class2b.method4c' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.method4c'.
-// Change to a subtype of 'int'.
-//   int? method4c([int? a, int? b]) => 0;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:24:7: Context: This is the overridden method ('method4c').
-//   int method4c([int a, int b]) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:96:30: Error: The required named parameter 'a' in method 'Class2b.method5c' is not required in overridden method 'LegacyClass.method5c'.
-//   int method5c({required int a, required int b}) => 0;
-//                              ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:30:7: Context: This is the overridden method ('method5c').
-//   int method5c({int a, int b}) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:96:46: Error: The required named parameter 'b' in method 'Class2b.method5c' is not required in overridden method 'LegacyClass.method5c'.
-//   int method5c({required int a, required int b}) => 0;
-//                                              ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:30:7: Context: This is the overridden method ('method5c').
-//   int method5c({int a, int b}) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:98:8: Error: The return type of the method 'Class2b.method6a' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.method6a'.
-// Change to a subtype of 'int'.
-//   int? method6a(int? a, {int? b}) => 0;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:32:7: Context: This is the overridden method ('method6a').
-//   int method6a(int a, {int b}) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:100:8: Error: The return type of the method 'Class2b.method6b' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.method6b'.
-// Change to a subtype of 'int'.
-//   int? method6b({int? a, int? b}) => 0;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:34:7: Context: This is the overridden method ('method6b').
-//   int method6b({int a, int b}) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:102:8: Error: The return type of the method 'Class2b.method6c' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.method6c'.
-// Change to a subtype of 'int'.
-//   int? method6c({required int? a, required int? b}) => 0;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:36:7: Context: This is the overridden method ('method6c').
-//   int method6c({int a, int b}) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:102:32: Error: The required named parameter 'a' in method 'Class2b.method6c' is not required in overridden method 'LegacyClass.method6c'.
-//   int? method6c({required int? a, required int? b}) => 0;
-//                                ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:36:7: Context: This is the overridden method ('method6c').
-//   int method6c({int a, int b}) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:102:49: Error: The required named parameter 'b' in method 'Class2b.method6c' is not required in overridden method 'LegacyClass.method6c'.
-//   int? method6c({required int? a, required int? b}) => 0;
-//                                                 ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:36:7: Context: This is the overridden method ('method6c').
-//   int method6c({int a, int b}) => 0;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:106:12: Error: The return type of the method 'Class2b.getter2' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.getter2'.
-// Change to a subtype of 'int'.
-//   int? get getter2 => 0;
-//            ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:40:11: Context: This is the overridden method ('getter2').
-//   int get getter2 => 0;
-//           ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:114:8: Error: The return type of the method 'Class2b.field2' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.field2'.
-// Change to a subtype of 'int'.
-//   int? field2;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:48:7: Context: This is the overridden method ('field2').
-//   int field2;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:120:12: Error: The return type of the method 'Class2b.field4' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.field4'.
-// Change to a subtype of 'int'.
-//   int? get field4 => 0;
-//            ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:52:7: Context: This is the overridden method ('field4').
-//   int field4;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:128:12: Error: The return type of the method 'Class2b.property2' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.property2'.
-// Change to a subtype of 'int'.
-//   int? get property2 => 0;
-//            ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:58:11: Context: This is the overridden method ('property2').
-//   int get property2 => 0;
-//           ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:134:8: Error: The return type of the method 'Class2b.property4' is 'int?', which does not match the return type, 'int', of the overridden method, 'LegacyClass.property4'.
-// Change to a subtype of 'int'.
-//   int? property4;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:66:11: Context: This is the overridden method ('property4').
-//   int get property4 => 0;
-//           ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'method4a' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:20:20: Context: The parameter 'a' of the method 'LegacyClass.method4a' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method4a'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method4a(int a, int b) => 0;
-//                    ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:20:8: Context: This is the overridden method ('method4a').
-//   int? method4a(int? a, int? b);
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: Class 'Class2a' inherits multiple members named 'method4a' with incompatible signatures.
-// Try adding a declaration of 'method4a' to 'Class2a'.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:20:7: Context: This is one of the inherited members.
-//   int method4a(int a, int b) => 0;
-//       ^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:20:8: Context: This is one of the inherited members.
-//   int? method4a(int? a, int? b);
-//        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'method4b' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:22:20: Context: The parameter 'a' of the method 'LegacyClass.method4b' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method4b'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method4b(int a, [int b]) => 0;
-//                    ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:22:8: Context: This is the overridden method ('method4b').
-//   int? method4b(int? a, [int? b]);
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: Class 'Class2a' inherits multiple members named 'method4b' with incompatible signatures.
-// Try adding a declaration of 'method4b' to 'Class2a'.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:22:7: Context: This is one of the inherited members.
-//   int method4b(int a, [int b]) => 0;
-//       ^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:22:8: Context: This is one of the inherited members.
-//   int? method4b(int? a, [int? b]);
-//        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'method4c' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:24:21: Context: The parameter 'a' of the method 'LegacyClass.method4c' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method4c'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method4c([int a, int b]) => 0;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:24:8: Context: This is the overridden method ('method4c').
-//   int? method4c([int? a, int? b]);
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: Class 'Class2a' inherits multiple members named 'method4c' with incompatible signatures.
-// Try adding a declaration of 'method4c' to 'Class2a'.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:24:7: Context: This is one of the inherited members.
-//   int method4c([int a, int b]) => 0;
-//       ^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:24:8: Context: This is one of the inherited members.
-//   int? method4c([int? a, int? b]);
-//        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'method6a' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:32:20: Context: The parameter 'a' of the method 'LegacyClass.method6a' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6a'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method6a(int a, {int b}) => 0;
-//                    ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:32:8: Context: This is the overridden method ('method6a').
-//   int? method6a(int? a, {int? b});
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: Class 'Class2a' inherits multiple members named 'method6a' with incompatible signatures.
-// Try adding a declaration of 'method6a' to 'Class2a'.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:32:7: Context: This is one of the inherited members.
-//   int method6a(int a, {int b}) => 0;
-//       ^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:32:8: Context: This is one of the inherited members.
-//   int? method6a(int? a, {int? b});
-//        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'method6b' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:34:21: Context: The parameter 'a' of the method 'LegacyClass.method6b' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6b'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method6b({int a, int b}) => 0;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:34:8: Context: This is the overridden method ('method6b').
-//   int? method6b({int? a, int? b});
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: Class 'Class2a' inherits multiple members named 'method6b' with incompatible signatures.
-// Try adding a declaration of 'method6b' to 'Class2a'.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:34:7: Context: This is one of the inherited members.
-//   int method6b({int a, int b}) => 0;
-//       ^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:34:8: Context: This is one of the inherited members.
-//   int? method6b({int? a, int? b});
-//        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'method6c' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:36:21: Context: The parameter 'a' of the method 'LegacyClass.method6c' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.method6c'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   int method6c({int a, int b}) => 0;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:36:8: Context: This is the overridden method ('method6c').
-//   int? method6c({required int? a, required int? b});
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: Class 'Class2a' inherits multiple members named 'method6c' with incompatible signatures.
-// Try adding a declaration of 'method6c' to 'Class2a'.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:36:7: Context: This is one of the inherited members.
-//   int method6c({int a, int b}) => 0;
-//       ^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:36:8: Context: This is one of the inherited members.
-//   int? method6c({required int? a, required int? b});
-//        ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'field2' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:48:7: Context: The field 'LegacyClass.field2' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.field2'.
-//   int field2;
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:48:8: Context: This is the overridden method ('field2').
-//   int? field2;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'field4' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:52:7: Context: The field 'LegacyClass.field4' has type 'int', which does not match the corresponding type, 'int?', in the overridden setter, 'Interface.field4'.
-//   int field4;
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:56:12: Context: This is the overridden method ('field4').
-//   void set field4(int? value);
-//            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'property2' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:60:26: Context: The parameter 'value' of the method 'LegacyClass.property2' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.property2'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   void set property2(int value) {}
-//                          ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:64:12: Context: This is the overridden method ('property2').
-//   void set property2(int? value);
-//            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'property4' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:68:26: Context: The parameter 'value' of the method 'LegacyClass.property4' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.property4'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   void set property4(int value) {}
-//                          ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:68:8: Context: This is the overridden method ('property4').
-//   int? property4;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:73:7: Error: The implementation of 'setter2' in the non-abstract class 'Class2a' does not conform to its interface.
-// class Class2a extends LegacyClass implements Interface {}
-//       ^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:44:24: Context: The parameter 'value' of the method 'LegacyClass.setter2' has type 'int', which does not match the corresponding type, 'int?', in the overridden method, 'Interface.setter2'.
-// Change to a supertype of 'int?', or, for a covariant parameter, a subtype.
-//   void set setter2(int value) {}
-//                        ^
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart:44:12: Context: This is the overridden method ('setter2').
-//   void set setter2(int? value);
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-import "member_inheritance_from_opt_out_lib.dart" as opt;
-
-import "org-dartlang-testcase:///member_inheritance_from_opt_out_lib.dart";
-
-abstract class Interface extends core::Object {
-  field core::int field1;
-  field core::int? field2;
-  field core::int property3;
-  field core::int? property4;
-  synthetic constructor •() → self::Interface
-    ;
-  abstract method method1() → core::int;
-  abstract method method2() → core::int?;
-  abstract method method3a(core::int a, core::int b) → core::int;
-  abstract method method3b(core::int a, [core::int b]) → core::int;
-  abstract method method3c([core::int a, core::int b]) → core::int;
-  abstract method method4a(core::int? a, core::int? b) → core::int?;
-  abstract method method4b(core::int? a, [core::int? b]) → core::int?;
-  abstract method method4c([core::int? a, core::int? b]) → core::int?;
-  abstract method method5a(core::int a, {core::int b = 0}) → core::int;
-  abstract method method5b({core::int a = 0, core::int b = 0}) → core::int;
-  abstract method method5c({required core::int a, required core::int b}) → core::int;
-  abstract method method6a(core::int? a, {core::int? b}) → core::int?;
-  abstract method method6b({core::int? a, core::int? b}) → core::int?;
-  abstract method method6c({required core::int? a, required core::int? b}) → core::int?;
-  abstract get getter1() → core::int;
-  abstract get getter2() → core::int?;
-  abstract set setter1(core::int value) → void;
-  abstract set setter2(core::int? value) → void;
-  abstract get field3() → core::int;
-  abstract set field3(core::int value) → void;
-  abstract get field4() → core::int?;
-  abstract set field4(core::int? value) → void;
-  abstract get property1() → core::int;
-  abstract set property1(core::int value) → void;
-  abstract get property2() → core::int?;
-  abstract set property2(core::int? value) → void;
-}
-class Class1 extends opt::LegacyClass {
-  synthetic constructor •() → self::Class1
-    ;
-}
-class Class2a extends opt::LegacyClass implements self::Interface {
-  synthetic constructor •() → self::Class2a
-    ;
-  abstract forwarding-stub set field2(core::int? _) → void;
-  abstract forwarding-stub set field4(core::int? value) → void;
-  abstract forwarding-stub set property2(core::int? value) → void;
-  abstract forwarding-stub set property4(core::int? _) → void;
-  abstract forwarding-stub set setter2(core::int? value) → void;
-}
-class Class2b extends opt::LegacyClass implements self::Interface {
-  field core::int field1;
-  field core::int? field2;
-  field core::int property3;
-  field core::int? property4;
-  synthetic constructor •() → self::Class2b
-    ;
-  method method1() → core::int
-    ;
-  method method2() → core::int?
-    ;
-  method method3a(core::int a, core::int b) → core::int
-    ;
-  method method3b(core::int a, [core::int b = 42]) → core::int
-    ;
-  method method3c([core::int a = 42, core::int b = 42]) → core::int
-    ;
-  method method4a(core::int? a, core::int? b) → core::int?
-    ;
-  method method4b(core::int? a, [core::int? b]) → core::int?
-    ;
-  method method4c([core::int? a, core::int? b]) → core::int?
-    ;
-  method method5a(core::int a, {core::int b = 0}) → core::int
-    ;
-  method method5b({core::int a = 0, core::int b = 0}) → core::int
-    ;
-  method method5c({required core::int a, required core::int b}) → core::int
-    ;
-  method method6a(core::int? a, {core::int? b}) → core::int?
-    ;
-  method method6b({core::int? a, core::int? b}) → core::int?
-    ;
-  method method6c({required core::int? a, required core::int? b}) → core::int?
-    ;
-  get getter1() → core::int
-    ;
-  get getter2() → core::int?
-    ;
-  set setter1(core::int value) → void
-    ;
-  set setter2(core::int? value) → void
-    ;
-  get field3() → core::int
-    ;
-  set field3(core::int value) → void
-    ;
-  get field4() → core::int?
-    ;
-  set field4(core::int? value) → void
-    ;
-  get property1() → core::int
-    ;
-  set property1(core::int value) → void
-    ;
-  get property2() → core::int?
-    ;
-  set property2(core::int? value) → void
-    ;
-}
-class Class3a extends opt::GenericLegacyClass<core::int> {
-  synthetic constructor •() → self::Class3a
-    ;
-}
-class Class3b extends opt::GenericLegacyClass<core::int?> {
-  synthetic constructor •() → self::Class3b
-    ;
-}
-class Class3c<S extends core::Object? = dynamic> extends opt::GenericLegacyClass<self::Class3c::S%> {
-  synthetic constructor •() → self::Class3c<self::Class3c::S%>
-    ;
-}
-static method main() → dynamic
-  ;
-
-library opt_out /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:16:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method3b(int a, [int b]) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:18:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method3c([int a, int b]) => 0;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:18:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method3c([int a, int b]) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:22:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method4b(int a, [int b]) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:24:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method4c([int a, int b]) => 0;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:24:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method4c([int a, int b]) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:26:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method5a(int a, {int b}) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:28:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method5b({int a, int b}) => 0;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:28:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method5b({int a, int b}) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:30:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method5c({int a, int b}) => 0;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:30:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method5c({int a, int b}) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:32:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method6a(int a, {int b}) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:34:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method6b({int a, int b}) => 0;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:34:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method6b({int a, int b}) => 0;
-//                            ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:36:21: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-//   int method6c({int a, int b}) => 0;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out_lib.dart:36:28: Error: Optional parameter 'b' should have a default value because its type 'int' doesn't allow null.
-//   int method6c({int a, int b}) => 0;
-//                            ^
-//
-import self as opt;
-import "dart:core" as core;
-
-class LegacyClass extends core::Object {
-  field core::int field1;
-  field core::int field2;
-  field core::int field3;
-  field core::int field4;
-  synthetic constructor •() → opt::LegacyClass
-    ;
-  method method1() → core::int
-    ;
-  method method2() → core::int
-    ;
-  method method3a(core::int a, core::int b) → core::int
-    ;
-  method method3b(core::int a, [core::int b]) → core::int
-    ;
-  method method3c([core::int a, core::int b]) → core::int
-    ;
-  method method4a(core::int a, core::int b) → core::int
-    ;
-  method method4b(core::int a, [core::int b]) → core::int
-    ;
-  method method4c([core::int a, core::int b]) → core::int
-    ;
-  method method5a(core::int a, {core::int b}) → core::int
-    ;
-  method method5b({core::int a, core::int b}) → core::int
-    ;
-  method method5c({core::int a, core::int b}) → core::int
-    ;
-  method method6a(core::int a, {core::int b}) → core::int
-    ;
-  method method6b({core::int a, core::int b}) → core::int
-    ;
-  method method6c({core::int a, core::int b}) → core::int
-    ;
-  get getter1() → core::int
-    ;
-  get getter2() → core::int
-    ;
-  set setter1(core::int value) → void
-    ;
-  set setter2(core::int value) → void
-    ;
-  get property1() → core::int
-    ;
-  set property1(core::int value) → void
-    ;
-  get property2() → core::int
-    ;
-  set property2(core::int value) → void
-    ;
-  get property3() → core::int
-    ;
-  set property3(core::int value) → void
-    ;
-  get property4() → core::int
-    ;
-  set property4(core::int value) → void
-    ;
-}
-class GenericLegacyClass<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → opt::GenericLegacyClass<opt::GenericLegacyClass::T%>
-    ;
-  method method1() → opt::GenericLegacyClass::T%
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..01c1893
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/member_inheritance_from_opt_out.dart.weak.outline.expect
@@ -0,0 +1,264 @@
+library main /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "member_inheritance_from_opt_out_lib.dart" as opt;
+
+import "org-dartlang-testcase:///member_inheritance_from_opt_out_lib.dart";
+
+abstract class Interface extends core::Object {
+  field core::int field1;
+  field core::int? field2;
+  field core::int property3;
+  field core::int? property4;
+  synthetic constructor •() → self::Interface
+    ;
+  abstract method method1() → core::int;
+  abstract method method2() → core::int?;
+  abstract method method3a(core::int a, core::int b) → core::int;
+  abstract method method3b(core::int a, [core::int b]) → core::int;
+  abstract method method3c([core::int a, core::int b]) → core::int;
+  abstract method method4a(core::int? a, core::int? b) → core::int?;
+  abstract method method4b(core::int? a, [core::int? b]) → core::int?;
+  abstract method method4c([core::int? a, core::int? b]) → core::int?;
+  abstract method method5a(core::int a, {core::int b = 0}) → core::int;
+  abstract method method5b({core::int a = 0, core::int b = 0}) → core::int;
+  abstract method method5c({required core::int a, required core::int b}) → core::int;
+  abstract method method6a(core::int? a, {core::int? b}) → core::int?;
+  abstract method method6b({core::int? a, core::int? b}) → core::int?;
+  abstract method method6c({required core::int? a, required core::int? b}) → core::int?;
+  abstract get getter1() → core::int;
+  abstract get getter2() → core::int?;
+  abstract set setter1(core::int value) → void;
+  abstract set setter2(core::int? value) → void;
+  abstract get field3() → core::int;
+  abstract set field3(core::int value) → void;
+  abstract get field4() → core::int?;
+  abstract set field4(core::int? value) → void;
+  abstract get property1() → core::int;
+  abstract set property1(core::int value) → void;
+  abstract get property2() → core::int?;
+  abstract set property2(core::int? value) → void;
+}
+class Class1 extends opt::LegacyClass {
+  synthetic constructor •() → self::Class1
+    ;
+}
+class Class2a extends opt::LegacyClass implements self::Interface {
+  synthetic constructor •() → self::Class2a
+    ;
+  abstract member-signature get field1() → core::int; -> opt::LegacyClass::field1
+  abstract member-signature set field1(core::int value) → void; -> opt::LegacyClass::field1
+  abstract member-signature get field2() → core::int?; -> opt::LegacyClass::field2
+  abstract member-signature set field2(core::int? value) → void; -> opt::LegacyClass::field2
+  abstract member-signature get field3() → core::int; -> opt::LegacyClass::field3
+  abstract member-signature set field3(core::int value) → void; -> opt::LegacyClass::field3
+  abstract member-signature get field4() → core::int?; -> opt::LegacyClass::field4
+  abstract member-signature set field4(core::int? value) → void; -> opt::LegacyClass::field4
+  abstract member-signature get property1() → core::int; -> opt::LegacyClass::property1
+  abstract member-signature set property1(core::int value) → void; -> opt::LegacyClass::property1
+  abstract member-signature get property2() → core::int?; -> opt::LegacyClass::property2
+  abstract member-signature set property2(core::int? value) → void; -> opt::LegacyClass::property2
+  abstract member-signature get property3() → core::int; -> opt::LegacyClass::property3
+  abstract member-signature set property3(core::int value) → void; -> opt::LegacyClass::property3
+  abstract member-signature get property4() → core::int?; -> opt::LegacyClass::property4
+  abstract member-signature set property4(core::int? value) → void; -> opt::LegacyClass::property4
+  abstract member-signature method method1() → core::int; -> opt::LegacyClass::method1
+  abstract member-signature method method2() → core::int?; -> opt::LegacyClass::method2
+  abstract member-signature method method3a(core::int a, core::int b) → core::int; -> opt::LegacyClass::method3a
+  abstract member-signature method method3b(core::int a, [core::int b]) → core::int; -> opt::LegacyClass::method3b
+  abstract member-signature method method3c([core::int a, core::int b]) → core::int; -> opt::LegacyClass::method3c
+  abstract member-signature method method4a(core::int? a, core::int? b) → core::int?; -> opt::LegacyClass::method4a
+  abstract member-signature method method4b(core::int? a, [core::int? b]) → core::int?; -> opt::LegacyClass::method4b
+  abstract member-signature method method4c([core::int? a, core::int? b]) → core::int?; -> opt::LegacyClass::method4c
+  abstract member-signature method method5a(core::int a, {core::int b}) → core::int; -> opt::LegacyClass::method5a
+  abstract member-signature method method5b({core::int a, core::int b}) → core::int; -> opt::LegacyClass::method5b
+  abstract member-signature method method6a(core::int? a, {core::int? b}) → core::int?; -> opt::LegacyClass::method6a
+  abstract member-signature method method6b({core::int? a, core::int? b}) → core::int?; -> opt::LegacyClass::method6b
+  abstract member-signature get getter1() → core::int; -> opt::LegacyClass::getter1
+  abstract member-signature get getter2() → core::int?; -> opt::LegacyClass::getter2
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+  abstract member-signature set setter1(core::int value) → void; -> opt::LegacyClass::setter1
+  abstract member-signature set setter2(core::int? value) → void; -> opt::LegacyClass::setter2
+}
+class Class2b extends opt::LegacyClass implements self::Interface {
+  field core::int field1;
+  field core::int? field2;
+  field core::int property3;
+  field core::int? property4;
+  synthetic constructor •() → self::Class2b
+    ;
+  method method1() → core::int
+    ;
+  method method2() → core::int?
+    ;
+  method method3a(core::int a, core::int b) → core::int
+    ;
+  method method3b(core::int a, [core::int b = 42]) → core::int
+    ;
+  method method3c([core::int a = 42, core::int b = 42]) → core::int
+    ;
+  method method4a(core::int? a, core::int? b) → core::int?
+    ;
+  method method4b(core::int? a, [core::int? b]) → core::int?
+    ;
+  method method4c([core::int? a, core::int? b]) → core::int?
+    ;
+  method method5a(core::int a, {core::int b = 0}) → core::int
+    ;
+  method method5b({core::int a = 0, core::int b = 0}) → core::int
+    ;
+  method method5c({required core::int a, required core::int b}) → core::int
+    ;
+  method method6a(core::int? a, {core::int? b}) → core::int?
+    ;
+  method method6b({core::int? a, core::int? b}) → core::int?
+    ;
+  method method6c({required core::int? a, required core::int? b}) → core::int?
+    ;
+  get getter1() → core::int
+    ;
+  get getter2() → core::int?
+    ;
+  set setter1(core::int value) → void
+    ;
+  set setter2(core::int? value) → void
+    ;
+  get field3() → core::int
+    ;
+  set field3(core::int value) → void
+    ;
+  get field4() → core::int?
+    ;
+  set field4(core::int? value) → void
+    ;
+  get property1() → core::int
+    ;
+  set property1(core::int value) → void
+    ;
+  get property2() → core::int?
+    ;
+  set property2(core::int? value) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+class Class3a extends opt::GenericLegacyClass<core::int> {
+  synthetic constructor •() → self::Class3a
+    ;
+}
+class Class3b extends opt::GenericLegacyClass<core::int?> {
+  synthetic constructor •() → self::Class3b
+    ;
+}
+class Class3c<S extends core::Object? = dynamic> extends opt::GenericLegacyClass<self::Class3c::S%> {
+  synthetic constructor •() → self::Class3c<self::Class3c::S%>
+    ;
+}
+static method main() → dynamic
+  ;
+
+library opt_out;
+import self as opt;
+import "dart:core" as core;
+
+class LegacyClass extends core::Object {
+  field core::int* field1;
+  field core::int* field2;
+  field core::int* field3;
+  field core::int* field4;
+  synthetic constructor •() → opt::LegacyClass*
+    ;
+  method method1() → core::int*
+    ;
+  method method2() → core::int*
+    ;
+  method method3a(core::int* a, core::int* b) → core::int*
+    ;
+  method method3b(core::int* a, [core::int* b]) → core::int*
+    ;
+  method method3c([core::int* a, core::int* b]) → core::int*
+    ;
+  method method4a(core::int* a, core::int* b) → core::int*
+    ;
+  method method4b(core::int* a, [core::int* b]) → core::int*
+    ;
+  method method4c([core::int* a, core::int* b]) → core::int*
+    ;
+  method method5a(core::int* a, {core::int* b}) → core::int*
+    ;
+  method method5b({core::int* a, core::int* b}) → core::int*
+    ;
+  method method5c({core::int* a, core::int* b}) → core::int*
+    ;
+  method method6a(core::int* a, {core::int* b}) → core::int*
+    ;
+  method method6b({core::int* a, core::int* b}) → core::int*
+    ;
+  method method6c({core::int* a, core::int* b}) → core::int*
+    ;
+  get getter1() → core::int*
+    ;
+  get getter2() → core::int*
+    ;
+  set setter1(core::int* value) → void
+    ;
+  set setter2(core::int* value) → void
+    ;
+  get property1() → core::int*
+    ;
+  set property1(core::int* value) → void
+    ;
+  get property2() → core::int*
+    ;
+  set property2(core::int* value) → void
+    ;
+  get property3() → core::int*
+    ;
+  set property3(core::int* value) → void
+    ;
+  get property4() → core::int*
+    ;
+  set property4(core::int* value) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class GenericLegacyClass<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → opt::GenericLegacyClass<opt::GenericLegacyClass::T*>*
+    ;
+  method method1() → opt::GenericLegacyClass::T*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart.outline.expect
deleted file mode 100644
index 2f54d4c..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart.outline.expect
+++ /dev/null
@@ -1,176 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:17:6: Error: The return type of the method 'SubInIn.nullableBad' is 'T?', which does not match the return type, 'int?', of the overridden method, 'SuperIn.nullableBad'.
-// Change to a subtype of 'int?'.
-//   T? nullableBad<T>(T t) => null;
-//      ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:10:8: Context: This is the overridden method ('nullableBad').
-//   int? nullableBad<T>(T t) => 1;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:18:5: Error: The return type of the method 'SubInIn.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nonNullableBad'.
-// Change to a subtype of 'int'.
-//   T nonNullableBad<T>(T t) => t;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:11:7: Context: This is the overridden method ('nonNullableBad').
-//   int nonNullableBad<T>(T t) => 2;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:22:11: Error: The return type of the method 'SubOutIn.nullableSame' is 'String?', which does not match the return type, 'String', of the overridden method, 'SuperOut.nullableSame'.
-// Change to a subtype of 'String'.
-//   String? nullableSame() => "foo";
-//           ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:10:10: Context: This is the overridden method ('nullableSame').
-//   String nullableSame() => "foo";
-//          ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:24:6: Error: The return type of the method 'SubOutIn.nullableBad' is 'T?', which does not match the return type, 'int', of the overridden method, 'SuperOut.nullableBad'.
-// Change to a subtype of 'int'.
-//   T? nullableBad<T>(T t) => null;
-//      ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:12:7: Context: This is the overridden method ('nullableBad').
-//   int nullableBad<T>(T t) => 1;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:25:5: Error: The return type of the method 'SubOutIn.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nonNullableBad'.
-// Change to a subtype of 'int'.
-//   T nonNullableBad<T>(T t) => t;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:13:7: Context: This is the overridden method ('nonNullableBad').
-//   int nonNullableBad<T>(T t) => 2;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-import "messages_with_types_opt_out.dart" as mes;
-
-import "org-dartlang-testcase:///messages_with_types_opt_out.dart";
-
-class SuperIn extends core::Object {
-  synthetic constructor •() → self::SuperIn
-    ;
-  method nullableSame() → core::String?
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(self::SuperIn::nullableBad::T% t) → core::int?
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(self::SuperIn::nonNullableBad::T% t) → core::int
-    ;
-}
-class SubInIn extends self::SuperIn {
-  synthetic constructor •() → self::SubInIn
-    ;
-  method nullableSame() → core::String?
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(self::SubInIn::nullableBad::T% t) → self::SubInIn::nullableBad::T?
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(self::SubInIn::nonNullableBad::T% t) → self::SubInIn::nonNullableBad::T%
-    ;
-}
-class SubOutIn extends mes::SuperOut {
-  synthetic constructor •() → self::SubOutIn
-    ;
-  method nullableSame() → core::String?
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(self::SubOutIn::nullableBad::T% t) → self::SubOutIn::nullableBad::T?
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(self::SubOutIn::nonNullableBad::T% t) → self::SubOutIn::nonNullableBad::T%
-    ;
-}
-static field () →? core::int nullableVar;
-static field core::double nonNullableVar;
-static method testOptIn() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:19:5: Error: The return type of the method 'SubOutOut.nullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nullableBad'.
-// Change to a subtype of 'int'.
-//   T nullableBad<T>(T t) => null;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:12:7: Context: This is the overridden method ('nullableBad').
-//   int nullableBad<T>(T t) => 1;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:20:5: Error: The return type of the method 'SubOutOut.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nonNullableBad'.
-// Change to a subtype of 'int'.
-//   T nonNullableBad<T>(T t) => t;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:13:7: Context: This is the overridden method ('nonNullableBad').
-//   int nonNullableBad<T>(T t) => 2;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:26:5: Error: The return type of the method 'SubInOut.nullableBad' is 'T', which does not match the return type, 'int?', of the overridden method, 'SuperIn.nullableBad'.
-// Change to a subtype of 'int?'.
-//   T nullableBad<T>(T t) => null;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:10:8: Context: This is the overridden method ('nullableBad').
-//   int? nullableBad<T>(T t) => 1;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:27:5: Error: The return type of the method 'SubInOut.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nonNullableBad'.
-// Change to a subtype of 'int'.
-//   T nonNullableBad<T>(T t) => t;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:11:7: Context: This is the overridden method ('nonNullableBad').
-//   int nonNullableBad<T>(T t) => 2;
-//       ^
-//
-import self as mes;
-import "dart:core" as core;
-import "messages_with_types_opt_in.dart" as self;
-
-import "org-dartlang-testcase:///messages_with_types_opt_in.dart";
-
-class SuperOut extends core::Object {
-  synthetic constructor •() → mes::SuperOut
-    ;
-  method nullableSame() → core::String
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(mes::SuperOut::nullableBad::T% t) → core::int
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(mes::SuperOut::nonNullableBad::T% t) → core::int
-    ;
-}
-class SubOutOut extends mes::SuperOut {
-  synthetic constructor •() → mes::SubOutOut
-    ;
-  method nullableSame() → core::String
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(mes::SubOutOut::nullableBad::T% t) → mes::SubOutOut::nullableBad::T%
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(mes::SubOutOut::nonNullableBad::T% t) → mes::SubOutOut::nonNullableBad::T%
-    ;
-}
-class SubInOut extends self::SuperIn {
-  synthetic constructor •() → mes::SubInOut
-    ;
-  method nullableSame() → core::String
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(mes::SubInOut::nullableBad::T% t) → mes::SubInOut::nullableBad::T%
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(mes::SubInOut::nonNullableBad::T% t) → mes::SubInOut::nonNullableBad::T%
-    ;
-}
-static field core::String legacyVar;
-static method testOptOut() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..f27bdbb
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart.weak.outline.expect
@@ -0,0 +1,184 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:17:6: Error: The return type of the method 'SubInIn.nullableBad' is 'T?', which does not match the return type, 'int?', of the overridden method, 'SuperIn.nullableBad'.
+// Change to a subtype of 'int?'.
+//   T? nullableBad<T>(T t) => null;
+//      ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:10:8: Context: This is the overridden method ('nullableBad').
+//   int? nullableBad<T>(T t) => 1;
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:18:5: Error: The return type of the method 'SubInIn.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nonNullableBad'.
+// Change to a subtype of 'int'.
+//   T nonNullableBad<T>(T t) => t;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:11:7: Context: This is the overridden method ('nonNullableBad').
+//   int nonNullableBad<T>(T t) => 2;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:24:6: Error: The return type of the method 'SubOutIn.nullableBad' is 'T?', which does not match the return type, 'int', of the overridden method, 'SuperOut.nullableBad'.
+// Change to a subtype of 'int'.
+//   T? nullableBad<T>(T t) => null;
+//      ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:12:7: Context: This is the overridden method ('nullableBad').
+//   int nullableBad<T>(T t) => 1;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:25:5: Error: The return type of the method 'SubOutIn.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nonNullableBad'.
+// Change to a subtype of 'int'.
+//   T nonNullableBad<T>(T t) => t;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:13:7: Context: This is the overridden method ('nonNullableBad').
+//   int nonNullableBad<T>(T t) => 2;
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+import "messages_with_types_opt_out.dart" as mes;
+
+import "org-dartlang-testcase:///messages_with_types_opt_out.dart";
+
+class SuperIn extends core::Object {
+  synthetic constructor •() → self::SuperIn
+    ;
+  method nullableSame() → core::String?
+    ;
+  method nonNullableSame() → core::String
+    ;
+  method nullableBad<T extends core::Object? = dynamic>(self::SuperIn::nullableBad::T% t) → core::int?
+    ;
+  method nonNullableBad<T extends core::Object? = dynamic>(self::SuperIn::nonNullableBad::T% t) → core::int
+    ;
+}
+class SubInIn extends self::SuperIn {
+  synthetic constructor •() → self::SubInIn
+    ;
+  method nullableSame() → core::String?
+    ;
+  method nonNullableSame() → core::String
+    ;
+  method nullableBad<T extends core::Object? = dynamic>(self::SubInIn::nullableBad::T% t) → self::SubInIn::nullableBad::T?
+    ;
+  method nonNullableBad<T extends core::Object? = dynamic>(self::SubInIn::nonNullableBad::T% t) → self::SubInIn::nonNullableBad::T%
+    ;
+}
+class SubOutIn extends mes::SuperOut {
+  synthetic constructor •() → self::SubOutIn
+    ;
+  method nullableSame() → core::String?
+    ;
+  method nonNullableSame() → core::String
+    ;
+  method nullableBad<T extends core::Object? = dynamic>(self::SubOutIn::nullableBad::T% t) → self::SubOutIn::nullableBad::T?
+    ;
+  method nonNullableBad<T extends core::Object? = dynamic>(self::SubOutIn::nonNullableBad::T% t) → self::SubOutIn::nonNullableBad::T%
+    ;
+}
+static field () →? core::int nullableVar;
+static field core::double nonNullableVar;
+static method testOptIn() → dynamic
+  ;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:19:5: Error: The return type of the method 'SubOutOut.nullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nullableBad'.
+// Change to a subtype of 'int'.
+//   T nullableBad<T>(T t) => null;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:12:7: Context: This is the overridden method ('nullableBad').
+//   int nullableBad<T>(T t) => 1;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:20:5: Error: The return type of the method 'SubOutOut.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nonNullableBad'.
+// Change to a subtype of 'int'.
+//   T nonNullableBad<T>(T t) => t;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:13:7: Context: This is the overridden method ('nonNullableBad').
+//   int nonNullableBad<T>(T t) => 2;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:26:5: Error: The return type of the method 'SubInOut.nullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nullableBad'.
+// Change to a subtype of 'int'.
+//   T nullableBad<T>(T t) => null;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:10:8: Context: This is the overridden method ('nullableBad').
+//   int? nullableBad<T>(T t) => 1;
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:27:5: Error: The return type of the method 'SubInOut.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nonNullableBad'.
+// Change to a subtype of 'int'.
+//   T nonNullableBad<T>(T t) => t;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:11:7: Context: This is the overridden method ('nonNullableBad').
+//   int nonNullableBad<T>(T t) => 2;
+//       ^
+//
+import self as mes;
+import "dart:core" as core;
+import "messages_with_types_opt_in.dart" as self;
+
+import "org-dartlang-testcase:///messages_with_types_opt_in.dart";
+
+class SuperOut extends core::Object {
+  synthetic constructor •() → mes::SuperOut*
+    ;
+  method nullableSame() → core::String*
+    ;
+  method nonNullableSame() → core::String*
+    ;
+  method nullableBad<T extends core::Object* = dynamic>(mes::SuperOut::nullableBad::T* t) → core::int*
+    ;
+  method nonNullableBad<T extends core::Object* = dynamic>(mes::SuperOut::nonNullableBad::T* t) → core::int*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class SubOutOut extends mes::SuperOut {
+  synthetic constructor •() → mes::SubOutOut*
+    ;
+  method nullableSame() → core::String*
+    ;
+  method nonNullableSame() → core::String*
+    ;
+  method nullableBad<T extends core::Object* = dynamic>(mes::SubOutOut::nullableBad::T* t) → mes::SubOutOut::nullableBad::T*
+    ;
+  method nonNullableBad<T extends core::Object* = dynamic>(mes::SubOutOut::nonNullableBad::T* t) → mes::SubOutOut::nonNullableBad::T*
+    ;
+}
+class SubInOut extends self::SuperIn {
+  synthetic constructor •() → mes::SubInOut*
+    ;
+  method nullableSame() → core::String*
+    ;
+  method nonNullableSame() → core::String*
+    ;
+  method nullableBad<T extends core::Object* = dynamic>(mes::SubInOut::nullableBad::T* t) → mes::SubInOut::nullableBad::T*
+    ;
+  method nonNullableBad<T extends core::Object* = dynamic>(mes::SubInOut::nonNullableBad::T* t) → mes::SubInOut::nonNullableBad::T*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field core::String* legacyVar;
+static method testOptOut() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart.outline.expect
deleted file mode 100644
index 0bbe3b7..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,176 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:19:5: Error: The return type of the method 'SubOutOut.nullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nullableBad'.
-// Change to a subtype of 'int'.
-//   T nullableBad<T>(T t) => null;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:12:7: Context: This is the overridden method ('nullableBad').
-//   int nullableBad<T>(T t) => 1;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:20:5: Error: The return type of the method 'SubOutOut.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nonNullableBad'.
-// Change to a subtype of 'int'.
-//   T nonNullableBad<T>(T t) => t;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:13:7: Context: This is the overridden method ('nonNullableBad').
-//   int nonNullableBad<T>(T t) => 2;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:26:5: Error: The return type of the method 'SubInOut.nullableBad' is 'T', which does not match the return type, 'int?', of the overridden method, 'SuperIn.nullableBad'.
-// Change to a subtype of 'int?'.
-//   T nullableBad<T>(T t) => null;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:10:8: Context: This is the overridden method ('nullableBad').
-//   int? nullableBad<T>(T t) => 1;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:27:5: Error: The return type of the method 'SubInOut.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nonNullableBad'.
-// Change to a subtype of 'int'.
-//   T nonNullableBad<T>(T t) => t;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:11:7: Context: This is the overridden method ('nonNullableBad').
-//   int nonNullableBad<T>(T t) => 2;
-//       ^
-//
-import self as self;
-import "dart:core" as core;
-import "messages_with_types_opt_in.dart" as mes;
-
-import "org-dartlang-testcase:///messages_with_types_opt_in.dart";
-
-class SuperOut extends core::Object {
-  synthetic constructor •() → self::SuperOut
-    ;
-  method nullableSame() → core::String
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(self::SuperOut::nullableBad::T% t) → core::int
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(self::SuperOut::nonNullableBad::T% t) → core::int
-    ;
-}
-class SubOutOut extends self::SuperOut {
-  synthetic constructor •() → self::SubOutOut
-    ;
-  method nullableSame() → core::String
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(self::SubOutOut::nullableBad::T% t) → self::SubOutOut::nullableBad::T%
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(self::SubOutOut::nonNullableBad::T% t) → self::SubOutOut::nonNullableBad::T%
-    ;
-}
-class SubInOut extends mes::SuperIn {
-  synthetic constructor •() → self::SubInOut
-    ;
-  method nullableSame() → core::String
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(self::SubInOut::nullableBad::T% t) → self::SubInOut::nullableBad::T%
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(self::SubInOut::nonNullableBad::T% t) → self::SubInOut::nonNullableBad::T%
-    ;
-}
-static field core::String legacyVar;
-static method testOptOut() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:17:6: Error: The return type of the method 'SubInIn.nullableBad' is 'T?', which does not match the return type, 'int?', of the overridden method, 'SuperIn.nullableBad'.
-// Change to a subtype of 'int?'.
-//   T? nullableBad<T>(T t) => null;
-//      ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:10:8: Context: This is the overridden method ('nullableBad').
-//   int? nullableBad<T>(T t) => 1;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:18:5: Error: The return type of the method 'SubInIn.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nonNullableBad'.
-// Change to a subtype of 'int'.
-//   T nonNullableBad<T>(T t) => t;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:11:7: Context: This is the overridden method ('nonNullableBad').
-//   int nonNullableBad<T>(T t) => 2;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:22:11: Error: The return type of the method 'SubOutIn.nullableSame' is 'String?', which does not match the return type, 'String', of the overridden method, 'SuperOut.nullableSame'.
-// Change to a subtype of 'String'.
-//   String? nullableSame() => "foo";
-//           ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:10:10: Context: This is the overridden method ('nullableSame').
-//   String nullableSame() => "foo";
-//          ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:24:6: Error: The return type of the method 'SubOutIn.nullableBad' is 'T?', which does not match the return type, 'int', of the overridden method, 'SuperOut.nullableBad'.
-// Change to a subtype of 'int'.
-//   T? nullableBad<T>(T t) => null;
-//      ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:12:7: Context: This is the overridden method ('nullableBad').
-//   int nullableBad<T>(T t) => 1;
-//       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:25:5: Error: The return type of the method 'SubOutIn.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nonNullableBad'.
-// Change to a subtype of 'int'.
-//   T nonNullableBad<T>(T t) => t;
-//     ^
-// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:13:7: Context: This is the overridden method ('nonNullableBad').
-//   int nonNullableBad<T>(T t) => 2;
-//       ^
-//
-import self as mes;
-import "dart:core" as core;
-import "messages_with_types_opt_out.dart" as self;
-
-import "org-dartlang-testcase:///messages_with_types_opt_out.dart";
-
-class SuperIn extends core::Object {
-  synthetic constructor •() → mes::SuperIn
-    ;
-  method nullableSame() → core::String?
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(mes::SuperIn::nullableBad::T% t) → core::int?
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(mes::SuperIn::nonNullableBad::T% t) → core::int
-    ;
-}
-class SubInIn extends mes::SuperIn {
-  synthetic constructor •() → mes::SubInIn
-    ;
-  method nullableSame() → core::String?
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(mes::SubInIn::nullableBad::T% t) → mes::SubInIn::nullableBad::T?
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(mes::SubInIn::nonNullableBad::T% t) → mes::SubInIn::nonNullableBad::T%
-    ;
-}
-class SubOutIn extends self::SuperOut {
-  synthetic constructor •() → mes::SubOutIn
-    ;
-  method nullableSame() → core::String?
-    ;
-  method nonNullableSame() → core::String
-    ;
-  method nullableBad<T extends core::Object? = dynamic>(mes::SubOutIn::nullableBad::T% t) → mes::SubOutIn::nullableBad::T?
-    ;
-  method nonNullableBad<T extends core::Object? = dynamic>(mes::SubOutIn::nonNullableBad::T% t) → mes::SubOutIn::nonNullableBad::T%
-    ;
-}
-static field () →? core::int nullableVar;
-static field core::double nonNullableVar;
-static method testOptIn() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..01022ea
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart.weak.outline.expect
@@ -0,0 +1,184 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:19:5: Error: The return type of the method 'SubOutOut.nullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nullableBad'.
+// Change to a subtype of 'int'.
+//   T nullableBad<T>(T t) => null;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:12:7: Context: This is the overridden method ('nullableBad').
+//   int nullableBad<T>(T t) => 1;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:20:5: Error: The return type of the method 'SubOutOut.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nonNullableBad'.
+// Change to a subtype of 'int'.
+//   T nonNullableBad<T>(T t) => t;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:13:7: Context: This is the overridden method ('nonNullableBad').
+//   int nonNullableBad<T>(T t) => 2;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:26:5: Error: The return type of the method 'SubInOut.nullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nullableBad'.
+// Change to a subtype of 'int'.
+//   T nullableBad<T>(T t) => null;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:10:8: Context: This is the overridden method ('nullableBad').
+//   int? nullableBad<T>(T t) => 1;
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:27:5: Error: The return type of the method 'SubInOut.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nonNullableBad'.
+// Change to a subtype of 'int'.
+//   T nonNullableBad<T>(T t) => t;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:11:7: Context: This is the overridden method ('nonNullableBad').
+//   int nonNullableBad<T>(T t) => 2;
+//       ^
+//
+import self as self;
+import "dart:core" as core;
+import "messages_with_types_opt_in.dart" as mes;
+
+import "org-dartlang-testcase:///messages_with_types_opt_in.dart";
+
+class SuperOut extends core::Object {
+  synthetic constructor •() → self::SuperOut*
+    ;
+  method nullableSame() → core::String*
+    ;
+  method nonNullableSame() → core::String*
+    ;
+  method nullableBad<T extends core::Object* = dynamic>(self::SuperOut::nullableBad::T* t) → core::int*
+    ;
+  method nonNullableBad<T extends core::Object* = dynamic>(self::SuperOut::nonNullableBad::T* t) → core::int*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class SubOutOut extends self::SuperOut {
+  synthetic constructor •() → self::SubOutOut*
+    ;
+  method nullableSame() → core::String*
+    ;
+  method nonNullableSame() → core::String*
+    ;
+  method nullableBad<T extends core::Object* = dynamic>(self::SubOutOut::nullableBad::T* t) → self::SubOutOut::nullableBad::T*
+    ;
+  method nonNullableBad<T extends core::Object* = dynamic>(self::SubOutOut::nonNullableBad::T* t) → self::SubOutOut::nonNullableBad::T*
+    ;
+}
+class SubInOut extends mes::SuperIn {
+  synthetic constructor •() → self::SubInOut*
+    ;
+  method nullableSame() → core::String*
+    ;
+  method nonNullableSame() → core::String*
+    ;
+  method nullableBad<T extends core::Object* = dynamic>(self::SubInOut::nullableBad::T* t) → self::SubInOut::nullableBad::T*
+    ;
+  method nonNullableBad<T extends core::Object* = dynamic>(self::SubInOut::nonNullableBad::T* t) → self::SubInOut::nonNullableBad::T*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field core::String* legacyVar;
+static method testOptOut() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:17:6: Error: The return type of the method 'SubInIn.nullableBad' is 'T?', which does not match the return type, 'int?', of the overridden method, 'SuperIn.nullableBad'.
+// Change to a subtype of 'int?'.
+//   T? nullableBad<T>(T t) => null;
+//      ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:10:8: Context: This is the overridden method ('nullableBad').
+//   int? nullableBad<T>(T t) => 1;
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:18:5: Error: The return type of the method 'SubInIn.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperIn.nonNullableBad'.
+// Change to a subtype of 'int'.
+//   T nonNullableBad<T>(T t) => t;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:11:7: Context: This is the overridden method ('nonNullableBad').
+//   int nonNullableBad<T>(T t) => 2;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:24:6: Error: The return type of the method 'SubOutIn.nullableBad' is 'T?', which does not match the return type, 'int', of the overridden method, 'SuperOut.nullableBad'.
+// Change to a subtype of 'int'.
+//   T? nullableBad<T>(T t) => null;
+//      ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:12:7: Context: This is the overridden method ('nullableBad').
+//   int nullableBad<T>(T t) => 1;
+//       ^
+//
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_in.dart:25:5: Error: The return type of the method 'SubOutIn.nonNullableBad' is 'T', which does not match the return type, 'int', of the overridden method, 'SuperOut.nonNullableBad'.
+// Change to a subtype of 'int'.
+//   T nonNullableBad<T>(T t) => t;
+//     ^
+// pkg/front_end/testcases/nnbd_mixed/messages_with_types_opt_out.dart:13:7: Context: This is the overridden method ('nonNullableBad').
+//   int nonNullableBad<T>(T t) => 2;
+//       ^
+//
+import self as mes;
+import "dart:core" as core;
+import "messages_with_types_opt_out.dart" as self;
+
+import "org-dartlang-testcase:///messages_with_types_opt_out.dart";
+
+class SuperIn extends core::Object {
+  synthetic constructor •() → mes::SuperIn
+    ;
+  method nullableSame() → core::String?
+    ;
+  method nonNullableSame() → core::String
+    ;
+  method nullableBad<T extends core::Object? = dynamic>(mes::SuperIn::nullableBad::T% t) → core::int?
+    ;
+  method nonNullableBad<T extends core::Object? = dynamic>(mes::SuperIn::nonNullableBad::T% t) → core::int
+    ;
+}
+class SubInIn extends mes::SuperIn {
+  synthetic constructor •() → mes::SubInIn
+    ;
+  method nullableSame() → core::String?
+    ;
+  method nonNullableSame() → core::String
+    ;
+  method nullableBad<T extends core::Object? = dynamic>(mes::SubInIn::nullableBad::T% t) → mes::SubInIn::nullableBad::T?
+    ;
+  method nonNullableBad<T extends core::Object? = dynamic>(mes::SubInIn::nonNullableBad::T% t) → mes::SubInIn::nonNullableBad::T%
+    ;
+}
+class SubOutIn extends self::SuperOut {
+  synthetic constructor •() → mes::SubOutIn
+    ;
+  method nullableSame() → core::String?
+    ;
+  method nonNullableSame() → core::String
+    ;
+  method nullableBad<T extends core::Object? = dynamic>(mes::SubOutIn::nullableBad::T% t) → mes::SubOutIn::nullableBad::T?
+    ;
+  method nonNullableBad<T extends core::Object? = dynamic>(mes::SubOutIn::nonNullableBad::T% t) → mes::SubOutIn::nonNullableBad::T%
+    ;
+}
+static field () →? core::int nullableVar;
+static field core::double nonNullableVar;
+static method testOptIn() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixed_mixin.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixed_mixin.dart.weak.outline.expect
new file mode 100644
index 0000000..5d7b64c
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/mixed_mixin.dart.weak.outline.expect
@@ -0,0 +1,78 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "mixed_mixin_lib.dart" as mix;
+
+import "org-dartlang-testcase:///mixed_mixin_lib.dart";
+
+abstract class _C1&Object&B = core::Object with mix::B /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_C1&Object&B*
+    : super core::Object::•()
+    ;
+  mixin-super-stub get a() → core::List<(core::int*) →* core::int*>*
+    return super.{mix::B::a};
+  mixin-super-stub set a(core::List<(core::int*) →* core::int*>* _) → void
+    return super.{mix::B::a} = _;
+  mixin-super-stub method m((core::int*) →* core::int* x) → (core::int*) →* core::int*
+    return super.{mix::B::m}(x);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C1 extends self::_C1&Object&B {
+  synthetic constructor •() → self::C1*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as mix;
+import "dart:core" as core;
+import "mixed_mixin.dart" as self;
+
+import "org-dartlang-testcase:///mixed_mixin.dart";
+
+class B extends core::Object {
+  synthetic constructor •() → mix::B
+    ;
+  get a() → core::List<(core::int) → core::int>
+    ;
+  set a(core::List<(core::int) → core::int> _) → void
+    ;
+  method m((core::int) → core::int x) → (core::int) → core::int
+    ;
+}
+class Bq extends core::Object {
+  synthetic constructor •() → mix::Bq
+    ;
+  get a() → core::List<(core::int?) → core::int?>
+    ;
+  set a(core::List<(core::int?) → core::int?> _) → void
+    ;
+  method m((core::int?) → core::int? x) → (core::int?) → core::int?
+    ;
+}
+class DiBq1 extends self::C1 implements mix::Bq {
+  synthetic constructor •() → mix::DiBq1
+    ;
+  abstract member-signature get a() → core::List<(core::int?) → core::int?>; -> self::_C1&Object&B::a
+  abstract member-signature set a(core::List<(core::int?) → core::int?> _) → void; -> self::_C1&Object&B::a
+  abstract member-signature method m((core::int?) → core::int? x) → (core::int?) → core::int?; -> self::_C1&Object&B::m
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixed_mode_hierarchy_generic_methods.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixed_mode_hierarchy_generic_methods.dart.outline.expect
deleted file mode 100644
index 9c82e41..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/mixed_mode_hierarchy_generic_methods.dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/mixed_mode_hierarchy_generic_methods.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart = 2.6
-// ^^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "mixed_mode_hierarchy_generic_methods_lib.dart" as mix;
-import "dart:async" as asy;
-
-import "org-dartlang-testcase:///mixed_mode_hierarchy_generic_methods_lib.dart";
-import "dart:async";
-
-class B extends core::Object implements mix::A<core::int> {
-  synthetic constructor •() → self::B
-    ;
-  method then<B extends core::Object? = dynamic>() → asy::Future<self::B::then::B%>
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as mix;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-class A<R extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → mix::A<mix::A::R%>
-    ;
-  method then<T extends core::Object? = dynamic>() → asy::Future<mix::A::then::T%>
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixed_mode_hierarchy_generic_methods.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixed_mode_hierarchy_generic_methods.dart.weak.outline.expect
new file mode 100644
index 0000000..a49713a
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/mixed_mode_hierarchy_generic_methods.dart.weak.outline.expect
@@ -0,0 +1,39 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "mixed_mode_hierarchy_generic_methods_lib.dart" as mix;
+import "dart:async" as asy;
+
+import "org-dartlang-testcase:///mixed_mode_hierarchy_generic_methods_lib.dart";
+import "dart:async";
+
+class B extends core::Object implements mix::A<core::int*> {
+  synthetic constructor •() → self::B*
+    ;
+  method then<B extends core::Object* = dynamic>() → asy::Future<self::B::then::B*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as mix;
+import "dart:core" as core;
+import "dart:async" as asy;
+
+class A<R extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → mix::A<mix::A::R%>
+    ;
+  method then<T extends core::Object? = dynamic>() → asy::Future<mix::A::then::T%>
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.outline.expect
new file mode 100644
index 0000000..a221d7d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_dill2/main.dart.weak.outline.expect
@@ -0,0 +1,109 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "main_lib.dart" as mai;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///main_lib.dart";
+
+abstract class RenderAnimatedOpacityMixin<T extends mai::RenderObject = mai::RenderObject> extends mai::RenderObjectWithChildMixin<self::RenderAnimatedOpacityMixin::T> /*isMixinDeclaration*/  {
+}
+abstract class _RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin = mai::RenderProxyBox with mai::RenderProxyBoxMixin<mai::RenderBox> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin
+    : super mai::RenderProxyBox::•()
+    ;
+  mixin-super-stub method hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position}) → core::bool
+    return super.{mai::RenderProxyBoxMixin::hitTestChildren}(result, position: position);
+}
+abstract class _RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin&RenderAnimatedOpacityMixin = self::_RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin with self::RenderAnimatedOpacityMixin<mai::RenderBox> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin&RenderAnimatedOpacityMixin
+    : super self::_RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin::•()
+    ;
+}
+class RenderAnimatedOpacity extends self::_RenderAnimatedOpacity&RenderProxyBox&RenderProxyBoxMixin&RenderAnimatedOpacityMixin {
+  synthetic constructor •() → self::RenderAnimatedOpacity
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as mai;
+import "dart:core" as core;
+
+class Offset extends core::Object {
+  synthetic constructor •() → mai::Offset
+    ;
+}
+class AbstractNode extends core::Object {
+  synthetic constructor •() → mai::AbstractNode
+    ;
+}
+abstract class DiagnosticableTreeMixin extends core::Object /*isMixinDeclaration*/  {
+}
+abstract class HitTestTarget extends core::Object {
+  synthetic constructor •() → mai::HitTestTarget
+    ;
+}
+class HitTestResult extends core::Object {
+  synthetic constructor •() → mai::HitTestResult
+    ;
+}
+class BoxHitTestResult extends mai::HitTestResult {
+  synthetic constructor •() → mai::BoxHitTestResult
+    ;
+}
+abstract class _RenderObject&AbstractNode&DiagnosticableTreeMixin extends mai::AbstractNode implements mai::DiagnosticableTreeMixin /*isAnonymousMixin,isEliminatedMixin*/  {
+  synthetic constructor •() → mai::_RenderObject&AbstractNode&DiagnosticableTreeMixin
+    : super mai::AbstractNode::•()
+    ;
+}
+abstract class RenderObject extends mai::_RenderObject&AbstractNode&DiagnosticableTreeMixin implements mai::HitTestTarget {
+  synthetic constructor •() → mai::RenderObject
+    ;
+}
+abstract class RenderBox extends mai::RenderObject {
+  synthetic constructor •() → mai::RenderBox
+    ;
+  method hitTest(mai::BoxHitTestResult result, {required mai::Offset position}) → core::bool
+    ;
+  method hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position}) → core::bool
+    ;
+}
+abstract class RenderObjectWithChildMixin<ChildType extends mai::RenderObject = mai::RenderObject> extends mai::RenderObject /*isMixinDeclaration*/  {
+  generic-covariant-impl field mai::RenderObjectWithChildMixin::ChildType? _child;
+  get child() → mai::RenderObjectWithChildMixin::ChildType?
+    ;
+}
+abstract class _RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<T extends mai::RenderBox = mai::RenderBox> extends core::Object implements mai::RenderBox, mai::RenderObjectWithChildMixin<mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin::T> /*isAnonymousMixin*/  {
+  synthetic constructor •() → mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin::T>
+    ;
+}
+abstract class RenderProxyBoxMixin<T extends mai::RenderBox = mai::RenderBox> extends mai::_RenderProxyBoxMixin&RenderBox&RenderObjectWithChildMixin<mai::RenderProxyBoxMixin::T> /*isMixinDeclaration*/  {
+  @#C1
+  method hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position}) → core::bool
+    ;
+}
+abstract class _RenderProxyBox&RenderBox&RenderObjectWithChildMixin extends mai::RenderBox implements mai::RenderObjectWithChildMixin<mai::RenderBox> /*isAnonymousMixin,isEliminatedMixin*/  {
+  generic-covariant-impl field mai::RenderBox? _child;
+  synthetic constructor •() → mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin
+    : super mai::RenderBox::•()
+    ;
+  get child() → mai::RenderBox?
+    ;
+}
+abstract class _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin extends mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin implements mai::RenderProxyBoxMixin<mai::RenderBox> /*isAnonymousMixin,isEliminatedMixin*/  {
+  synthetic constructor •() → mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin
+    : super mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin::•()
+    ;
+  @#C1
+  method hitTestChildren(mai::BoxHitTestResult result, {required mai::Offset position}) → core::bool
+    ;
+}
+class RenderProxyBox extends mai::_RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin {
+  synthetic constructor •() → mai::RenderProxyBox
+    ;
+}
+
+constants  {
+  #C1 = core::_Override {}
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.outline.expect
deleted file mode 100644
index 737637b..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "mixin_from_opt_in_lib.dart" as mix;
-
-import "org-dartlang-testcase:///mixin_from_opt_in_lib.dart";
-
-abstract class _Class&Object&Mixin = core::Object with mix::Mixin /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Class&Object&Mixin
-    : super core::Object::•()
-    ;
-}
-class Class extends self::_Class&Object&Mixin {
-  synthetic constructor •() → self::Class
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as mix;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  synthetic constructor •() → mix::Mixin
-    ;
-  method method(core::int? i) → core::int
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..eb68178
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,41 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "mixin_from_opt_in_lib.dart" as mix;
+
+import "org-dartlang-testcase:///mixin_from_opt_in_lib.dart";
+
+abstract class _Class&Object&Mixin = core::Object with mix::Mixin /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Class&Object&Mixin*
+    : super core::Object::•()
+    ;
+  mixin-super-stub method method(core::int* i) → core::int*
+    return super.{mix::Mixin::method}(i);
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class Class extends self::_Class&Object&Mixin {
+  synthetic constructor •() → self::Class*
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as mix;
+import "dart:core" as core;
+
+class Mixin extends core::Object {
+  synthetic constructor •() → mix::Mixin
+    ;
+  method method(core::int? i) → core::int
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart.outline.expect
deleted file mode 100644
index 6ecb40e..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart.outline.expect
+++ /dev/null
@@ -1,304 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:21:7: Error: Applying the mixin 'Bq' to 'C0' introduces an erroneous override of 'a'.
-// class DwBq0 extends C0 with Bq {}
-//       ^^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: The return type of the method 'Bq.a' is 'List<int? Function(int?)>', which does not match the return type, 'List<int Function(int)>', of the overridden method, 'B.a'.
-//  - 'List' is from 'dart:core'.
-// Change to a subtype of 'List<int Function(int)>'.
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: This is the overridden method ('a').
-//   List<int Function(int)> get a => [];
-//                               ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:21:7: Error: Applying the mixin 'Bq' to 'C0' introduces an erroneous override of 'm'.
-// class DwBq0 extends C0 with Bq {}
-//       ^^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: The return type of the method 'Bq.m' is 'int? Function(int?)', which does not match the return type, 'int Function(int)', of the overridden method, 'B.m'.
-// Change to a subtype of 'int Function(int)'.
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: This is the overridden method ('m').
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:30:7: Error: Applying the mixin 'B' to 'C3' introduces an erroneous override of 'a'.
-// class DwB3 extends C3 with B {}
-//       ^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: The return type of the method 'B.a' is 'List<int Function(int)>', which does not match the return type, 'List<int? Function(int?)>', of the overridden method, 'Bq.a'.
-//  - 'List' is from 'dart:core'.
-// Change to a subtype of 'List<int? Function(int?)>'.
-//   List<int Function(int)> get a => [];
-//                               ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: This is the overridden method ('a').
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:30:7: Error: Applying the mixin 'B' to 'C3' introduces an erroneous override of 'm'.
-// class DwB3 extends C3 with B {}
-//       ^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: The return type of the method 'B.m' is 'int Function(int)', which does not match the return type, 'int? Function(int?)', of the overridden method, 'Bq.m'.
-// Change to a subtype of 'int? Function(int?)'.
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: This is the overridden method ('m').
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:15:7: Error: The implementation of 'a' in the non-abstract class 'DiBq0' does not conform to its interface.
-// class DiBq0 extends C0 implements Bq {}
-//       ^^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: The return type of the method 'B.a' is 'List<int Function(int)>', which does not match the return type, 'List<int? Function(int?)>', of the overridden method, 'Bq.a'.
-//  - 'List' is from 'dart:core'.
-// Change to a subtype of 'List<int? Function(int?)>'.
-//   List<int Function(int)> get a => [];
-//                               ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: This is the overridden method ('a').
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:15:7: Error: Class 'DiBq0' inherits multiple members named 'a' with incompatible signatures.
-// Try adding a declaration of 'a' to 'DiBq0'.
-// class DiBq0 extends C0 implements Bq {}
-//       ^^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: This is one of the inherited members.
-//   List<int Function(int)> get a => [];
-//                               ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: This is one of the inherited members.
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:15:7: Error: The implementation of 'm' in the non-abstract class 'DiBq0' does not conform to its interface.
-// class DiBq0 extends C0 implements Bq {}
-//       ^^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: The return type of the method 'B.m' is 'int Function(int)', which does not match the return type, 'int? Function(int?)', of the overridden method, 'Bq.m'.
-// Change to a subtype of 'int? Function(int?)'.
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: This is the overridden method ('m').
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:15:7: Error: Class 'DiBq0' inherits multiple members named 'm' with incompatible signatures.
-// Try adding a declaration of 'm' to 'DiBq0'.
-// class DiBq0 extends C0 implements Bq {}
-//       ^^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: This is one of the inherited members.
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: This is one of the inherited members.
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:21:7: Error: Class 'C0 with Bq' inherits multiple members named 'a' with incompatible signatures.
-// Try adding a declaration of 'a' to 'C0 with Bq'.
-// class DwBq0 extends C0 with Bq {}
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: This is one of the inherited members.
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: This is one of the inherited members.
-//   List<int Function(int)> get a => [];
-//                               ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: This is one of the inherited members.
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:21:7: Error: Class 'C0 with Bq' inherits multiple members named 'm' with incompatible signatures.
-// Try adding a declaration of 'm' to 'C0 with Bq'.
-// class DwBq0 extends C0 with Bq {}
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: This is one of the inherited members.
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: This is one of the inherited members.
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: This is one of the inherited members.
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:24:7: Error: The implementation of 'a' in the non-abstract class 'DiB3' does not conform to its interface.
-// class DiB3 extends C3 implements B {}
-//       ^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: The return type of the method 'Bq.a' is 'List<int? Function(int?)>', which does not match the return type, 'List<int Function(int)>', of the overridden method, 'B.a'.
-//  - 'List' is from 'dart:core'.
-// Change to a subtype of 'List<int Function(int)>'.
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: This is the overridden method ('a').
-//   List<int Function(int)> get a => [];
-//                               ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:24:7: Error: Class 'DiB3' inherits multiple members named 'a' with incompatible signatures.
-// Try adding a declaration of 'a' to 'DiB3'.
-// class DiB3 extends C3 implements B {}
-//       ^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: This is one of the inherited members.
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: This is one of the inherited members.
-//   List<int Function(int)> get a => [];
-//                               ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:24:7: Error: The implementation of 'm' in the non-abstract class 'DiB3' does not conform to its interface.
-// class DiB3 extends C3 implements B {}
-//       ^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: The return type of the method 'Bq.m' is 'int? Function(int?)', which does not match the return type, 'int Function(int)', of the overridden method, 'B.m'.
-// Change to a subtype of 'int Function(int)'.
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: This is the overridden method ('m').
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:24:7: Error: Class 'DiB3' inherits multiple members named 'm' with incompatible signatures.
-// Try adding a declaration of 'm' to 'DiB3'.
-// class DiB3 extends C3 implements B {}
-//       ^^^^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: This is one of the inherited members.
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: This is one of the inherited members.
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:30:7: Error: Class 'C3 with B' inherits multiple members named 'a' with incompatible signatures.
-// Try adding a declaration of 'a' to 'C3 with B'.
-// class DwB3 extends C3 with B {}
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: This is one of the inherited members.
-//   List<int Function(int)> get a => [];
-//                               ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:12:33: Context: This is one of the inherited members.
-//   List<int? Function(int?)> get a => [];
-//                                 ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:6:31: Context: This is one of the inherited members.
-//   List<int Function(int)> get a => [];
-//                               ^
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart:30:7: Error: Class 'C3 with B' inherits multiple members named 'm' with incompatible signatures.
-// Try adding a declaration of 'm' to 'C3 with B'.
-// class DwB3 extends C3 with B {}
-//       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: This is one of the inherited members.
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:14:23: Context: This is one of the inherited members.
-//   int? Function(int?) m(int? Function(int?) x) => x;
-//                       ^
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib2.dart:8:21: Context: This is one of the inherited members.
-//   int Function(int) m(int Function(int) x) => x;
-//                     ^
-//
-import self as self;
-import "mixin_from_opt_in_out_in_lib1.dart" as mix;
-import "mixin_from_opt_in_out_in_lib2.dart" as mix2;
-
-import "org-dartlang-testcase:///mixin_from_opt_in_out_in_lib1.dart";
-import "org-dartlang-testcase:///mixin_from_opt_in_out_in_lib2.dart";
-
-class DiB0 extends mix::C0 implements mix2::B {
-  synthetic constructor •() → self::DiB0
-    ;
-}
-class DiBq0 extends mix::C0 implements mix2::Bq {
-  synthetic constructor •() → self::DiBq0
-    ;
-}
-abstract class _DwB0&C0&B = mix::C0 with mix2::B /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DwB0&C0&B
-    : super mix::C0::•()
-    ;
-}
-class DwB0 extends self::_DwB0&C0&B {
-  synthetic constructor •() → self::DwB0
-    ;
-}
-abstract class _DwBq0&C0&Bq = mix::C0 with mix2::Bq /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DwBq0&C0&Bq
-    : super mix::C0::•()
-    ;
-}
-class DwBq0 extends self::_DwBq0&C0&Bq {
-  synthetic constructor •() → self::DwBq0
-    ;
-}
-class DiB3 extends mix::C3 implements mix2::B {
-  synthetic constructor •() → self::DiB3
-    ;
-}
-class DiBq3 extends mix::C3 implements mix2::Bq {
-  synthetic constructor •() → self::DiBq3
-    ;
-}
-abstract class _DwB3&C3&B = mix::C3 with mix2::B /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DwB3&C3&B
-    : super mix::C3::•()
-    ;
-}
-class DwB3 extends self::_DwB3&C3&B {
-  synthetic constructor •() → self::DwB3
-    ;
-}
-abstract class _DwBq3&C3&Bq = mix::C3 with mix2::Bq /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DwBq3&C3&Bq
-    : super mix::C3::•()
-    ;
-}
-class DwBq3 extends self::_DwBq3&C3&Bq {
-  synthetic constructor •() → self::DwBq3
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in_lib1.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as mix;
-import "mixin_from_opt_in_out_in_lib2.dart" as mix2;
-
-import "org-dartlang-testcase:///mixin_from_opt_in_out_in_lib2.dart";
-
-class C0 extends mix2::B {
-  synthetic constructor •() → mix::C0
-    ;
-}
-class C3 extends mix2::Bq {
-  synthetic constructor •() → mix::C3
-    ;
-}
-
-library /*isNonNullableByDefault*/;
-import self as mix2;
-import "dart:core" as core;
-
-class B extends core::Object {
-  synthetic constructor •() → mix2::B
-    ;
-  get a() → core::List<(core::int) → core::int>
-    ;
-  set a(core::List<(core::int) → core::int> _) → void
-    ;
-  method m((core::int) → core::int x) → (core::int) → core::int
-    ;
-}
-class Bq extends core::Object {
-  synthetic constructor •() → mix2::Bq
-    ;
-  get a() → core::List<(core::int?) → core::int?>
-    ;
-  set a(core::List<(core::int?) → core::int?> _) → void
-    ;
-  method m((core::int?) → core::int? x) → (core::int?) → core::int?
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart.weak.outline.expect
new file mode 100644
index 0000000..4b7632d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_in_out_in.dart.weak.outline.expect
@@ -0,0 +1,238 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "mixin_from_opt_in_out_in_lib1.dart" as mix;
+import "mixin_from_opt_in_out_in_lib2.dart" as mix2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///mixin_from_opt_in_out_in_lib1.dart";
+import "org-dartlang-testcase:///mixin_from_opt_in_out_in_lib2.dart";
+
+class DiB0 extends mix::C0 implements mix2::B {
+  synthetic constructor •() → self::DiB0
+    ;
+  abstract member-signature get a() → core::List<(core::int) → core::int>; -> mix2::B::a
+  abstract member-signature set a(core::List<(core::int) → core::int> _) → void; -> mix2::B::a
+  abstract member-signature method m((core::int) → core::int x) → (core::int) → core::int; -> mix2::B::m
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+class DiBq0 extends mix::C0 implements mix2::Bq {
+  synthetic constructor •() → self::DiBq0
+    ;
+  abstract member-signature get a() → core::List<(core::int?) → core::int?>; -> mix2::B::a
+  abstract member-signature set a(core::List<(core::int?) → core::int?> _) → void; -> mix2::B::a
+  abstract member-signature method m((core::int?) → core::int? x) → (core::int?) → core::int?; -> mix2::B::m
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+abstract class _DwB0&C0&B = mix::C0 with mix2::B /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DwB0&C0&B
+    : super mix::C0::•()
+    ;
+  mixin-super-stub get a() → core::List<(core::int) → core::int>
+    return super.{mix2::B::a};
+  mixin-super-stub set a(core::List<(core::int) → core::int> _) → void
+    return super.{mix2::B::a} = _;
+  mixin-super-stub method m((core::int) → core::int x) → (core::int) → core::int
+    return super.{mix2::B::m}(x);
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+class DwB0 extends self::_DwB0&C0&B {
+  synthetic constructor •() → self::DwB0
+    ;
+}
+abstract class _DwBq0&C0&Bq = mix::C0 with mix2::Bq /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DwBq0&C0&Bq
+    : super mix::C0::•()
+    ;
+  mixin-super-stub get a() → core::List<(core::int?) → core::int?>
+    return super.{mix2::Bq::a};
+  mixin-super-stub set a(core::List<(core::int?) → core::int?> _) → void
+    return super.{mix2::Bq::a} = _;
+  mixin-super-stub method m((core::int?) → core::int? x) → (core::int?) → core::int?
+    return super.{mix2::Bq::m}(x);
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+class DwBq0 extends self::_DwBq0&C0&Bq {
+  synthetic constructor •() → self::DwBq0
+    ;
+}
+class DiB3 extends mix::C3 implements mix2::B {
+  synthetic constructor •() → self::DiB3
+    ;
+  abstract member-signature get a() → core::List<(core::int) → core::int>; -> mix2::Bq::a
+  abstract member-signature set a(core::List<(core::int) → core::int> _) → void; -> mix2::Bq::a
+  abstract member-signature method m((core::int) → core::int x) → (core::int) → core::int; -> mix2::Bq::m
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+class DiBq3 extends mix::C3 implements mix2::Bq {
+  synthetic constructor •() → self::DiBq3
+    ;
+  abstract member-signature get a() → core::List<(core::int?) → core::int?>; -> mix2::Bq::a
+  abstract member-signature set a(core::List<(core::int?) → core::int?> _) → void; -> mix2::Bq::a
+  abstract member-signature method m((core::int?) → core::int? x) → (core::int?) → core::int?; -> mix2::Bq::m
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+abstract class _DwB3&C3&B = mix::C3 with mix2::B /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DwB3&C3&B
+    : super mix::C3::•()
+    ;
+  mixin-super-stub get a() → core::List<(core::int) → core::int>
+    return super.{mix2::B::a};
+  mixin-super-stub set a(core::List<(core::int) → core::int> _) → void
+    return super.{mix2::B::a} = _;
+  mixin-super-stub method m((core::int) → core::int x) → (core::int) → core::int
+    return super.{mix2::B::m}(x);
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+class DwB3 extends self::_DwB3&C3&B {
+  synthetic constructor •() → self::DwB3
+    ;
+}
+abstract class _DwBq3&C3&Bq = mix::C3 with mix2::Bq /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DwBq3&C3&Bq
+    : super mix::C3::•()
+    ;
+  mixin-super-stub get a() → core::List<(core::int?) → core::int?>
+    return super.{mix2::Bq::a};
+  mixin-super-stub set a(core::List<(core::int?) → core::int?> _) → void
+    return super.{mix2::Bq::a} = _;
+  mixin-super-stub method m((core::int?) → core::int? x) → (core::int?) → core::int?
+    return super.{mix2::Bq::m}(x);
+  abstract member-signature get _identityHashCode() → core::int; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature get hashCode() → core::int; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type; -> core::Object::runtimeType
+}
+class DwBq3 extends self::_DwBq3&C3&Bq {
+  synthetic constructor •() → self::DwBq3
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as mix;
+import "mixin_from_opt_in_out_in_lib2.dart" as mix2;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///mixin_from_opt_in_out_in_lib2.dart";
+
+class C0 extends mix2::B {
+  synthetic constructor •() → mix::C0*
+    ;
+  abstract member-signature get a() → core::List<(core::int*) →* core::int*>*; -> mix2::B::a
+  abstract member-signature set a(core::List<(core::int*) →* core::int*>* _) → void; -> mix2::B::a
+  abstract member-signature method m((core::int*) →* core::int* x) → (core::int*) →* core::int*; -> mix2::B::m
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C3 extends mix2::Bq {
+  synthetic constructor •() → mix::C3*
+    ;
+  abstract member-signature get a() → core::List<(core::int*) →* core::int*>*; -> mix2::Bq::a
+  abstract member-signature set a(core::List<(core::int*) →* core::int*>* _) → void; -> mix2::Bq::a
+  abstract member-signature method m((core::int*) →* core::int* x) → (core::int*) →* core::int*; -> mix2::Bq::m
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library /*isNonNullableByDefault*/;
+import self as mix2;
+import "dart:core" as core;
+
+class B extends core::Object {
+  synthetic constructor •() → mix2::B
+    ;
+  get a() → core::List<(core::int) → core::int>
+    ;
+  set a(core::List<(core::int) → core::int> _) → void
+    ;
+  method m((core::int) → core::int x) → (core::int) → core::int
+    ;
+}
+class Bq extends core::Object {
+  synthetic constructor •() → mix2::Bq
+    ;
+  get a() → core::List<(core::int?) → core::int?>
+    ;
+  set a(core::List<(core::int?) → core::int?> _) → void
+    ;
+  method m((core::int?) → core::int? x) → (core::int?) → core::int?
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.outline.expect
deleted file mode 100644
index 1f41cf6..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "dart:core" as core;
-import "mixin_from_opt_out_lib.dart" as mix;
-
-import "org-dartlang-testcase:///mixin_from_opt_out_lib.dart";
-
-abstract class _Class&Object&Mixin = core::Object with mix::Mixin /*isAnonymousMixin,hasConstConstructor*/  {
-  const synthetic constructor •() → self::_Class&Object&Mixin
-    : super core::Object::•()
-    ;
-}
-class Class extends self::_Class&Object&Mixin {
-  synthetic constructor •() → self::Class
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as mix;
-import "dart:core" as core;
-
-class Mixin extends core::Object {
-  synthetic constructor •() → mix::Mixin
-    ;
-  method method(core::int i) → core::int
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..cd855d5
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/mixin_from_opt_out.dart.weak.outline.expect
@@ -0,0 +1,42 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "mixin_from_opt_out_lib.dart" as mix;
+
+import "org-dartlang-testcase:///mixin_from_opt_out_lib.dart";
+
+abstract class _Class&Object&Mixin = core::Object with mix::Mixin /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Class&Object&Mixin
+    : super core::Object::•()
+    ;
+  mixin-super-stub method /*isLegacy*/ method(core::int* i) → core::int*
+    return super.{mix::Mixin::method}(i);
+  abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
+}
+class Class extends self::_Class&Object&Mixin {
+  synthetic constructor •() → self::Class
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as mix;
+import "dart:core" as core;
+
+class Mixin extends core::Object {
+  synthetic constructor •() → mix::Mixin*
+    ;
+  method method(core::int* i) → core::int*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.outline.expect
new file mode 100644
index 0000000..e3bc4c3
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/mock_http_headers.dart.weak.outline.expect
@@ -0,0 +1,177 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "dart:_http" as _ht;
+
+import "dart:io";
+
+class Mock extends core::Object {
+  synthetic constructor •() → self::Mock*
+    ;
+  method noSuchMethod(core::Invocation* invocation) → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class MockHttpHeaders extends self::Mock implements _ht::HttpHeaders {
+  synthetic constructor •() → self::MockHttpHeaders*
+    ;
+  no-such-method-forwarder get date() → core::DateTime*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#date, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::DateTime*;
+  no-such-method-forwarder set date(core::DateTime* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#date=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get expires() → core::DateTime*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#expires, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::DateTime*;
+  no-such-method-forwarder set expires(core::DateTime* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#expires=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get ifModifiedSince() → core::DateTime*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#ifModifiedSince, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::DateTime*;
+  no-such-method-forwarder set ifModifiedSince(core::DateTime* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#ifModifiedSince=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get host() → core::String*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#host, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::String*;
+  no-such-method-forwarder set host(core::String* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#host=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get port() → core::int*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#port, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+  no-such-method-forwarder set port(core::int* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#port=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get contentType() → _ht::ContentType*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentType, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} _ht::ContentType*;
+  no-such-method-forwarder set contentType(_ht::ContentType* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentType=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get contentLength() → core::int*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentLength, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::int*;
+  no-such-method-forwarder set contentLength(core::int* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#contentLength=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get persistentConnection() → core::bool*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#persistentConnection, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::bool*;
+  no-such-method-forwarder set persistentConnection(core::bool* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#persistentConnection=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder get chunkedTransferEncoding() → core::bool*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#chunkedTransferEncoding, 1, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::bool*;
+  no-such-method-forwarder set chunkedTransferEncoding(core::bool* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#chunkedTransferEncoding=, 2, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder operator [](core::String* name) → core::List<core::String*>*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#[], 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::List<core::String*>*;
+  no-such-method-forwarder method value(core::String* name) → core::String*
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#value, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{}))) as{TypeError,ForDynamic} core::String*;
+  no-such-method-forwarder method add(core::String* name, core::Object* value, {core::bool* preserveHeaderCase}) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#add, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#preserveHeaderCase: preserveHeaderCase})));
+  no-such-method-forwarder method set(core::String* name, core::Object* value, {core::bool* preserveHeaderCase}) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#set, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(<core::Symbol*, dynamic>{#preserveHeaderCase: preserveHeaderCase})));
+  no-such-method-forwarder method remove(core::String* name, core::Object* value) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#remove, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name, value]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder method removeAll(core::String* name) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#removeAll, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder method forEach((core::String*, core::List<core::String*>*) →* void action) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#forEach, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[action]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder method noFolding(core::String* name) → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#noFolding, 0, const <core::Type*>[], core::List::unmodifiable<dynamic>(<dynamic>[name]), core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+  no-such-method-forwarder method /* from org-dartlang-sdk:///sdk/lib/_http/http.dart */ clear() → void
+    return this.{self::Mock::noSuchMethod}(new core::_InvocationMirror::_withType(#clear, 0, const <core::Type*>[], const <dynamic>[], core::Map::unmodifiable<core::Symbol*, dynamic>(const <core::Symbol*, dynamic>{})));
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#date)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#date=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#expires)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#expires=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#ifModifiedSince)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#ifModifiedSince=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#host)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#host=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#port)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#port=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#contentType)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#contentType=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#contentLength)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#contentLength=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#persistentConnection)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#persistentConnection=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#chunkedTransferEncoding)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#chunkedTransferEncoding=)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#[])
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#value)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#add)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#preserveHeaderCase)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#set)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#preserveHeaderCase)
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#remove)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#removeAll)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#forEach)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> SymbolConstant(#noFolding)
+Evaluated: ListLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> ListConstant(const <Type*>[])
+Evaluated: MapLiteral @ org-dartlang-testcase:///mock_http_headers.dart:13:7 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Evaluated: SymbolLiteral @ org-dartlang-sdk:///sdk/lib/_http/http.dart:761:8 -> SymbolConstant(#clear)
+Evaluated: ListLiteral @ org-dartlang-sdk:///sdk/lib/_http/http.dart:761:8 -> ListConstant(const <Type*>[])
+Evaluated: ListLiteral @ org-dartlang-sdk:///sdk/lib/_http/http.dart:761:8 -> ListConstant(const <dynamic>[])
+Evaluated: MapLiteral @ org-dartlang-sdk:///sdk/lib/_http/http.dart:761:8 -> InstanceConstant(const _ImmutableMap<Symbol*, dynamic>{_ImmutableMap._kvPairs: const <dynamic>[]})
+Extra constant evaluation: evaluated: 268, effectively constant: 91
diff --git a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.outline.expect
deleted file mode 100644
index 82cb791..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,135 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart:9:7: Error: Field 'optOutNever' should be initialized because its type 'Never' doesn't allow null.
-// Never optOutNever;
-//       ^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart:68:8: Error: The return type of the method 'B.neverField' is 'Null', which does not match the return type, 'Never', of the overridden method, 'A.neverField'.
-// Change to a subtype of 'Never'.
-//   Null neverField;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out_lib.dart:12:9: Context: This is the overridden method ('neverField').
-//   Never neverField = throw "Should not reach here";
-//         ^
-//
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart:69:8: Error: The return type of the method 'B.neverMethod' is 'Null', which does not match the return type, 'Never', of the overridden method, 'A.neverMethod'.
-// Change to a subtype of 'Never'.
-//   Null neverMethod(Null value) => value;
-//        ^
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out_lib.dart:13:9: Context: This is the overridden method ('neverMethod').
-//   Never neverMethod(Never value) => value;
-//         ^
-//
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart:70:12: Error: The return type of the method 'B.neverProperty' is 'Null', which does not match the return type, 'Never', of the overridden method, 'A.neverProperty'.
-// Change to a subtype of 'Never'.
-//   Null get neverProperty => null;
-//            ^
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out_lib.dart:14:13: Context: This is the overridden method ('neverProperty').
-//   Never get neverProperty => throw "Should not reach here";
-//             ^
-//
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart:85:9: Error: The field 'C.nullField' has type 'Never', which does not match the corresponding type, 'Null', in the overridden setter, 'A.nullField'.
-//   Never nullField;
-//         ^
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out_lib.dart:17:8: Context: This is the overridden method ('nullField').
-//   Null nullField = null;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart:86:26: Error: The parameter 'value' of the method 'C.nullMethod' has type 'Never', which does not match the corresponding type, 'Null', in the overridden method, 'A.nullMethod'.
-// Change to a supertype of 'Null', or, for a covariant parameter, a subtype.
-//   Never nullMethod(Never value) => value;
-//                          ^
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out_lib.dart:18:8: Context: This is the overridden method ('nullMethod').
-//   Null nullMethod(Null value) => value;
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart:88:31: Error: The parameter 'value' of the method 'C.nullProperty' has type 'Never', which does not match the corresponding type, 'Null', in the overridden method, 'A.nullProperty'.
-// Change to a supertype of 'Null', or, for a covariant parameter, a subtype.
-//   void set nullProperty(Never value) {}
-//                               ^
-// pkg/front_end/testcases/nnbd_mixed/never_opt_out_lib.dart:20:12: Context: This is the overridden method ('nullProperty').
-//   void set nullProperty(Null value) {}
-//            ^
-//
-import self as self;
-import "never_opt_out_lib.dart" as nev;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///never_opt_out_lib.dart";
-
-class B extends nev::A {
-  field core::Null? neverField;
-  field core::Null? nullField;
-  synthetic constructor •() → self::B
-    ;
-  method neverMethod(core::Null? value) → core::Null?
-    ;
-  get neverProperty() → core::Null?
-    ;
-  set neverProperty(core::Null? value) → void
-    ;
-  method nullMethod(core::Null? value) → core::Null?
-    ;
-  get nullProperty() → core::Null?
-    ;
-  set nullProperty(core::Null? value) → void
-    ;
-}
-class C extends nev::A {
-  field Never neverField;
-  field Never nullField;
-  synthetic constructor •() → self::C
-    ;
-  method neverMethod(Never value) → Never
-    ;
-  get neverProperty() → Never
-    ;
-  set neverProperty(Never value) → void
-    ;
-  method nullMethod(Never value) → Never
-    ;
-  get nullProperty() → Never
-    ;
-  set nullProperty(Never value) → void
-    ;
-}
-static field Never optOutNever;
-static field Never inferredOptOutNever;
-static method main() → dynamic
-  ;
-static method throws(() → void f) → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as nev;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///never_opt_out.dart";
-
-class A extends core::Object {
-  field Never neverField;
-  field core::Null? nullField;
-  synthetic constructor •() → nev::A
-    ;
-  method neverMethod(Never value) → Never
-    ;
-  get neverProperty() → Never
-    ;
-  set neverProperty(Never value) → void
-    ;
-  method nullMethod(core::Null? value) → core::Null?
-    ;
-  get nullProperty() → core::Null?
-    ;
-  set nullProperty(core::Null? value) → void
-    ;
-}
-static field Never optInNever;
-static method throwing() → Never
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..32b770e
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/never_opt_out.dart.weak.outline.expect
@@ -0,0 +1,121 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "never_opt_out_lib.dart" as nev;
+
+import "org-dartlang-testcase:///never_opt_out_lib.dart";
+
+class GenericClass<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::GenericClass<self::GenericClass::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends nev::A {
+  field Null neverField;
+  field Null nullField;
+  synthetic constructor •() → self::B*
+    ;
+  method neverMethod(Null value) → Null
+    ;
+  get neverProperty() → Null
+    ;
+  set neverProperty(Null value) → void
+    ;
+  method nullMethod(Null value) → Null
+    ;
+  get nullProperty() → Null
+    ;
+  set nullProperty(Null value) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends nev::A {
+  field Never* neverField;
+  field Never* nullField;
+  synthetic constructor •() → self::C*
+    ;
+  method neverMethod(Null value) → Never*
+    ;
+  get neverProperty() → Never*
+    ;
+  set neverProperty(Null value) → void
+    ;
+  method nullMethod(Null value) → Never*
+    ;
+  get nullProperty() → Never*
+    ;
+  set nullProperty(Null value) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field Never* optOutNever;
+static field dynamic inferredOptOutNever;
+static method genericMethod<T extends core::Object* = dynamic>() → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method throws(() →* void f) → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as nev;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///never_opt_out.dart";
+
+class A extends core::Object {
+  field Never neverField;
+  field Null nullField;
+  synthetic constructor •() → nev::A
+    ;
+  method neverMethod(Never value) → Never
+    ;
+  get neverProperty() → Never
+    ;
+  set neverProperty(Never value) → void
+    ;
+  method nullMethod(Null value) → Null
+    ;
+  get nullProperty() → Null
+    ;
+  set nullProperty(Null value) → void
+    ;
+}
+class BoundedGenericClass<T extends Never = Never> extends core::Object {
+  synthetic constructor •() → nev::BoundedGenericClass<nev::BoundedGenericClass::T>
+    ;
+}
+late static field Never optInNever;
+static method throwing() → Never
+  ;
+static method boundedGenericMethod1<T extends Never = Never>() → nev::boundedGenericMethod1::T
+  ;
+static method boundedGenericMethod2<T extends Never = Never>() → core::List<nev::boundedGenericMethod2::T>
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.outline.expect
deleted file mode 100644
index 230aab9..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.outline.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart:1:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.4
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart:3:7: Error: Can't use 'late' as a name here.
-// class late {
-//       ^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart:7:7: Error: Can't use 'required' as a name here.
-// class required {
-//       ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart:12:8: 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 l = late();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart:13:3: Error: Can't have modifier 'required' here.
-// Try removing 'required'.
-//   required r = required();
-//   ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart:13: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'.
-//   required r = required();
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class late extends core::Object {
-  synthetic constructor •() → self::late
-    ;
-  get g() → core::int
-    ;
-}
-class required extends core::Object {
-  synthetic constructor •() → self::required
-    ;
-  get g() → core::int
-    ;
-}
-class C extends core::Object {
-  late field self::late l;
-  field self::required r;
-  synthetic constructor •() → self::C
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.outline.expect
new file mode 100644
index 0000000..5fb8d4d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version.dart.weak.outline.expect
@@ -0,0 +1,54 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class late extends core::Object {
+  synthetic constructor •() → self::late*
+    ;
+  get g() → core::int*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class required extends core::Object {
+  synthetic constructor •() → self::required*
+    ;
+  get g() → core::int*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends core::Object {
+  field self::late* l;
+  field self::required* r;
+  synthetic constructor •() → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.outline.expect
deleted file mode 100644
index 713621d..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.outline.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart:1:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.4
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart:4:7: Error: Can't use 'late' as a name here.
-// class late {
-//       ^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart:8:7: Error: Can't use 'required' as a name here.
-// class required {
-//       ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart:13:8: 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 l = late();
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart:14:3: Error: Can't have modifier 'required' here.
-// Try removing 'required'.
-//   required r = required();
-//   ^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart:14: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'.
-//   required r = required();
-//            ^
-//
-import self as self;
-import "dart:core" as core;
-
-class late extends core::Object {
-  synthetic constructor •() → self::late
-    ;
-  get g() → core::int
-    ;
-}
-class required extends core::Object {
-  synthetic constructor •() → self::required
-    ;
-  get g() → core::int
-    ;
-}
-class C extends core::Object {
-  late field self::late l;
-  field self::required r;
-  synthetic constructor •() → self::C
-    ;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.outline.expect
new file mode 100644
index 0000000..5fb8d4d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/nnbd_opt_out_language_version_try_to_trick.dart.weak.outline.expect
@@ -0,0 +1,54 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class late extends core::Object {
+  synthetic constructor •() → self::late*
+    ;
+  get g() → core::int*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class required extends core::Object {
+  synthetic constructor •() → self::required*
+    ;
+  get g() → core::int*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class C extends core::Object {
+  field self::late* l;
+  field self::required* r;
+  synthetic constructor •() → self::C*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.outline.expect
deleted file mode 100644
index e4f8891..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.outline.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field self::Class field;
-  synthetic constructor •() → self::Class
-    ;
-  method method() → self::Class
-    ;
-  operator [](self::Class key) → self::Class
-    ;
-  operator []=(self::Class key, self::Class value) → void
-    ;
-  operator +(core::int value) → self::Class
-    ;
-  operator unary-() → self::Class
-    ;
-}
-static method main() → dynamic
-  ;
-static method propertyAccess(self::Class c) → void
-  ;
-static method indexAccess(self::Class c) → void
-  ;
-static method operatorAccess(self::Class c) → void
-  ;
-static method ifNull(self::Class c) → void
-  ;
-static method throws(() → void f) → void
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.outline.expect
new file mode 100644
index 0000000..5e927d1
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting.dart.weak.outline.expect
@@ -0,0 +1,41 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  field self::Class* field;
+  synthetic constructor •() → self::Class*
+    ;
+  method method() → self::Class*
+    ;
+  operator [](self::Class* key) → self::Class*
+    ;
+  operator []=(self::Class* key, self::Class* value) → void
+    ;
+  operator +(core::int* value) → self::Class*
+    ;
+  operator unary-() → self::Class*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+static method propertyAccess(self::Class* c) → void
+  ;
+static method indexAccess(self::Class* c) → void
+  ;
+static method operatorAccess(self::Class* c) → void
+  ;
+static method ifNull(self::Class* c) → void
+  ;
+static method throws(() →* void f) → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.outline.expect
deleted file mode 100644
index 0ca48a4..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.outline.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field self::Class _field;
-  synthetic constructor •() → self::Class
-    ;
-}
-extension Extension on self::Class {
-  get field = self::Extension|get#field;
-  method method = self::Extension|method;
-  tearoff method = self::Extension|get#method;
-  operator [] = self::Extension|[];
-  operator []= = self::Extension|[]=;
-  operator + = self::Extension|+;
-  operator unary- = self::Extension|unary-;
-  set field = self::Extension|set#field;
-}
-static method Extension|get#field(final self::Class #this) → self::Class
-  ;
-static method Extension|set#field(final self::Class #this, self::Class value) → void
-  ;
-static method Extension|method(final self::Class #this) → self::Class
-  ;
-static method Extension|get#method(final self::Class #this) → () → self::Class
-  return () → self::Class => self::Extension|method(#this);
-static method Extension|[](final self::Class #this, self::Class key) → self::Class
-  ;
-static method Extension|[]=(final self::Class #this, self::Class key, self::Class value) → void
-  ;
-static method Extension|+(final self::Class #this, core::int value) → self::Class
-  ;
-static method Extension|unary-(final self::Class #this) → self::Class
-  ;
-static method main() → dynamic
-  ;
-static method propertyAccess(self::Class c) → void
-  ;
-static method indexAccess(self::Class c) → void
-  ;
-static method operatorAccess(self::Class c) → void
-  ;
-static method ifNull(self::Class c) → void
-  ;
-static method throws(() → void f) → void
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.outline.expect
new file mode 100644
index 0000000..6ac9951
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_explicit_extension.dart.weak.outline.expect
@@ -0,0 +1,57 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  field self::Class* _field;
+  synthetic constructor •() → self::Class*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+extension Extension on self::Class* {
+  get field = self::Extension|get#field;
+  method method = self::Extension|method;
+  tearoff method = self::Extension|get#method;
+  operator [] = self::Extension|[];
+  operator []= = self::Extension|[]=;
+  operator + = self::Extension|+;
+  operator unary- = self::Extension|unary-;
+  set field = self::Extension|set#field;
+}
+static method Extension|get#field(lowered final self::Class* #this) → self::Class*
+  ;
+static method Extension|set#field(lowered final self::Class* #this, self::Class* value) → void
+  ;
+static method Extension|method(lowered final self::Class* #this) → self::Class*
+  ;
+static method Extension|get#method(lowered final self::Class* #this) → () →* self::Class*
+  return () → self::Class* => self::Extension|method(#this);
+static method Extension|[](lowered final self::Class* #this, self::Class* key) → self::Class*
+  ;
+static method Extension|[]=(lowered final self::Class* #this, self::Class* key, self::Class* value) → void
+  ;
+static method Extension|+(lowered final self::Class* #this, core::int* value) → self::Class*
+  ;
+static method Extension|unary-(lowered final self::Class* #this) → self::Class*
+  ;
+static method main() → dynamic
+  ;
+static method propertyAccess(self::Class* c) → void
+  ;
+static method indexAccess(self::Class* c) → void
+  ;
+static method operatorAccess(self::Class* c) → void
+  ;
+static method ifNull(self::Class* c) → void
+  ;
+static method throws(() →* void f) → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.outline.expect
deleted file mode 100644
index 1b95bad..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.outline.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field self::Class _field;
-  synthetic constructor •() → self::Class
-    ;
-}
-extension Extension on self::Class {
-  get field = self::Extension|get#field;
-  method method = self::Extension|method;
-  tearoff method = self::Extension|get#method;
-  operator [] = self::Extension|[];
-  operator []= = self::Extension|[]=;
-  operator + = self::Extension|+;
-  operator unary- = self::Extension|unary-;
-  set field = self::Extension|set#field;
-}
-static method Extension|get#field(final self::Class #this) → self::Class
-  ;
-static method Extension|set#field(final self::Class #this, self::Class value) → void
-  ;
-static method Extension|method(final self::Class #this) → self::Class
-  ;
-static method Extension|get#method(final self::Class #this) → () → self::Class
-  return () → self::Class => self::Extension|method(#this);
-static method Extension|[](final self::Class #this, self::Class key) → self::Class
-  ;
-static method Extension|[]=(final self::Class #this, self::Class key, self::Class value) → void
-  ;
-static method Extension|+(final self::Class #this, core::int value) → self::Class
-  ;
-static method Extension|unary-(final self::Class #this) → self::Class
-  ;
-static method main() → dynamic
-  ;
-static method propertyAccess(self::Class c) → void
-  ;
-static method indexAccess(self::Class c) → void
-  ;
-static method operatorAccess(self::Class c) → void
-  ;
-static method ifNull(self::Class c) → void
-  ;
-static method throws(() → void f) → void
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.outline.expect
new file mode 100644
index 0000000..6ac9951
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/no_null_shorting_extension.dart.weak.outline.expect
@@ -0,0 +1,57 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  field self::Class* _field;
+  synthetic constructor •() → self::Class*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+extension Extension on self::Class* {
+  get field = self::Extension|get#field;
+  method method = self::Extension|method;
+  tearoff method = self::Extension|get#method;
+  operator [] = self::Extension|[];
+  operator []= = self::Extension|[]=;
+  operator + = self::Extension|+;
+  operator unary- = self::Extension|unary-;
+  set field = self::Extension|set#field;
+}
+static method Extension|get#field(lowered final self::Class* #this) → self::Class*
+  ;
+static method Extension|set#field(lowered final self::Class* #this, self::Class* value) → void
+  ;
+static method Extension|method(lowered final self::Class* #this) → self::Class*
+  ;
+static method Extension|get#method(lowered final self::Class* #this) → () →* self::Class*
+  return () → self::Class* => self::Extension|method(#this);
+static method Extension|[](lowered final self::Class* #this, self::Class* key) → self::Class*
+  ;
+static method Extension|[]=(lowered final self::Class* #this, self::Class* key, self::Class* value) → void
+  ;
+static method Extension|+(lowered final self::Class* #this, core::int* value) → self::Class*
+  ;
+static method Extension|unary-(lowered final self::Class* #this) → self::Class*
+  ;
+static method main() → dynamic
+  ;
+static method propertyAccess(self::Class* c) → void
+  ;
+static method indexAccess(self::Class* c) → void
+  ;
+static method operatorAccess(self::Class* c) → void
+  ;
+static method ifNull(self::Class* c) → void
+  ;
+static method throws(() →* void f) → void
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.outline.expect
deleted file mode 100644
index df852ba..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.outline.expect
+++ /dev/null
@@ -1,93 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart:16:16: Error: Class 'B2' inherits multiple members named 'method' with incompatible signatures.
-// Try adding a declaration of 'method' to 'B2'.
-// abstract class B2 extends A implements C2 {
-//                ^^
-// pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in_lib.dart:6:7: Context: This is one of the inherited members.
-//   int method(int? i) => i ?? 0;
-//       ^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart:24:7: Context: This is one of the inherited members.
-//   int method(int i, {optional});
-//       ^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart:16:16: Error: Class 'B2' inherits multiple members named 'genericMethod2' with incompatible signatures.
-// Try adding a declaration of 'genericMethod2' to 'B2'.
-// abstract class B2 extends A implements C2 {
-//                ^^
-// pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in_lib.dart:8:5: Context: This is one of the inherited members.
-//   T genericMethod2<T extends Object?>(T t) => t;
-//     ^^^^^^^^^^^^^^
-// pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart:26:5: Context: This is one of the inherited members.
-//   T genericMethod2<T extends Object>(T t);
-//     ^^^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "nsm_from_opt_in_lib.dart" as nsm;
-
-import "org-dartlang-testcase:///nsm_from_opt_in_lib.dart";
-
-abstract class A2 extends core::Object implements nsm::A {
-  synthetic constructor •() → self::A2
-    ;
-  @core::override
-  method noSuchMethod(core::Invocation invocation) → dynamic
-    ;
-}
-abstract class B2 extends nsm::A implements self::C2 {
-  synthetic constructor •() → self::B2
-    ;
-  @core::override
-  method noSuchMethod(core::Invocation invocation) → dynamic
-    ;
-}
-abstract class C2 extends core::Object {
-  synthetic constructor •() → self::C2
-    ;
-  abstract method method(core::int i, {dynamic optional}) → core::int;
-  abstract method genericMethod1<T extends core::Object? = dynamic>(self::C2::genericMethod1::T% t) → self::C2::genericMethod1::T%;
-  abstract method genericMethod2<T extends core::Object = core::Object>(self::C2::genericMethod2::T t) → self::C2::genericMethod2::T;
-  abstract method genericMethod3<T extends core::Object = core::Object>(self::C2::genericMethod3::T t) → self::C2::genericMethod3::T;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-import self as nsm;
-import "dart:core" as core;
-
-class A extends core::Object {
-  synthetic constructor •() → nsm::A
-    ;
-  method method(core::int? i) → core::int
-    ;
-  method genericMethod1<T extends core::Object? = dynamic>(nsm::A::genericMethod1::T% t) → nsm::A::genericMethod1::T%
-    ;
-  method genericMethod2<T extends core::Object? = core::Object?>(nsm::A::genericMethod2::T% t) → nsm::A::genericMethod2::T%
-    ;
-  method genericMethod3<T extends core::Object = core::Object>(nsm::A::genericMethod3::T t) → nsm::A::genericMethod3::T
-    ;
-}
-abstract class B1 extends nsm::A implements nsm::C1 {
-  synthetic constructor •() → nsm::B1
-    ;
-  @core::override
-  method noSuchMethod(core::Invocation invocation) → dynamic
-    ;
-  abstract forwarding-stub method method(core::int? i, {dynamic optional}) → core::int;
-}
-abstract class C1 extends core::Object {
-  synthetic constructor •() → nsm::C1
-    ;
-  abstract method method(core::int? i, {dynamic optional}) → core::int;
-  abstract method genericMethod1<T extends core::Object? = dynamic>(nsm::C1::genericMethod1::T% t) → nsm::C1::genericMethod1::T%;
-  abstract method genericMethod2<T extends core::Object? = core::Object?>(nsm::C1::genericMethod2::T% t) → nsm::C1::genericMethod2::T%;
-  abstract method genericMethod3<T extends core::Object = core::Object>(nsm::C1::genericMethod3::T t) → nsm::C1::genericMethod3::T;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..b110150
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/nsm_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,107 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "nsm_from_opt_in_lib.dart" as nsm;
+
+import "org-dartlang-testcase:///nsm_from_opt_in_lib.dart";
+
+abstract class A2 extends core::Object implements nsm::A {
+  synthetic constructor •() → self::A2*
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation* invocation) → dynamic
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+  abstract member-signature method method(core::int* i) → core::int*; -> nsm::A::method
+  abstract member-signature method genericMethod1<T extends core::Object* = dynamic>(self::A2::genericMethod1::T* t) → self::A2::genericMethod1::T*; -> nsm::A::genericMethod1
+  abstract member-signature method genericMethod2<T extends core::Object* = core::Object*>(self::A2::genericMethod2::T* t) → self::A2::genericMethod2::T*; -> nsm::A::genericMethod2
+  abstract member-signature method genericMethod3<T extends core::Object* = core::Object*>(self::A2::genericMethod3::T* t) → self::A2::genericMethod3::T*; -> nsm::A::genericMethod3
+}
+abstract class B2 extends nsm::A implements self::C2 {
+  synthetic constructor •() → self::B2*
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation* invocation) → dynamic
+    ;
+  abstract member-signature method method(core::int* i, {dynamic optional}) → core::int*; -> self::C2::method
+  abstract member-signature method genericMethod1<T extends core::Object* = dynamic>(self::B2::genericMethod1::T* t) → self::B2::genericMethod1::T*; -> nsm::A::genericMethod1
+  abstract member-signature method genericMethod2<T extends core::Object* = core::Object*>(self::B2::genericMethod2::T* t) → self::B2::genericMethod2::T*; -> nsm::A::genericMethod2
+  abstract member-signature method genericMethod3<T extends core::Object* = core::Object*>(self::B2::genericMethod3::T* t) → self::B2::genericMethod3::T*; -> nsm::A::genericMethod3
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class C2 extends core::Object {
+  synthetic constructor •() → self::C2*
+    ;
+  abstract method method(core::int* i, {dynamic optional}) → core::int*;
+  abstract method genericMethod1<T extends core::Object* = dynamic>(self::C2::genericMethod1::T* t) → self::C2::genericMethod1::T*;
+  abstract method genericMethod2<T extends core::Object* = core::Object*>(self::C2::genericMethod2::T* t) → self::C2::genericMethod2::T*;
+  abstract method genericMethod3<T extends core::Object* = core::Object*>(self::C2::genericMethod3::T* t) → self::C2::genericMethod3::T*;
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as nsm;
+import "dart:core" as core;
+
+class A extends core::Object {
+  synthetic constructor •() → nsm::A
+    ;
+  method method(core::int? i) → core::int
+    ;
+  method genericMethod1<T extends core::Object? = dynamic>(nsm::A::genericMethod1::T% t) → nsm::A::genericMethod1::T%
+    ;
+  method genericMethod2<T extends core::Object? = core::Object?>(nsm::A::genericMethod2::T% t) → nsm::A::genericMethod2::T%
+    ;
+  method genericMethod3<T extends core::Object = core::Object>(nsm::A::genericMethod3::T t) → nsm::A::genericMethod3::T
+    ;
+}
+abstract class B1 extends nsm::A implements nsm::C1 {
+  synthetic constructor •() → nsm::B1
+    ;
+  @core::override
+  method noSuchMethod(core::Invocation invocation) → dynamic
+    ;
+  abstract member-signature method method(core::int? i, {dynamic optional}) → core::int; -> nsm::C1::method
+}
+abstract class C1 extends core::Object {
+  synthetic constructor •() → nsm::C1
+    ;
+  abstract method method(core::int? i, {dynamic optional}) → core::int;
+  abstract method genericMethod1<T extends core::Object? = dynamic>(nsm::C1::genericMethod1::T% t) → nsm::C1::genericMethod1::T%;
+  abstract method genericMethod2<T extends core::Object? = core::Object?>(nsm::C1::genericMethod2::T% t) → nsm::C1::genericMethod2::T%;
+  abstract method genericMethod3<T extends core::Object = core::Object>(nsm::C1::genericMethod3::T t) → nsm::C1::genericMethod3::T;
+}
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///nsm_from_opt_in.dart:10:4 -> InstanceConstant(const _Override{})
+Evaluated: StaticGet @ org-dartlang-testcase:///nsm_from_opt_in.dart:17:4 -> InstanceConstant(const _Override{})
+Evaluated: StaticGet @ org-dartlang-testcase:///nsm_from_opt_in_lib.dart:13:4 -> InstanceConstant(const _Override{})
+Extra constant evaluation: evaluated: 3, effectively constant: 3
diff --git a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.expect
index b7359ad..46b2806 100644
--- a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.expect
@@ -3,7 +3,7 @@
 // Problems in library:
 //
 // pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // int? i;
 //    ^
 // pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
diff --git a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.outline.expect
new file mode 100644
index 0000000..c8ed156
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.outline.expect
@@ -0,0 +1,18 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart:7:4: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// int? i;
+//    ^
+// pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.7
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static field core::int? i;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.transformed.expect
index b7359ad..46b2806 100644
--- a/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart.weak.transformed.expect
@@ -3,7 +3,7 @@
 // Problems in library:
 //
 // pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart:7:4: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // int? i;
 //    ^
 // pkg/front_end/testcases/nnbd_mixed/null_safety_invalid_language_version.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
diff --git a/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..532bcce
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/nullable_extension_on_opt_out.dart.weak.outline.expect
@@ -0,0 +1,36 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "nullable_extension_on_opt_out_lib.dart" as nul;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///nullable_extension_on_opt_out_lib.dart";
+
+extension _extension#0 on nul::A? {
+  get text = self::_extension#0|get#text;
+}
+static method _extension#0|get#text(lowered final nul::A? #this) → core::String
+  ;
+static method main() → void
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+
+library;
+import self as nul;
+import "dart:core" as core;
+
+class A extends core::Object {
+  field core::String* text;
+  synthetic constructor •() → nul::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/object_bound_factory/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/object_bound_factory/main.dart.weak.outline.expect
new file mode 100644
index 0000000..64dc146
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/object_bound_factory/main.dart.weak.outline.expect
@@ -0,0 +1,74 @@
+library;
+import self as self;
+
+import "org-dartlang-testcase:///opt_in_lib.dart";
+
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+class Class1<T extends core::Object? = core::Object?> extends core::Object /*hasConstConstructor*/  {
+  static final field dynamic _redirecting# = <dynamic>[self2::Class1::redirect, self2::Class1::constRedirect]/*isLegacy*/;
+  const constructor _() → self2::Class1<self2::Class1::T%>
+    : super core::Object::•()
+    ;
+  static factory redirect<T extends core::Object? = core::Object?>() → self2::Class1<self2::Class1::redirect::T%>
+    let dynamic #redirecting_factory = self2::Class1::_ in let self2::Class1::redirect::T% #typeArg0 = null in invalid-expression;
+  static factory constRedirect<T extends core::Object? = core::Object?>() → self2::Class1<self2::Class1::constRedirect::T%>
+    let dynamic #redirecting_factory = self2::Class1::_ in let self2::Class1::constRedirect::T% #typeArg0 = null in invalid-expression;
+  static factory fact<T extends core::Object? = core::Object?>() → self2::Class1<self2::Class1::fact::T%>
+    ;
+}
+class Class2<T extends core::Object = core::Object> extends core::Object /*hasConstConstructor*/  {
+  static final field dynamic _redirecting# = <dynamic>[self2::Class2::redirect, self2::Class2::constRedirect]/*isLegacy*/;
+  const constructor _() → self2::Class2<self2::Class2::T>
+    : super core::Object::•()
+    ;
+  static factory redirect<T extends core::Object = core::Object>() → self2::Class2<self2::Class2::redirect::T>
+    let dynamic #redirecting_factory = self2::Class2::_ in let self2::Class2::redirect::T #typeArg0 = null in invalid-expression;
+  static factory constRedirect<T extends core::Object = core::Object>() → self2::Class2<self2::Class2::constRedirect::T>
+    let dynamic #redirecting_factory = self2::Class2::_ in let self2::Class2::constRedirect::T #typeArg0 = null in invalid-expression;
+  static factory fact<T extends core::Object = core::Object>() → self2::Class2<self2::Class2::fact::T>
+    ;
+}
+class Class3<T extends core::String = core::String> extends core::Object /*hasConstConstructor*/  {
+  static final field dynamic _redirecting# = <dynamic>[self2::Class3::redirect, self2::Class3::constRedirect]/*isLegacy*/;
+  const constructor _() → self2::Class3<self2::Class3::T>
+    : super core::Object::•()
+    ;
+  static factory redirect<T extends core::String = core::String>() → self2::Class3<self2::Class3::redirect::T>
+    let dynamic #redirecting_factory = self2::Class3::_ in let self2::Class3::redirect::T #typeArg0 = null in invalid-expression;
+  static factory constRedirect<T extends core::String = core::String>() → self2::Class3<self2::Class3::constRedirect::T>
+    let dynamic #redirecting_factory = self2::Class3::_ in let self2::Class3::constRedirect::T #typeArg0 = null in invalid-expression;
+  static factory fact<T extends core::String = core::String>() → self2::Class3<self2::Class3::fact::T>
+    ;
+}
+class Class4<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  {
+  static final field dynamic _redirecting# = <dynamic>[self2::Class4::redirect, self2::Class4::constRedirect]/*isLegacy*/;
+  const constructor _() → self2::Class4<self2::Class4::T%>
+    : super core::Object::•()
+    ;
+  static factory redirect<T extends core::Object? = dynamic>() → self2::Class4<self2::Class4::redirect::T%>
+    let dynamic #redirecting_factory = self2::Class4::_ in let self2::Class4::redirect::T% #typeArg0 = null in invalid-expression;
+  static factory constRedirect<T extends core::Object? = dynamic>() → self2::Class4<self2::Class4::constRedirect::T%>
+    let dynamic #redirecting_factory = self2::Class4::_ in let self2::Class4::constRedirect::T% #typeArg0 = null in invalid-expression;
+  static factory fact<T extends core::Object? = dynamic>() → self2::Class4<self2::Class4::fact::T%>
+    ;
+}
+class Class5<T extends dynamic = dynamic> extends core::Object /*hasConstConstructor*/  {
+  static final field dynamic _redirecting# = <dynamic>[self2::Class5::redirect, self2::Class5::constRedirect]/*isLegacy*/;
+  const constructor _() → self2::Class5<self2::Class5::T%>
+    : super core::Object::•()
+    ;
+  static factory redirect<T extends dynamic = dynamic>() → self2::Class5<self2::Class5::redirect::T%>
+    let dynamic #redirecting_factory = self2::Class5::_ in let self2::Class5::redirect::T% #typeArg0 = null in invalid-expression;
+  static factory constRedirect<T extends dynamic = dynamic>() → self2::Class5<self2::Class5::constRedirect::T%>
+    let dynamic #redirecting_factory = self2::Class5::_ in let self2::Class5::constRedirect::T% #typeArg0 = null in invalid-expression;
+  static factory fact<T extends dynamic = dynamic>() → self2::Class5<self2::Class5::fact::T%>
+    ;
+}
+static method testOptIn() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/object_bound_redirecting_factory/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/object_bound_redirecting_factory/main.dart.weak.outline.expect
new file mode 100644
index 0000000..95b24a3
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/object_bound_redirecting_factory/main.dart.weak.outline.expect
@@ -0,0 +1,85 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "opt_in_lib.dart" as opt;
+
+import "org-dartlang-testcase:///opt_in_lib.dart";
+
+class Class extends core::Object {
+  synthetic constructor •() → self::Class*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class XToken extends opt::Token<core::Object*> /*hasConstConstructor*/  {
+  const constructor •() → self::XToken*
+    : super opt::Token::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static const field core::List<opt::P<core::Object*>*>* list = const <opt::P<core::Object*>*>[const opt::CP::_<core::Object*>(self::Class*), const opt::VP::_<core::Object*>(const self::XToken::•(), "Hello World")];
+static const field opt::M* m = const opt::M::•(list: self::list);
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as opt;
+import "dart:core" as core;
+
+class P<T extends core::Object = core::Object> extends core::Object /*hasConstConstructor*/  {
+  final field core::Object token;
+  const constructor _(core::Object token) → opt::P<opt::P::T>
+    : opt::P::token = token, super core::Object::•()
+    ;
+}
+class CP<T extends core::Object = core::Object> extends opt::P<opt::CP::T> /*hasConstConstructor*/  {
+  static final field dynamic _redirecting# = <dynamic>[opt::CP::•]/*isLegacy*/;
+  const constructor _(core::Object token) → opt::CP<opt::CP::T>
+    : super opt::P::_(token)
+    ;
+  static factory •<T extends core::Object = core::Object>(core::Type type) → opt::CP<opt::CP::•::T>
+    let dynamic #redirecting_factory = opt::CP::_ in let opt::CP::•::T #typeArg0 = null in invalid-expression;
+}
+class Token<T extends core::Object = core::Object> extends core::Object /*hasConstConstructor*/  {
+  const constructor •() → opt::Token<opt::Token::T>
+    : super core::Object::•()
+    ;
+}
+class VP<T extends core::Object = core::Object> extends opt::P<opt::VP::T> /*hasConstConstructor*/  {
+  static final field dynamic _redirecting# = <dynamic>[opt::VP::forToken]/*isLegacy*/;
+  const constructor _(core::Object token, opt::VP::T useValue) → opt::VP<opt::VP::T>
+    : super opt::P::_(token)
+    ;
+  static factory forToken<T extends core::Object = core::Object>(opt::Token<opt::VP::forToken::T> token, opt::VP::forToken::T useValue) → opt::VP<opt::VP::forToken::T>
+    let dynamic #redirecting_factory = opt::VP::_ in let opt::VP::forToken::T #typeArg0 = null in invalid-expression;
+}
+class M extends core::Object /*hasConstConstructor*/  {
+  final field core::List<opt::P<core::Object>> list;
+  const constructor •({core::List<opt::P<core::Object>> list = const <opt::P<core::Object>>[]}) → opt::M
+    : opt::M::list = list, super core::Object::•()
+    ;
+}
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///main.dart:15:14 -> ListConstant(const <P<Object*>*>[const CP<Object*>{P.token: Class*}, const VP<Object*>{P.token: const XToken{}}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///main.dart:20:11 -> InstanceConstant(const M{M.list: const <P<Object*>*>[const CP<Object*>{P.token: Class*}, const VP<Object*>{P.token: const XToken{}}]})
+Evaluated: ListLiteral @ org-dartlang-testcase:///opt_in_lib.dart:36:24 -> ListConstant(const <P<Object*>*>[])
+Extra constant evaluation: evaluated: 17, effectively constant: 3
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.outline.expect
deleted file mode 100644
index 518b5fc..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.outline.expect
+++ /dev/null
@@ -1,71 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/opt_out.dart:16:11: Error: Can't create typedef from nullable type.
-// typedef F = void Function()?;
-//           ^
-//
-import self as self;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///opt_out_lib.dart";
-
-typedef F = invalid-type;
-class A<T extends core::Object? = dynamic> extends core::Object {
-  late field core::int field;
-  synthetic constructor •() → self::A<self::A::T%>
-    ;
-}
-class B extends self::A<core::String?> {
-  synthetic constructor •() → self::B
-    ;
-}
-static field core::List<core::String?> l;
-static field core::String? s;
-static field core::String t;
-late static field core::int field;
-static method method(() →? void f, {required core::int a}) → void
-  ;
-static method main() → dynamic
-  ;
-static method noErrors() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:20:11: Error: Can't create typedef from nullable type.
-// typedef F = void Function()?;
-//           ^
-//
-// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:28:29: Error: Optional parameter 'a' should have a default value because its type 'int' doesn't allow null.
-// void method(void f()?, {int a}) {}
-//                             ^
-//
-import self as self2;
-import "dart:core" as core;
-
-typedef F = invalid-type;
-class A<T extends core::Object? = dynamic> extends core::Object {
-  field core::int field;
-  synthetic constructor •() → self2::A<self2::A::T%>
-    ;
-}
-class B extends self2::A<core::String?> {
-  synthetic constructor •() → self2::B
-    ;
-}
-static field core::List<core::String?> l;
-static field core::String? s;
-static field core::String t;
-static field core::int field;
-static method method(() →? void f, {core::int a}) → void
-  ;
-static method errors() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
index afc1e53..df7a1ae 100644
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.expect
@@ -44,7 +44,7 @@
 // Problems in library:
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:18:25: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // class B extends A<String?> {}
 //                         ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -52,7 +52,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:20:28: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // typedef F = void Function()?;
 //                            ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -60,7 +60,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:22:12: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // List<String?> l = [];
 //            ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -68,7 +68,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:23:7: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // String? s = null;
 //       ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -76,7 +76,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:28:21: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // void method(void f()?, {int a}) {}
 //                     ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -84,7 +84,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:24:10: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // var t = s!;
 //          ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -92,7 +92,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:32:14: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   List<String?> l = null;
 //              ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -100,7 +100,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:33:9: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   String? s = null;
 //         ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -108,7 +108,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:34:12: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   var t = s!;
 //            ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -126,7 +126,7 @@
 //      ^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:37:5: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   c?[0];
 //     ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..c67bc6d
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.outline.expect
@@ -0,0 +1,117 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/opt_out.dart:16:11: Error: Can't create typedef from nullable type.
+// typedef F = void Function()?;
+//           ^
+//
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///opt_out_lib.dart";
+
+typedef F = invalid-type;
+class A<T extends core::Object? = dynamic> extends core::Object {
+  late field core::int field;
+  synthetic constructor •() → self::A<self::A::T%>
+    ;
+}
+class B extends self::A<core::String?> {
+  synthetic constructor •() → self::B
+    ;
+}
+static field core::List<core::String?> l;
+static field core::String? s;
+static field core::String t;
+late static field core::int field;
+static method method(() →? void f, {required core::int a}) → void
+  ;
+static method main() → dynamic
+  ;
+static method noErrors() → dynamic
+  ;
+
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:18:25: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// class B extends A<String?> {}
+//                         ^
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.5
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:20:28: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// typedef F = void Function()?;
+//                            ^
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.5
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:22:12: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// List<String?> l = [];
+//            ^
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.5
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:23:7: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// String? s = null;
+//       ^
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.5
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:28:21: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// void method(void f()?, {int a}) {}
+//                     ^
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.5
+// ^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:24:10: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+// var t = s!;
+//          ^
+// pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.5
+// ^^^^^^^^^^^^
+//
+import self as self2;
+import "dart:core" as core;
+
+typedef F = () →? void;
+class A<T extends core::Object* = dynamic> extends core::Object {
+  field core::int* field;
+  synthetic constructor •() → self2::A<self2::A::T*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class B extends self2::A<core::String*> {
+  synthetic constructor •() → self2::B*
+    ;
+}
+static field core::List<core::String?>* l;
+static field core::String? s;
+static field core::String* t;
+static field core::int* field;
+static method method(() →* void f, {core::int* a}) → void
+  ;
+static method errors() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
index 1df514c..602aa76 100644
--- a/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd_mixed/opt_out.dart.weak.transformed.expect
@@ -44,7 +44,7 @@
 // Problems in library:
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:18:25: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // class B extends A<String?> {}
 //                         ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -52,7 +52,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:20:28: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // typedef F = void Function()?;
 //                            ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -60,7 +60,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:22:12: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // List<String?> l = [];
 //            ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -68,7 +68,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:23:7: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // String? s = null;
 //       ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -76,7 +76,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:28:21: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // void method(void f()?, {int a}) {}
 //                     ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -84,7 +84,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:24:10: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 // var t = s!;
 //          ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -92,7 +92,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:32:14: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   List<String?> l = null;
 //              ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -100,7 +100,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:33:9: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   String? s = null;
 //         ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -108,7 +108,7 @@
 // ^^^^^^^^^^^^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:34:12: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   var t = s!;
 //            ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
@@ -126,7 +126,7 @@
 //      ^
 //
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:37:5: Error: Null safety features are disabled for this library.
-// Try removing the `@dart=` annotation or setting the language version to 2.10 or higher.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
 //   c?[0];
 //     ^
 // pkg/front_end/testcases/nnbd_mixed/opt_out_lib.dart:5:1: Context: This is the annotation that opts out this library from null safety features.
diff --git a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.outline.expect
deleted file mode 100644
index 87cde45..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.outline.expect
+++ /dev/null
@@ -1,20 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart:7:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  field core::Map<core::String, core::Set<core::String>> map;
-  synthetic constructor •() → self::Class
-    ;
-  method method(core::String node, core::Set<core::String> set) → core::List<core::String>
-    ;
-}
-static method main(dynamic args) → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.outline.expect
new file mode 100644
index 0000000..f736844
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/regress_null_aware.dart.weak.outline.expect
@@ -0,0 +1,23 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  field core::Map<core::String*, core::Set<core::String*>*>* map;
+  synthetic constructor •() → self::Class*
+    ;
+  method method(core::String* node, core::Set<core::String*>* set) → core::List<core::String*>*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main(dynamic args) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.outline.expect
deleted file mode 100644
index f629b08..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.outline.expect
+++ /dev/null
@@ -1,73 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:13:36: Error: The required named parameter 'i' in method 'A.test_default' is not required in overridden method 'B.test_default'.
-//   void test_default({required int? i}) {}
-//                                    ^
-// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:8:8: Context: This is the overridden method ('test_default').
-//   void test_default({int? i}) {}
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:14:39: Error: The required named parameter 'i' in method 'A.test_nondefault' is not required in overridden method 'B.test_nondefault'.
-//   void test_nondefault({required int? i}) {}
-//                                       ^
-// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:9:8: Context: This is the overridden method ('test_nondefault').
-//   void test_nondefault({int? i = 1}) {}
-//        ^
-//
-// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:15:35: Error: The required named parameter 'i' in method 'A.test_legacy' is not required in overridden method 'C.test_legacy'.
-//   void test_legacy({required int? i}) {}
-//                                   ^
-// pkg/front_end/testcases/nnbd_mixed/required_name_override_lib.dart:8:8: Context: This is the overridden method ('test_legacy').
-//   void test_legacy({int i}) {}
-//        ^
-//
-import self as self;
-import "dart:core" as core;
-import "required_name_override_lib.dart" as req;
-
-import "org-dartlang-testcase:///required_name_override_lib.dart";
-
-class B extends core::Object {
-  synthetic constructor •() → self::B
-    ;
-  method test_default({core::int? i}) → void
-    ;
-  method test_nondefault({core::int? i = 1}) → void
-    ;
-}
-class A extends self::B implements req::C {
-  synthetic constructor •() → self::A
-    ;
-  method test_default({required core::int? i}) → void
-    ;
-  method test_nondefault({required core::int? i}) → void
-    ;
-  method test_legacy({required core::int? i}) → void
-    ;
-}
-static method main() → dynamic
-  ;
-
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/required_name_override_lib.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.5
-// ^^^^^^^^^^^^
-//
-// pkg/front_end/testcases/nnbd_mixed/required_name_override_lib.dart:8:25: Error: Optional parameter 'i' should have a default value because its type 'int' doesn't allow null.
-//   void test_legacy({int i}) {}
-//                         ^
-//
-import self as req;
-import "dart:core" as core;
-
-class C extends core::Object {
-  synthetic constructor •() → req::C
-    ;
-  method test_legacy({core::int i}) → void
-    ;
-}
diff --git a/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.outline.expect
new file mode 100644
index 0000000..0817c84
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/required_name_override.dart.weak.outline.expect
@@ -0,0 +1,66 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:13:36: Error: The required named parameter 'i' in method 'A.test_default' is not required in overridden method 'B.test_default'.
+//   void test_default({required int? i}) {}
+//                                    ^
+// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:8:8: Context: This is the overridden method ('test_default').
+//   void test_default({int? i}) {}
+//        ^
+//
+// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:14:39: Error: The required named parameter 'i' in method 'A.test_nondefault' is not required in overridden method 'B.test_nondefault'.
+//   void test_nondefault({required int? i}) {}
+//                                       ^
+// pkg/front_end/testcases/nnbd_mixed/required_name_override.dart:9:8: Context: This is the overridden method ('test_nondefault').
+//   void test_nondefault({int? i = 1}) {}
+//        ^
+//
+import self as self;
+import "dart:core" as core;
+import "required_name_override_lib.dart" as req;
+
+import "org-dartlang-testcase:///required_name_override_lib.dart";
+
+class B extends core::Object {
+  synthetic constructor •() → self::B
+    ;
+  method test_default({core::int? i}) → void
+    ;
+  method test_nondefault({core::int? i = 1}) → void
+    ;
+}
+class A extends self::B implements req::C {
+  synthetic constructor •() → self::A
+    ;
+  method test_default({required core::int? i}) → void
+    ;
+  method test_nondefault({required core::int? i}) → void
+    ;
+  method test_legacy({required core::int? i}) → void
+    ;
+  abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as req;
+import "dart:core" as core;
+
+class C extends core::Object {
+  synthetic constructor •() → req::C*
+    ;
+  method test_legacy({core::int* i}) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/required_parameter_mixed_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/required_parameter_mixed_from_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..2e76a53
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/required_parameter_mixed_from_opt_out.dart.weak.outline.expect
@@ -0,0 +1,52 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "required_parameter_mixed_from_opt_out_lib.dart" as req;
+
+import "org-dartlang-testcase:///required_parameter_mixed_from_opt_out_lib.dart";
+
+class Super extends core::Object {
+  synthetic constructor •() → self::Super
+    ;
+  method method({required covariant core::int named}) → void
+    ;
+}
+abstract class _Class&Super&Mixin = self::Super with req::Mixin /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class&Super&Mixin
+    : super self::Super::•()
+    ;
+  forwarding-stub method /*isLegacy*/ method({covariant core::int* named}) → void
+    return super.{req::Mixin::method}(named: named);
+  abstract member-signature operator /*isLegacy*/ ==(dynamic other) → core::bool*; -> core::Object::==
+}
+class Class extends self::_Class&Super&Mixin {
+  synthetic constructor •() → self::Class
+    ;
+}
+class SubClass extends self::Class {
+  synthetic constructor •() → self::SubClass
+    ;
+  method method({required covariant core::int named}) → void
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as req;
+import "dart:core" as core;
+
+abstract class Mixin extends core::Object /*isMixinDeclaration*/  {
+  method method({core::int* named}) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/sink_hierarchy.dart.outline.expect b/pkg/front_end/testcases/nnbd_mixed/sink_hierarchy.dart.outline.expect
deleted file mode 100644
index a415894..0000000
--- a/pkg/front_end/testcases/nnbd_mixed/sink_hierarchy.dart.outline.expect
+++ /dev/null
@@ -1,34 +0,0 @@
-library /*isNonNullableByDefault*/;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/nnbd_mixed/sink_hierarchy.dart:5:1: Error: A library can't opt out of non-nullable by default, when in nnbd-strong mode.
-// // @dart=2.6
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-import "dart:async" as asy;
-
-abstract class Sink<T extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → self::Sink<self::Sink::T%>
-    ;
-  abstract method close() → void;
-}
-abstract class EventSink<T extends core::Object? = dynamic> extends core::Object implements self::Sink<self::EventSink::T%> {
-  synthetic constructor •() → self::EventSink<self::EventSink::T%>
-    ;
-  abstract method close() → void;
-}
-abstract class StreamConsumer<S extends core::Object? = dynamic> extends core::Object {
-  synthetic constructor •() → self::StreamConsumer<self::StreamConsumer::S%>
-    ;
-  abstract method close() → asy::Future<dynamic>;
-}
-abstract class StreamSink<S extends core::Object? = dynamic> extends core::Object implements self::EventSink<self::StreamSink::S%>, self::StreamConsumer<self::StreamSink::S%> {
-  synthetic constructor •() → self::StreamSink<self::StreamSink::S%>
-    ;
-  abstract method close() → asy::Future<dynamic>;
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/sink_hierarchy.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/sink_hierarchy.dart.weak.outline.expect
new file mode 100644
index 0000000..34a7679
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/sink_hierarchy.dart.weak.outline.expect
@@ -0,0 +1,67 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "dart:async" as asy;
+
+abstract class Sink<T extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::Sink<self::Sink::T*>*
+    ;
+  abstract method close() → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class EventSink<T extends core::Object* = dynamic> extends core::Object implements self::Sink<self::EventSink::T*> {
+  synthetic constructor •() → self::EventSink<self::EventSink::T*>*
+    ;
+  abstract method close() → void;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class StreamConsumer<S extends core::Object* = dynamic> extends core::Object {
+  synthetic constructor •() → self::StreamConsumer<self::StreamConsumer::S*>*
+    ;
+  abstract method close() → asy::Future<dynamic>*;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class StreamSink<S extends core::Object* = dynamic> extends core::Object implements self::EventSink<self::StreamSink::S*>, self::StreamConsumer<self::StreamSink::S*> {
+  synthetic constructor •() → self::StreamSink<self::StreamSink::S*>*
+    ;
+  abstract method close() → asy::Future<dynamic>*;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nnbd_mixed/super_access/main.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/super_access/main.dart.weak.outline.expect
new file mode 100644
index 0000000..ec066e1
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/super_access/main.dart.weak.outline.expect
@@ -0,0 +1,109 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "main_lib1.dart" as mai;
+import "main_lib2.dart" as mai2;
+
+import "org-dartlang-testcase:///main_lib1.dart";
+import "org-dartlang-testcase:///main_lib2.dart";
+
+abstract class _Class&Object&Mixin1<T extends core::Object* = dynamic> = core::Object with mai::Mixin1<self::_Class&Object&Mixin1::T*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Class&Object&Mixin1<self::_Class&Object&Mixin1::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _Class&Object&Mixin1&Mixin2<T extends core::Object* = dynamic> = self::_Class&Object&Mixin1<self::_Class&Object&Mixin1&Mixin2::T*> with mai::Mixin2<self::_Class&Object&Mixin1&Mixin2::T*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class&Object&Mixin1&Mixin2<self::_Class&Object&Mixin1&Mixin2::T*>*
+    : super self::_Class&Object&Mixin1::•()
+    ;
+  mixin-super-stub get field() → (dynamic) →* core::Type*
+    return super.{mai::Mixin2::field};
+  mixin-super-stub set field((dynamic) →* core::Type* value) → void
+    return super.{mai::Mixin2::field} = value;
+  mixin-super-stub method method1() → (dynamic) →* core::Type*
+    return super.{mai::Mixin2::method1}();
+  mixin-super-stub method method2((dynamic) →* core::Type* t) → void
+    return super.{mai::Mixin2::method2}(t);
+}
+class Class<T extends core::Object* = dynamic> extends self::_Class&Object&Mixin1&Mixin2<self::Class::T*> {
+  synthetic constructor •() → self::Class<self::Class::T*>*
+    ;
+  set field((dynamic) →* core::Type* value) → void
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as mai;
+import "dart:core" as core;
+import "main_lib2.dart" as mai2;
+
+import "org-dartlang-testcase:///main_lib2.dart";
+
+abstract class Mixin1<T extends core::Object* = dynamic> extends core::Object implements mai2::Interface<mai2::Value<dynamic>*, core::Object*> {
+  synthetic constructor •() → mai::Mixin1<mai::Mixin1::T*>*
+    ;
+  abstract member-signature get field() → (core::Object*) →* core::Type*; -> mai2::Interface::field
+  abstract member-signature set field((core::Object*) →* core::Type* value) → void; -> mai2::Interface::field
+  abstract member-signature method method1() → (core::Object*) →* core::Type*; -> mai2::Interface::method1
+  abstract member-signature method method2((core::Object*) →* core::Type* t) → void; -> mai2::Interface::method2
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Mixin2<T extends core::Object* = dynamic> extends core::Object implements mai2::Interface<mai2::Value<dynamic>*, core::Object*> {
+  field (dynamic) →* core::Type* field;
+  synthetic constructor •() → mai::Mixin2<mai::Mixin2::T*>*
+    ;
+  method method1() → (dynamic) →* core::Type*
+    ;
+  method method2((dynamic) →* core::Type* t) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library /*isNonNullableByDefault*/;
+import self as mai2;
+import "dart:core" as core;
+
+typedef Typedef<unrelated T extends mai2::Value<dynamic> = mai2::Value<dynamic>, contravariant I extends core::Object? = dynamic> = (I%) → core::Type;
+abstract class Value<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → mai2::Value<mai2::Value::T%>
+    ;
+}
+class Interface<T extends mai2::Value<dynamic> = mai2::Value<dynamic>, I extends core::Object? = dynamic> extends core::Object {
+  field (mai2::Interface::I%) →? core::Type field;
+  synthetic constructor •() → mai2::Interface<mai2::Interface::T, mai2::Interface::I%>
+    ;
+  method method1() → (mai2::Interface::I%) →? core::Type
+    ;
+  method method2((mai2::Interface::I%) →? core::Type t) → void
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/super_access/main.no_link.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/super_access/main.no_link.dart.weak.outline.expect
new file mode 100644
index 0000000..ec066e1
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/super_access/main.no_link.dart.weak.outline.expect
@@ -0,0 +1,109 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "main_lib1.dart" as mai;
+import "main_lib2.dart" as mai2;
+
+import "org-dartlang-testcase:///main_lib1.dart";
+import "org-dartlang-testcase:///main_lib2.dart";
+
+abstract class _Class&Object&Mixin1<T extends core::Object* = dynamic> = core::Object with mai::Mixin1<self::_Class&Object&Mixin1::T*> /*isAnonymousMixin,hasConstConstructor*/  {
+  const synthetic constructor •() → self::_Class&Object&Mixin1<self::_Class&Object&Mixin1::T*>*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class _Class&Object&Mixin1&Mixin2<T extends core::Object* = dynamic> = self::_Class&Object&Mixin1<self::_Class&Object&Mixin1&Mixin2::T*> with mai::Mixin2<self::_Class&Object&Mixin1&Mixin2::T*> /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_Class&Object&Mixin1&Mixin2<self::_Class&Object&Mixin1&Mixin2::T*>*
+    : super self::_Class&Object&Mixin1::•()
+    ;
+  mixin-super-stub get field() → (dynamic) →* core::Type*
+    return super.{mai::Mixin2::field};
+  mixin-super-stub set field((dynamic) →* core::Type* value) → void
+    return super.{mai::Mixin2::field} = value;
+  mixin-super-stub method method1() → (dynamic) →* core::Type*
+    return super.{mai::Mixin2::method1}();
+  mixin-super-stub method method2((dynamic) →* core::Type* t) → void
+    return super.{mai::Mixin2::method2}(t);
+}
+class Class<T extends core::Object* = dynamic> extends self::_Class&Object&Mixin1&Mixin2<self::Class::T*> {
+  synthetic constructor •() → self::Class<self::Class::T*>*
+    ;
+  set field((dynamic) →* core::Type* value) → void
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as mai;
+import "dart:core" as core;
+import "main_lib2.dart" as mai2;
+
+import "org-dartlang-testcase:///main_lib2.dart";
+
+abstract class Mixin1<T extends core::Object* = dynamic> extends core::Object implements mai2::Interface<mai2::Value<dynamic>*, core::Object*> {
+  synthetic constructor •() → mai::Mixin1<mai::Mixin1::T*>*
+    ;
+  abstract member-signature get field() → (core::Object*) →* core::Type*; -> mai2::Interface::field
+  abstract member-signature set field((core::Object*) →* core::Type* value) → void; -> mai2::Interface::field
+  abstract member-signature method method1() → (core::Object*) →* core::Type*; -> mai2::Interface::method1
+  abstract member-signature method method2((core::Object*) →* core::Type* t) → void; -> mai2::Interface::method2
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+abstract class Mixin2<T extends core::Object* = dynamic> extends core::Object implements mai2::Interface<mai2::Value<dynamic>*, core::Object*> {
+  field (dynamic) →* core::Type* field;
+  synthetic constructor •() → mai::Mixin2<mai::Mixin2::T*>*
+    ;
+  method method1() → (dynamic) →* core::Type*
+    ;
+  method method2((dynamic) →* core::Type* t) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+
+library /*isNonNullableByDefault*/;
+import self as mai2;
+import "dart:core" as core;
+
+typedef Typedef<unrelated T extends mai2::Value<dynamic> = mai2::Value<dynamic>, contravariant I extends core::Object? = dynamic> = (I%) → core::Type;
+abstract class Value<T extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → mai2::Value<mai2::Value::T%>
+    ;
+}
+class Interface<T extends mai2::Value<dynamic> = mai2::Value<dynamic>, I extends core::Object? = dynamic> extends core::Object {
+  field (mai2::Interface::I%) →? core::Type field;
+  synthetic constructor •() → mai2::Interface<mai2::Interface::T, mai2::Interface::I%>
+    ;
+  method method1() → (mai2::Interface::I%) →? core::Type
+    ;
+  method method2((mai2::Interface::I%) →? core::Type t) → void
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/super_set_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/super_set_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..4d791b9
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/super_set_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,49 @@
+library;
+import self as self;
+import "super_set_from_opt_in_lib.dart" as sup;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///super_set_from_opt_in_lib.dart";
+
+abstract class Class extends sup::SuperClass<dynamic> {
+  synthetic constructor •() → self::Class*
+    ;
+  abstract member-signature get property() → core::Object*; -> sup::SuperClass::property
+  abstract member-signature set property(core::Object* value) → void; -> sup::SuperClass::property
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class SubClass extends self::Class {
+  synthetic constructor •() → self::SubClass*
+    ;
+  @core::override
+  set property(core::Object* value) → void
+    ;
+}
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as sup;
+import "dart:core" as core;
+
+abstract class SuperClass<T extends core::Object? = dynamic> extends core::Object {
+  @core::override
+  field core::Object? property;
+  synthetic constructor •() → sup::SuperClass<sup::SuperClass::T%>
+    ;
+}
+
+
+Extra constant evaluation status:
+Evaluated: StaticGet @ org-dartlang-testcase:///super_set_from_opt_in.dart:15:4 -> InstanceConstant(const _Override{})
+Evaluated: StaticGet @ org-dartlang-testcase:///super_set_from_opt_in_lib.dart:6:4 -> InstanceConstant(const _Override{})
+Extra constant evaluation: evaluated: 2, effectively constant: 2
diff --git a/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.outline.expect
new file mode 100644
index 0000000..ffb28dc
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/type_parameter_nullability.dart.weak.outline.expect
@@ -0,0 +1,37 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///type_parameter_nullability_lib.dart";
+
+class C<T extends core::num? = core::num?, S extends core::Object? = dynamic, U extends core::Object? = dynamic> extends core::Object {
+  synthetic constructor •() → self::C<self::C::T%, self::C::S%, self::C::U%>
+    ;
+  method promoteNullable(generic-covariant-impl self::C::T? t) → void
+    ;
+  method nullableAsUndetermined(generic-covariant-impl self::C::S? s) → void
+    ;
+}
+static method main() → dynamic
+  ;
+
+library;
+import self as self2;
+import "dart:core" as core;
+
+class D<T extends core::num* = core::num*> extends core::Object {
+  synthetic constructor •() → self2::D<self2::D::T*>*
+    ;
+  method promoteLegacy(generic-covariant-impl self2::D::T* t) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..5d7d781
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/typedef_from_opt_in.dart.weak.outline.expect
@@ -0,0 +1,30 @@
+library;
+import self as self;
+import "typedef_from_opt_in_lib.dart" as typ;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///typedef_from_opt_in_lib.dart";
+
+static method method1() → (typ::Request*) →* FutureOr<typ::Response*>*
+  ;
+static method method2() → (core::int*) →* core::int*
+  ;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as typ;
+import "dart:core" as core;
+
+import "dart:async";
+
+typedef Handler = (typ::Request) → FutureOr<typ::Response>;
+typedef Typedef = (core::int?) → core::int;
+class Request extends core::Object {
+  synthetic constructor •() → typ::Request
+    ;
+}
+class Response extends core::Object {
+  synthetic constructor •() → typ::Response
+    ;
+}
diff --git a/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.outline.expect b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.outline.expect
new file mode 100644
index 0000000..a1c7eb4
--- /dev/null
+++ b/pkg/front_end/testcases/nnbd_mixed/unsound_checks.dart.weak.outline.expect
@@ -0,0 +1,302 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+import "org-dartlang-testcase:///unsound_checks_lib.dart";
+
+class OptOutClass1 extends core::Object {
+  synthetic constructor •() → self::OptOutClass1*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class OptOutClass2 extends core::Object {
+  synthetic constructor •() → self::OptOutClass2*
+    ;
+  operator [](core::int* index) → core::int*
+    ;
+  operator []=(core::int* index, core::int* value) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class OptOutClass3 extends core::Object {
+  field core::int* field;
+  constructor •(core::int* field) → self::OptOutClass3*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class OptOutSuperClass4 extends core::Object {
+  synthetic constructor •() → self::OptOutSuperClass4*
+    ;
+  operator [](core::int* index) → core::int*
+    ;
+  operator []=(core::int* index, core::int* value) → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+class OptOutClass4 extends self::OptOutSuperClass4 {
+  synthetic constructor •() → self::OptOutClass4*
+    ;
+  method method(core::int* i) → dynamic
+    ;
+  method methodForEffect(core::int* i) → dynamic
+    ;
+}
+class OptOutClass5 extends core::Object {
+  field core::int* field;
+  constructor •(core::int* field) → self::OptOutClass5*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+extension OptOutExtension on self::OptOutClass1* {
+  operator [] = self::OptOutExtension|[];
+  operator []= = self::OptOutExtension|[]=;
+}
+static method isNullOptOut1(core::int* i) → dynamic
+  ;
+static method isNotNullOptOut1(core::int* i) → dynamic
+  ;
+static method isNullOptOut2(core::int* i) → dynamic
+  ;
+static method isNotNullOptOut2(core::int* i) → dynamic
+  ;
+static method ifNullOptOut(core::int* i) → dynamic
+  ;
+static method OptOutExtension|[](lowered final self::OptOutClass1* #this, core::int* index) → core::int*
+  ;
+static method OptOutExtension|[]=(lowered final self::OptOutClass1* #this, core::int* index, core::int* value) → void
+  ;
+static method extensionIfNullOptOut1(core::int* i) → dynamic
+  ;
+static method extensionIfNullOptOut1ForEffect(core::int* i) → dynamic
+  ;
+static method extensionIfNullOptOut2(core::int* i) → dynamic
+  ;
+static method extensionIfNullOptOut2ForEffect(core::int* i) → dynamic
+  ;
+static method ifNullIndexSetOptOut(core::int* i) → dynamic
+  ;
+static method ifNullIndexSetOptOutForEffect(core::int* i) → dynamic
+  ;
+static method ifNullPropertySetOptOut(core::int* i) → dynamic
+  ;
+static method ifNullPropertySetOptOutForEffect(core::int* i) → dynamic
+  ;
+static method ifNullSetOptOut(core::int* i) → dynamic
+  ;
+static method ifNullSetOptOutForEffect(core::int* i) → dynamic
+  ;
+static method ifNullSuperIndexSetOptOut(core::int* i) → dynamic
+  ;
+static method ifNullSuperIndexSetOptOutForEffect(core::int* i) → dynamic
+  ;
+static method nullAwareIfNullSetOptOut(core::int* i) → dynamic
+  ;
+static method nullAwareIfNullSetOptOutForEffect(core::int* i) → dynamic
+  ;
+static method isTestOptOut(core::int* i) → dynamic
+  ;
+static method isNotTestOptOut(core::int* i) → dynamic
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() →* void f, [(core::Object*) →* core::bool* testException]) → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+import self as self2;
+import "dart:core" as core;
+
+class OptInClass1 extends core::Object {
+  synthetic constructor •() → self2::OptInClass1
+    ;
+}
+class OptInClass2 extends core::Object {
+  synthetic constructor •() → self2::OptInClass2
+    ;
+  operator [](core::int index) → core::int
+    ;
+  operator []=(core::int index, core::int value) → void
+    ;
+}
+class OptInClass3 extends core::Object {
+  field core::int field;
+  constructor •(core::int field) → self2::OptInClass3
+    ;
+}
+class OptInSuperClass4 extends core::Object {
+  synthetic constructor •() → self2::OptInSuperClass4
+    ;
+  operator [](core::int index) → core::int
+    ;
+  operator []=(core::int index, core::int value) → void
+    ;
+}
+class OptInClass4 extends self2::OptInSuperClass4 {
+  synthetic constructor •() → self2::OptInClass4
+    ;
+  method method(core::int i) → dynamic
+    ;
+  method methodForEffect(core::int i) → dynamic
+    ;
+}
+class OptInClass5 extends core::Object {
+  field core::int field;
+  constructor •(core::int field) → self2::OptInClass5
+    ;
+}
+class OptInClass6a extends core::Object {
+  final field self2::OptInClass6b cls;
+  constructor •(self2::OptInClass6b cls) → self2::OptInClass6a
+    ;
+}
+class OptInClass6b extends core::Object {
+  final field core::int field;
+  constructor •(core::int field) → self2::OptInClass6b
+    ;
+}
+class E extends core::Object /*isEnum*/  {
+  final field core::int index;
+  final field core::String _name;
+  static const field core::List<self2::E> values = const <self2::E>[self2::E::e1, self2::E::e2];
+  static const field self2::E e1 = const self2::E::•(0, "E.e1");
+  static const field self2::E e2 = const self2::E::•(1, "E.e2");
+  const constructor •(core::int index, core::String _name) → self2::E
+    : self2::E::index = index, self2::E::_name = _name, super core::Object::•()
+    ;
+  method toString() → core::String
+    return this.{self2::E::_name};
+}
+extension OptInExtension on self2::OptInClass1 {
+  operator [] = self2::OptInExtension|[];
+  operator []= = self2::OptInExtension|[]=;
+}
+static method isNullOptIn1(core::int i) → dynamic
+  ;
+static method isNotNullOptIn1(core::int i) → dynamic
+  ;
+static method isNullOptIn2(core::int i) → dynamic
+  ;
+static method isNotNullOptIn2(core::int i) → dynamic
+  ;
+static method ifNullOptIn(core::int i) → dynamic
+  ;
+static method OptInExtension|[](lowered final self2::OptInClass1 #this, core::int index) → core::int
+  ;
+static method OptInExtension|[]=(lowered final self2::OptInClass1 #this, core::int index, core::int value) → void
+  ;
+static method extensionIfNullOptIn1(core::int i) → dynamic
+  ;
+static method extensionIfNullOptIn1ForEffect(core::int i) → dynamic
+  ;
+static method extensionIfNullOptIn2(core::int i) → dynamic
+  ;
+static method extensionIfNullOptIn2ForEffect(core::int i) → dynamic
+  ;
+static method ifNullIndexSetOptIn(core::int i) → dynamic
+  ;
+static method ifNullIndexSetOptInForEffect(core::int i) → dynamic
+  ;
+static method ifNullPropertySetOptIn(core::int i) → dynamic
+  ;
+static method ifNullPropertySetOptInForEffect(core::int i) → dynamic
+  ;
+static method ifNullSetOptIn(core::int i) → dynamic
+  ;
+static method ifNullSetOptInForEffect(core::int i) → dynamic
+  ;
+static method ifNullSuperIndexSetOptIn(core::int i) → dynamic
+  ;
+static method ifNullSuperIndexSetOptInForEffect(core::int i) → dynamic
+  ;
+static method nullAwareIfNullSetOptIn(core::int i) → dynamic
+  ;
+static method nullAwareIfNullSetOptInForEffect(core::int i) → dynamic
+  ;
+static method isTestOptIn(core::int i) → dynamic
+  ;
+static method isNotTestOptIn(core::int i) → dynamic
+  ;
+static method nullAwareAccess1(core::int i) → dynamic
+  ;
+static method nullAwareAccessForEffect1(core::int i) → dynamic
+  ;
+static method promotionToNever(core::int i) → dynamic
+  ;
+static method unnecessaryNullCheck(() → core::int f) → dynamic
+  ;
+static method unnecessaryIfNull(() → core::int f, () → core::int g) → dynamic
+  ;
+static method unnecessaryIfNullAssign(core::List<core::int> x, () → core::int f) → dynamic
+  ;
+static method unnecessaryNullAwareAccess(() → core::int f) → dynamic
+  ;
+static method callReturningNever(() → Never f) → dynamic
+  ;
+static method switchOnEnum(self2::E e) → dynamic
+  ;
+static method switchOnEnumWithBreak(self2::E e) → dynamic
+  ;
+static method switchOnEnumWithFallThrough1(self2::E e) → dynamic
+  ;
+static method switchOnEnumWithFallThrough2(self2::E e) → dynamic
+  ;
+static method handleThrow() → dynamic
+  ;
+static method handleRethrow() → dynamic
+  ;
+static method handleInvalid(dynamic d) → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///unsound_checks_lib.dart:145:6 -> ListConstant(const <E*>[const E{E.index: 0, E._name: "E.e1"}, const E{E.index: 1, E._name: "E.e2"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///unsound_checks_lib.dart:145:10 -> InstanceConstant(const E{E.index: 0, E._name: "E.e1"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///unsound_checks_lib.dart:145:14 -> InstanceConstant(const E{E.index: 1, E._name: "E.e2"})
+Extra constant evaluation: evaluated: 7, effectively constant: 3
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart
index fdaad64..f3982f8 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that noSuchMethod forwarders are generated for abstract
 // accessors implicitly declared via fields of abstract classes.  The type
 // checks should be performed for the return values of getters and for the r.h.s
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.hierarchy.expect
deleted file mode 100644
index 7f7d266..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,103 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I.foo
-
-A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    I.foo
-
-B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> A
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    I.foo
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.textual_outline.expect
index 9333088..a654d72 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 void expectTypeError(callback()) {}
 
 abstract class I {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.textual_outline_modelled.expect
index d7487d5..0179103 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   int foo;
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart
index cebe1ac..3a1432c 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that noSuchMethod forwarders that were generated for
 // abstract accessors declared via field in an interface don't override concrete
 // getters and setters in the mixin application.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.hierarchy.expect
deleted file mode 100644
index 018c929..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.hierarchy.expect
+++ /dev/null
@@ -1,137 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.foo
-
-Object with B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: B, A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.foo
-
-C:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _C&Object&B
-  interfaces: B, A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.foo
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.textual_outline.expect
index 0c3243c..46660c0 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 int count = 0;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.textual_outline_modelled.expect
index 95afa4a..673e27d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   int foo;
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_arent_mixed_in.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart
index 74d8dee..9e4831f 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that noSuchMethod forwarders are generated for abstract
 // accessors implicitly declared via fields of abstract classes in case when one
 // of the accessors is defined in a superclass.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.hierarchy.expect
deleted file mode 100644
index f9e9b82..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.hierarchy.expect
+++ /dev/null
@@ -1,172 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.foo
-
-C:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> B
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.foo
-
-D:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    D.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.foo
-
-E:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> D
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.foo
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    D.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.foo
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.textual_outline.expect
index 0a9f2c8..6846857 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 void expectTypeError(callback()) {}
 
 abstract class A {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.textual_outline_modelled.expect
index 8f5c068..c7d5a95 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   int foo;
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_one_defined.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart
index 8b3cd2c..890c97a 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that noSuchMethod forwarders that are generated for abstract
 // accessors synthesized from a field of an interface have the proper type
 // substitution performed on the types of their parameters and on the return
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.hierarchy.expect
deleted file mode 100644
index 22986a4..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.hierarchy.expect
+++ /dev/null
@@ -1,70 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    A.foo
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.textual_outline.expect
index 45fe92b..8c3418a 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 void expectTypeError(callback()) {}
 
 abstract class A<X> {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.textual_outline_modelled.expect
index 127e73c..80cdd30 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A<X> {
   List<X> foo;
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_accessors_from_field_with_substitution.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart
index e5d16a8..22743b9 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that a noSuchMethod forwarder is generated in classes that
 // inherit a user-defined noSuchMethod from their superclass and have not
 // implemented abstract methods from their interfaces.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.hierarchy.expect
deleted file mode 100644
index 6261d75..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.hierarchy.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.textual_outline.expect
index 43533ee..e32f552 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic noSuchMethod(Invocation i) {}
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.textual_outline_modelled.expect
index 19f7e0e..293d1f9 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   void foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_interface_nsm_inherited.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart
index f616ccf..a6ea1cd 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // This is a regression test for http://dartbug.com/40248.
 
 class Base {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.textual_outline.expect
index 05bec89..8e20df6 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Base {
   set push(int x);
   set float(covariant int x);
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.textual_outline_modelled.expect
index a9d0939..f9de7d0 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Base {
   noSuchMethod(i) => print("${runtimeType}: ${i.positionalArguments[0]}");
   set float(covariant int x);
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_override_abstract_different_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart
index 053e43c..b934006 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // This is a regression test for http://dartbug.com/40248.
 
 class Cat {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.textual_outline.expect
index 7882e0f..8dbd1c4 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Cat {
   bool eatFood(String food) => true;
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.textual_outline_modelled.expect
index 9db578e..f5979fb 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class HungryCat {
   bool eatFood(String food, {double amount, double yetAnother});
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/abstract_override_with_different_signature.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart
index de97201..462a11c 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that when both LHS and RHS in a mixin application have a
 // concrete implementation of a method and a noSuchMethod forwarder for it, the
 // concrete implementation stays.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.hierarchy.expect
deleted file mode 100644
index a38db13..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.hierarchy.expect
+++ /dev/null
@@ -1,153 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A with B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> A
-  interfaces: B, I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> A
-        -> _C&A&B
-  interfaces: B, I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    B.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.textual_outline.expect
index d94d661..ad7f6bb 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.textual_outline_modelled.expect
index d94d661..ad7f6bb 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/concrete_method_over_forwarder_in_mixin_application.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart
index a4fb653..fa4c0aa 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the default argument values of noSuchMethod forwarder
 // parameters are passed to noSuchMethod when the corresponding arguments aren't
 // specified at the call site.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.hierarchy.expect
deleted file mode 100644
index 9c42ba3..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.hest
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.hest
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.textual_outline.expect
index 4af18d8..7bbf6b4 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   noSuchMethod(Invocation i) {}
   String foo({String bar = "baz"});
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.textual_outline_modelled.expect
index 5f49625..3a22e81 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   String foo({String bar = "baz"});
   int hest([int fisk = 42]);
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/default_argument_values.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart
index 615578d..1f6c251 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that only one noSuchMethod forwarder is generated in case of
 // multiple abstract methods with the same signature being declared in the
 // implemented interfaces.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.hierarchy.expect
deleted file mode 100644
index 6f90578..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,86 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I1.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I2.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I1, I2
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I1.foo
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.textual_outline.expect
index c5dc3c0..7f2c615 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I1 {
   void foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.textual_outline_modelled.expect
index c5dc3c0..7f2c615 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I1 {
   void foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/duplicated_abstract_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/folder.options b/pkg/front_end/testcases/no_such_method_forwarders/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/folder.options
+++ b/pkg/front_end/testcases/no_such_method_forwarders/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart
index b4af28d..2e67e5b 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 // The test checks that the noSuchMethod forwarders inserted into a class aren't
 // re-inserted in its children.
 
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.textual_outline.expect
index aaadcb4..da856df 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './forwarder_propagation_lib.dart';
 
 abstract class A {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.textual_outline_modelled.expect
index d3bb17c..69bf9e5 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import './forwarder_propagation_lib.dart';
 
 abstract class A {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation_lib.dart b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation_lib.dart
index 358059d..00e77a4 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation_lib.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarder_propagation_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 abstract class D {
   int _privateField;
   int get _privateGetter;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart
index 6a76ef8..634da1b 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the noSuchMethod forwarder is not assumed to be mixed
 // in and is generated for classes that mix in a user-defined noSuchMethod and
 // have an abstract method.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.hierarchy.expect
deleted file mode 100644
index 38e9a5f..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.hierarchy.expect
+++ /dev/null
@@ -1,131 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with A:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: A, I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _B&Object&A
-  interfaces: A, I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.textual_outline.expect
index 02f378d..f670386 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   void foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.textual_outline_modelled.expect
index 02f378d..f670386 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I {
   void foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/forwarders_not_assumed_from_mixin.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart
index a23c474..a6c989f 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This method checks that the noSuchMethod forwarder is generated in cases when
 // the class of the implemented interface has concrete methods.
 
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.hierarchy.expect
deleted file mode 100644
index 6261d75..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.hierarchy.expect
+++ /dev/null
@@ -1,85 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces: I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.textual_outline.expect
index 9c32609..8370870 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic noSuchMethod(Invocation i) {}
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.textual_outline_modelled.expect
index 0318a57..619daa9 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic noSuchMethod(Invocation i) {}
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/interface_with_concrete.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart
index af56a39..632d098 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that if an interface have a user-defined noSuchMethod, its
 // implementations that have their own user-defined noSuchMethods still receive
 // the noSuchMethod forwarders for each not implemented method from the
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.hierarchy.expect
deleted file mode 100644
index 84d907a..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.hierarchy.expect
+++ /dev/null
@@ -1,178 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    I.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with M:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _A&Object&M
-  interfaces: M, I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Object with M:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _B&Object&M
-  interfaces: M, I
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.textual_outline.expect
index bbc3c6c..8241a01 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class I {
   dynamic noSuchMethod(Invocation i) => null;
   void foo();
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.textual_outline_modelled.expect
index a90747d..13d831a 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends Object with M implements I {}
 
 class B extends Object with M implements I {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/interface_with_nsm.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart
index ae84f9d..e6c30b3 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class A {
   void set foo(int value) {}
   int get bar => null;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.textual_outline.expect
index af6ee89..b28e687 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   void set foo(int value) {}
   int get bar => null;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.textual_outline_modelled.expect
index 02e07d5..df500c1 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int get bar => null;
   void set foo(int value) {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/multiple_abstract_setters.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart
index bb14b72..1930ced 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the noSuchMethod forwarders aren't generated for the
 // abstract classes that have user-defined noSuchMethod, but rather in their
 // concrete descendants.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.hierarchy.expect
deleted file mode 100644
index a8ba41a..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.textual_outline.expect
index 85d405d..82f2682 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   noSuchMethod(i) => null;
   void foo();
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.textual_outline_modelled.expect
index 85d405d..82f2682 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   noSuchMethod(i) => null;
   void foo();
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart
index 3ea89bf..3e6074c 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the noSuchMethod forwarders aren't generated for the
 // abstract classes that have user-defined noSuchMethod, but rather in their
 // top-most concrete descendants.  The immediate abstract children should not
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.hierarchy.expect
deleted file mode 100644
index 5d65360..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.hierarchy.expect
+++ /dev/null
@@ -1,97 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> A
-        -> B
-          -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.textual_outline.expect
index 09d5fc9..63b0e4d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   noSuchMethod(i) => null;
   void foo();
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.textual_outline_modelled.expect
index 09d5fc9..63b0e4d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {
   noSuchMethod(i) => null;
   void foo();
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/no_forwarders_for_abstract_classes_chain.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart
index ecd60f1..0e9202e 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the noSuchMethod forwarder is generated in cases when
 // the user-defined noSuchMethod is inherited by classes with abstract methods.
 
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.hierarchy.expect
deleted file mode 100644
index 19ca4af..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-      -> M
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.call
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.textual_outline.expect
index 7ce56ae..c4c4bc0 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class M {
   dynamic noSuchMethod(Invocation invocation) => null;
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.textual_outline_modelled.expect
index 0421166..b5aecdf 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends M {
   void call(String s);
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/nsm_inherited.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart
index 284d817..025f510 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the noSuchMethod forwarder is generated in cases when
 // the user-defined noSuchMethod is mixed in to a class with abstract methods.
 
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.hierarchy.expect
deleted file mode 100644
index e270c79..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.hierarchy.expect
+++ /dev/null
@@ -1,99 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with A:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-B:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _B&Object&A
-  interfaces: A
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.textual_outline.expect
index eece1da..291e25d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic noSuchMethod(Invocation i) {}
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.textual_outline_modelled.expect
index eece1da..291e25d 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic noSuchMethod(Invocation i) {}
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/nsm_mixed_in.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart b/pkg/front_end/testcases/no_such_method_forwarders/private.dart
index 35827b5..9ac29ba 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that private members of classes from other libraries don't
 // cause generation of noSuchMethod forwarders.
 
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.hierarchy.expect
deleted file mode 100644
index 1f17e70..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.hierarchy.expect
+++ /dev/null
@@ -1,118 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Fisk._hest
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-      -> Foo
-  interfaces: Fisk
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Fisk._hest
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Baz:
-  superclasses:
-    Object
-      -> Foo
-  interfaces: Fisk
-  classMembers:
-    Baz._hest
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Baz._hest
-    Fisk._hest
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.textual_outline.expect
index 284127b..f3eaf03 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library private;
 
 import './private_module.dart' show Fisk;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.textual_outline_modelled.expect
index 284127b..f3eaf03 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library private;
 
 import './private_module.dart' show Fisk;
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart
index b7258fc..268f146 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // Supplement library for
 // pkg/front_end_testcases/no_such_method_forwarders/private.dart
 
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.hierarchy.expect
deleted file mode 100644
index 085b915..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Fisk._hest
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.textual_outline.expect
index ad5304f..b91c475 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library private_module;
 
 abstract class Fisk {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.textual_outline_modelled.expect
index ad5304f..b91c475 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library private_module;
 
 abstract class Fisk {
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private_module.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart
index 983c5b7..2d043e4 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that a noSuchMethod forwarder is generated for an inherited
 // abstract private member that is declared in the same library as the
 // implementor.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.hierarchy.expect
deleted file mode 100644
index df52b51..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo._foo
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-      -> Foo
-  interfaces:
-  classMembers:
-    Foo._foo
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Bar.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.textual_outline.expect
index cb9b84e..80147ca 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Foo {
   void _foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.textual_outline_modelled.expect
index cb9b84e..80147ca 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class Foo {
   void _foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/private_same.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart b/pkg/front_end/testcases/no_such_method_forwarders/same.dart
index 40d7c26..dfcc3dc 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/same.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that a noSuchMethod forwarder is generated in the case when
 // the user-defined noSuchMethod and the abstract method are both defined in the
 // same class.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.hierarchy.expect
deleted file mode 100644
index 9553f89..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.textual_outline.expect
index 7b3ce88..8c6c24c 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic noSuchMethod(Invocation i) {}
   void foo();
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.textual_outline_modelled.expect
index 7b3ce88..8c6c24c 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic noSuchMethod(Invocation i) {}
   void foo();
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/same.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/same.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/same.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/same.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/same.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart
index 66cd4cf..4f98cfe 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // The test checks that the abstract setter is not shadowed by a method with the
 // same name when generating the noSuchMethod forwarder for the setter.
 
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.hierarchy.expect
deleted file mode 100644
index c2e82ad..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.foo
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.textual_outline.expect
index 3ae19c6..0b5f6ae 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   void foo(int x) {}
   void set foo(int x);
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.textual_outline_modelled.expect
index c1ccdb0f..1b9cf75 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   dynamic noSuchMethod(Invocation i) => null;
   void foo(int x) {}
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/setter_not_shadowed_by_method.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart
index 8879c0e..4386be6 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 // This test checks that the generated noSuchMethod forwarder for a
 // non-implemented abstract method has all the references to the type variables
 // in its signature replaced with the appropriate types.
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.hierarchy.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.hierarchy.expect
deleted file mode 100644
index 29f5d07..0000000
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.hierarchy.expect
+++ /dev/null
@@ -1,116 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Object with M:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-A:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _A&Object&M
-  interfaces: M, I<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    I.foo
-    M.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.textual_outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.textual_outline.expect
index 9ae8a30..931c9ce 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I<T> {
   T foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.textual_outline_modelled.expect
index 1762a6e..32b8183 100644
--- a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class I<T> {
   T foo();
 }
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.outline.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.outline.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.transformed.expect b/pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.strong.transformed.expect
rename to pkg/front_end/testcases/no_such_method_forwarders/subst_on_forwarder.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/none/equals.dart.outline.expect b/pkg/front_end/testcases/none/equals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/none/equals.dart.outline.expect
rename to pkg/front_end/testcases/none/equals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/none/method_invocation.dart.outline.expect b/pkg/front_end/testcases/none/method_invocation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/none/method_invocation.dart.outline.expect
rename to pkg/front_end/testcases/none/method_invocation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/none/mixin_application_declares/main.dart.outline.expect b/pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/none/mixin_application_declares/main.dart.outline.expect
rename to pkg/front_end/testcases/none/mixin_application_declares/main.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/none/mixin_covariant.dart.outline.expect b/pkg/front_end/testcases/none/mixin_covariant.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/none/mixin_covariant.dart.outline.expect
rename to pkg/front_end/testcases/none/mixin_covariant.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/none/mixin_super.dart.outline.expect b/pkg/front_end/testcases/none/mixin_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/none/mixin_super.dart.outline.expect
rename to pkg/front_end/testcases/none/mixin_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/none/operator.dart.outline.expect b/pkg/front_end/testcases/none/operator.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/none/operator.dart.outline.expect
rename to pkg/front_end/testcases/none/operator.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/none/property_get.dart.outline.expect b/pkg/front_end/testcases/none/property_get.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/none/property_get.dart.outline.expect
rename to pkg/front_end/testcases/none/property_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/none/property_set.dart.outline.expect b/pkg/front_end/testcases/none/property_set.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/none/property_set.dart.outline.expect
rename to pkg/front_end/testcases/none/property_set.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/none/tearoff_opt_out.dart.outline.expect b/pkg/front_end/testcases/none/tearoff_opt_out.dart.outline.expect
deleted file mode 100644
index 236deb6..0000000
--- a/pkg/front_end/testcases/none/tearoff_opt_out.dart.outline.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/none/tearoff_opt_out.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
-// // @dart=2.9
-// ^^^^^^^^^^^^
-//
-import self as self;
-import "dart:core" as core;
-
-class Class extends core::Object {
-  synthetic constructor •() → self::Class*
-    ;
-  method call() → void
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method test(self::Class* c) → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/none/tearoff_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/none/tearoff_opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..f3f0ff1
--- /dev/null
+++ b/pkg/front_end/testcases/none/tearoff_opt_out.dart.weak.outline.expect
@@ -0,0 +1,24 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  synthetic constructor •() → self::Class*
+    ;
+  method call() → void
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method test(self::Class* c) → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/folder.options b/pkg/front_end/testcases/nonfunction_type_aliases/folder.options
index e7c1048..155ea76 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases/folder.options
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/folder.options
@@ -1 +1 @@
---enable-experiment=non-nullable,nonfunction-type-aliases
\ No newline at end of file
+--enable-experiment=nonfunction-type-aliases
\ No newline at end of file
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.outline.expect
deleted file mode 100644
index b1b4913..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.outline.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library /*isNonNullableByDefault*/;
-import self as self;
-import "issue41501_lib.dart" as opt;
-
-import "dart:async";
-import "org-dartlang-testcase:///issue41501_lib.dart";
-
-typedef AAliasNonNullable = opt::A;
-typedef AAliasNullable = opt::A?;
-static method test() → dynamic
-  ;
-static method main() → dynamic
-  ;
-
-library opted_out_lib;
-import self as opt;
-import "dart:core" as core;
-
-import "dart:async";
-import "org-dartlang-testcase:///issue41501.dart";
-
-typedef AAlias = opt::A*;
-class A extends core::Object {
-  synthetic constructor •() → opt::A*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
-}
-static method test() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.strong.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.strong.expect
index bcd8340..d13be33 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.strong.expect
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.strong.expect
@@ -2,21 +2,18 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:13:42: Error: A value of type 'Null' can't be assigned to a variable of type 'FutureOr<A>'.
-//  - 'FutureOr' is from 'dart:async'.
+// pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:13:42: Error: The value 'null' can't be assigned to a variable of type 'FutureOr<A>' because 'FutureOr<A>' is not nullable.
 //  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart'.
 //   FutureOr<AAlias> foLegacyNonNullable = null; // error
 //                                          ^
 //
-// pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:15:47: Error: A value of type 'Null' can't be assigned to a variable of type 'FutureOr<A>'.
-//  - 'FutureOr' is from 'dart:async'.
+// pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:15:47: Error: The value 'null' can't be assigned to a variable of type 'FutureOr<A>' because 'FutureOr<A>' is not nullable.
 //  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart'.
 //   FutureOr<AAliasNonNullable> foNonNullable = null; // error
 //                                               ^
 //
 import self as self;
 import "issue41501_lib.dart" as opt;
-import "dart:async" as asy;
 
 import "dart:async";
 import "org-dartlang-testcase:///issue41501_lib.dart";
@@ -24,27 +21,31 @@
 typedef AAliasNonNullable = opt::A;
 typedef AAliasNullable = opt::A?;
 static method test() → dynamic {
-  asy::FutureOr<opt::A> foLegacyNonNullable = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:13:42: Error: A value of type 'Null' can't be assigned to a variable of type 'FutureOr<A>'.
- - 'FutureOr' is from 'dart:async'.
+  FutureOr<opt::A>foLegacyNonNullable = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:13:42: Error: The value 'null' can't be assigned to a variable of type 'FutureOr<A>' because 'FutureOr<A>' is not nullable.
  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart'.
   FutureOr<AAlias> foLegacyNonNullable = null; // error
-                                         ^" in null as{TypeError,ForNonNullableByDefault} asy::FutureOr<opt::A>;
-  asy::FutureOr<opt::A?> foLegacyNullable = null;
-  asy::FutureOr<opt::A> foNonNullable = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:15:47: Error: A value of type 'Null' can't be assigned to a variable of type 'FutureOr<A>'.
- - 'FutureOr' is from 'dart:async'.
+                                         ^" in null as{TypeError,ForNonNullableByDefault} FutureOr<opt::A>;
+  FutureOr<opt::A?>foLegacyNullable = null;
+  FutureOr<opt::A>foNonNullable = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:15:47: Error: The value 'null' can't be assigned to a variable of type 'FutureOr<A>' because 'FutureOr<A>' is not nullable.
  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart'.
   FutureOr<AAliasNonNullable> foNonNullable = null; // error
-                                              ^" in null as{TypeError,ForNonNullableByDefault} asy::FutureOr<opt::A>;
-  asy::FutureOr<opt::A?> foNullable = null;
-  asy::FutureOr<opt::A?> foNonNullableNullable = null;
-  asy::FutureOr<opt::A?> foNullableNullable = null;
+                                              ^" in null as{TypeError,ForNonNullableByDefault} FutureOr<opt::A>;
+  FutureOr<opt::A?>foNullable = null;
+  FutureOr<opt::A?>foNonNullableNullable = null;
+  FutureOr<opt::A?>foNullableNullable = null;
 }
 static method main() → dynamic {}
 
 library opted_out_lib;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
+// // @dart=2.6
+// ^^^^^^^^^^^^
+//
 import self as opt;
 import "dart:core" as core;
-import "dart:async" as asy;
 
 import "dart:async";
 import "org-dartlang-testcase:///issue41501.dart";
@@ -54,19 +55,19 @@
   synthetic constructor •() → opt::A*
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method test() → dynamic {
-  asy::FutureOr<opt::A*>* foLegacy = null;
-  asy::FutureOr<opt::A*>* foNonNullable = null;
-  asy::FutureOr<opt::A*>* foNullable = null;
+  FutureOr<opt::A*>* foLegacy = null;
+  FutureOr<opt::A*>* foNonNullable = null;
+  FutureOr<opt::A*>* foNullable = null;
 }
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.strong.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.strong.transformed.expect
index 72b37b5..ef98060 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.strong.transformed.expect
@@ -2,22 +2,18 @@
 //
 // Problems in library:
 //
-// pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:13:42: Error: A value of type 'Null' can't be assigned to a variable of type 'FutureOr<A>'.
-//  - 'FutureOr' is from 'dart:async'.
+// pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:13:42: Error: The value 'null' can't be assigned to a variable of type 'FutureOr<A>' because 'FutureOr<A>' is not nullable.
 //  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart'.
 //   FutureOr<AAlias> foLegacyNonNullable = null; // error
 //                                          ^
 //
-// pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:15:47: Error: A value of type 'Null' can't be assigned to a variable of type 'FutureOr<A>'.
-//  - 'FutureOr' is from 'dart:async'.
+// pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:15:47: Error: The value 'null' can't be assigned to a variable of type 'FutureOr<A>' because 'FutureOr<A>' is not nullable.
 //  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart'.
 //   FutureOr<AAliasNonNullable> foNonNullable = null; // error
 //                                               ^
 //
 import self as self;
 import "issue41501_lib.dart" as opt;
-import "dart:async" as asy;
-import "dart:core" as core;
 
 import "dart:async";
 import "org-dartlang-testcase:///issue41501_lib.dart";
@@ -25,27 +21,31 @@
 typedef AAliasNonNullable = opt::A;
 typedef AAliasNullable = opt::A?;
 static method test() → dynamic {
-  asy::FutureOr<opt::A> foLegacyNonNullable = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:13:42: Error: A value of type 'Null' can't be assigned to a variable of type 'FutureOr<A>'.
- - 'FutureOr' is from 'dart:async'.
+  FutureOr<opt::A>foLegacyNonNullable = let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:13:42: Error: The value 'null' can't be assigned to a variable of type 'FutureOr<A>' because 'FutureOr<A>' is not nullable.
  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart'.
   FutureOr<AAlias> foLegacyNonNullable = null; // error
-                                         ^" in let core::Null? #t2 = null in #t2.==(null) ?{asy::FutureOr<opt::A>} #t2 as{TypeError,ForNonNullableByDefault} asy::FutureOr<opt::A> : #t2{asy::FutureOr<opt::A>};
-  asy::FutureOr<opt::A?> foLegacyNullable = null;
-  asy::FutureOr<opt::A> foNonNullable = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:15:47: Error: A value of type 'Null?' can't be assigned to a variable of type 'FutureOr<A>'.
- - 'FutureOr' is from 'dart:async'.
+                                         ^" in let Null #t2 = null in #t2.==(null) ?{FutureOr<opt::A>} #t2 as{TypeError,ForNonNullableByDefault} FutureOr<opt::A> : #t2{FutureOr<opt::A>};
+  FutureOr<opt::A?>foLegacyNullable = null;
+  FutureOr<opt::A>foNonNullable = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart:15:47: Error: The value 'null' can't be assigned to a variable of type 'FutureOr<A>' because 'FutureOr<A>' is not nullable.
  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart'.
   FutureOr<AAliasNonNullable> foNonNullable = null; // error
-                                              ^" in let core::Null? #t4 = null in #t4.==(null) ?{asy::FutureOr<opt::A>} #t4 as{TypeError,ForNonNullableByDefault} asy::FutureOr<opt::A> : #t4{asy::FutureOr<opt::A>};
-  asy::FutureOr<opt::A?> foNullable = null;
-  asy::FutureOr<opt::A?> foNonNullableNullable = null;
-  asy::FutureOr<opt::A?> foNullableNullable = null;
+                                              ^" in let Null #t4 = null in #t4.==(null) ?{FutureOr<opt::A>} #t4 as{TypeError,ForNonNullableByDefault} FutureOr<opt::A> : #t4{FutureOr<opt::A>};
+  FutureOr<opt::A?>foNullable = null;
+  FutureOr<opt::A?>foNonNullableNullable = null;
+  FutureOr<opt::A?>foNullableNullable = null;
 }
 static method main() → dynamic {}
 
 library opted_out_lib;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue41501_lib.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
+// // @dart=2.6
+// ^^^^^^^^^^^^
+//
 import self as opt;
 import "dart:core" as core;
-import "dart:async" as asy;
 
 import "dart:async";
 import "org-dartlang-testcase:///issue41501.dart";
@@ -55,19 +55,29 @@
   synthetic constructor •() → opt::A*
     : super core::Object::•()
     ;
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
 }
 static method test() → dynamic {
-  asy::FutureOr<opt::A*>* foLegacy = null;
-  asy::FutureOr<opt::A*>* foNonNullable = null;
-  asy::FutureOr<opt::A*>* foNullable = null;
+  FutureOr<opt::A*>* foLegacy = null;
+  FutureOr<opt::A*>* foNonNullable = null;
+  FutureOr<opt::A*>* foNullable = null;
 }
+
+
+Extra constant evaluation status:
+Evaluated: MethodInvocation @ org-dartlang-testcase:///issue41501.dart:13:42 -> BoolConstant(true)
+Evaluated: VariableGet @ org-dartlang-testcase:///issue41501.dart:13:42 -> NullConstant(null)
+Evaluated: VariableGet @ org-dartlang-testcase:///issue41501.dart:13:42 -> NullConstant(null)
+Evaluated: MethodInvocation @ org-dartlang-testcase:///issue41501.dart:15:47 -> BoolConstant(true)
+Evaluated: VariableGet @ org-dartlang-testcase:///issue41501.dart:15:47 -> NullConstant(null)
+Evaluated: VariableGet @ org-dartlang-testcase:///issue41501.dart:15:47 -> NullConstant(null)
+Extra constant evaluation: evaluated: 14, effectively constant: 6
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.weak.outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.weak.outline.expect
new file mode 100644
index 0000000..1b2a115
--- /dev/null
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue41501.dart.weak.outline.expect
@@ -0,0 +1,38 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "issue41501_lib.dart" as opt;
+
+import "dart:async";
+import "org-dartlang-testcase:///issue41501_lib.dart";
+
+typedef AAliasNonNullable = opt::A;
+typedef AAliasNullable = opt::A?;
+static method test() → dynamic
+  ;
+static method main() → dynamic
+  ;
+
+library opted_out_lib;
+import self as opt;
+import "dart:core" as core;
+
+import "dart:async";
+import "org-dartlang-testcase:///issue41501.dart";
+
+typedef AAlias = opt::A*;
+class A extends core::Object {
+  synthetic constructor •() → opt::A*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static method test() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.strong.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.strong.expect
new file mode 100644
index 0000000..29df1fe
--- /dev/null
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.strong.expect
@@ -0,0 +1,65 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:14:3: Error: Inferred type argument 'A<Object?>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'A'.
+//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart'.
+//  - 'Object' is from 'dart:core'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   B(); // Error.
+//   ^
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:5:9: Context: This is the type variable whose bound isn't conformed to.
+// class A<X extends A<X>> {}
+//         ^
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:15:3: Error: Inferred type argument 'A<Object?>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'A'.
+//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart'.
+//  - 'Object' is from 'dart:core'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   A(); // Error.
+//   ^
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:5:9: Context: This is the type variable whose bound isn't conformed to.
+// class A<X extends A<X>> {}
+//         ^
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:16:3: Error: Inferred type argument 'A2<Object?>' doesn't conform to the bound 'A2<X>' of the type variable 'X' on 'A2'.
+//  - 'A2' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart'.
+//  - 'Object' is from 'dart:core'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   B2(); // Error.
+//   ^
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:8:10: Context: This is the type variable whose bound isn't conformed to.
+// class A2<X extends A2<X>> {
+//          ^
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:17:3: Error: Inferred type argument 'A2<Object?>' doesn't conform to the bound 'A2<X>' of the type variable 'X' on 'A2'.
+//  - 'A2' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart'.
+//  - 'Object' is from 'dart:core'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   A2(); // Error.
+//   ^
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:8:10: Context: This is the type variable whose bound isn't conformed to.
+// class A2<X extends A2<X>> {
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef B<X extends self::A<X> = self::A<dynamic>> = self::A<X>;
+typedef B2<X extends self::A2<X> = self::A2<dynamic>> = self::A2<X>;
+class A<X extends self::A<self::A::X> = self::A<dynamic>> extends core::Object {
+  synthetic constructor •() → self::A<self::A::X>
+    : super core::Object::•()
+    ;
+}
+class A2<X extends self::A2<self::A2::X> = self::A2<dynamic>> extends core::Object {
+  static factory •<X extends self::A2<self::A2::•::X> = self::A2<dynamic>>() → self::A2<self::A2::•::X>
+    return throw 42;
+}
+static method foo() → dynamic {
+  new self::A::•<self::A<core::Object?>>();
+  new self::A::•<self::A<core::Object?>>();
+  self::A2::•<self::A2<core::Object?>>();
+  self::A2::•<self::A2<core::Object?>>();
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.strong.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.strong.transformed.expect
new file mode 100644
index 0000000..29df1fe
--- /dev/null
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.strong.transformed.expect
@@ -0,0 +1,65 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:14:3: Error: Inferred type argument 'A<Object?>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'A'.
+//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart'.
+//  - 'Object' is from 'dart:core'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   B(); // Error.
+//   ^
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:5:9: Context: This is the type variable whose bound isn't conformed to.
+// class A<X extends A<X>> {}
+//         ^
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:15:3: Error: Inferred type argument 'A<Object?>' doesn't conform to the bound 'A<X>' of the type variable 'X' on 'A'.
+//  - 'A' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart'.
+//  - 'Object' is from 'dart:core'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   A(); // Error.
+//   ^
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:5:9: Context: This is the type variable whose bound isn't conformed to.
+// class A<X extends A<X>> {}
+//         ^
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:16:3: Error: Inferred type argument 'A2<Object?>' doesn't conform to the bound 'A2<X>' of the type variable 'X' on 'A2'.
+//  - 'A2' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart'.
+//  - 'Object' is from 'dart:core'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   B2(); // Error.
+//   ^
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:8:10: Context: This is the type variable whose bound isn't conformed to.
+// class A2<X extends A2<X>> {
+//          ^
+//
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:17:3: Error: Inferred type argument 'A2<Object?>' doesn't conform to the bound 'A2<X>' of the type variable 'X' on 'A2'.
+//  - 'A2' is from 'pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart'.
+//  - 'Object' is from 'dart:core'.
+// Try specifying type arguments explicitly so that they conform to the bounds.
+//   A2(); // Error.
+//   ^
+// pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart:8:10: Context: This is the type variable whose bound isn't conformed to.
+// class A2<X extends A2<X>> {
+//          ^
+//
+import self as self;
+import "dart:core" as core;
+
+typedef B<X extends self::A<X> = self::A<dynamic>> = self::A<X>;
+typedef B2<X extends self::A2<X> = self::A2<dynamic>> = self::A2<X>;
+class A<X extends self::A<self::A::X> = self::A<dynamic>> extends core::Object {
+  synthetic constructor •() → self::A<self::A::X>
+    : super core::Object::•()
+    ;
+}
+class A2<X extends self::A2<self::A2::X> = self::A2<dynamic>> extends core::Object {
+  static factory •<X extends self::A2<self::A2::•::X> = self::A2<dynamic>>() → self::A2<self::A2::•::X>
+    return throw 42;
+}
+static method foo() → dynamic {
+  new self::A::•<self::A<core::Object?>>();
+  new self::A::•<self::A<core::Object?>>();
+  self::A2::•<self::A2<core::Object?>>();
+  self::A2::•<self::A2<core::Object?>>();
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.weak.outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.weak.outline.expect
new file mode 100644
index 0000000..2b8a706
--- /dev/null
+++ b/pkg/front_end/testcases/nonfunction_type_aliases/issue42446.dart.weak.outline.expect
@@ -0,0 +1,18 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+typedef B<X extends self::A<X> = self::A<dynamic>> = self::A<X>;
+typedef B2<X extends self::A2<X> = self::A2<dynamic>> = self::A2<X>;
+class A<X extends self::A<self::A::X> = self::A<dynamic>> extends core::Object {
+  synthetic constructor •() → self::A<self::A::X>
+    ;
+}
+class A2<X extends self::A2<self::A2::X> = self::A2<dynamic>> extends core::Object {
+  static factory •<X extends self::A2<self::A2::•::X> = self::A2<dynamic>>() → self::A2<self::A2::•::X>
+    ;
+}
+static method foo() → dynamic
+  ;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/folder.options b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/folder.options
index 0498e9b..f1e0c43 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/folder.options
+++ b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/folder.options
@@ -1 +1 @@
---enable-experiment=nonfunction-type-aliases,no-non-nullable
\ No newline at end of file
+--enable-experiment=nonfunction-type-aliases
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart
index fe9d179..0e9dfeb 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart
+++ b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import "issue_43084_lib.dart";
 
 main() {
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.strong.expect b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.strong.expect
deleted file mode 100644
index e216ebf..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.strong.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-import self as self;
-import "issue_43084_lib.dart" as iss;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue_43084_lib.dart";
-
-static method main() → dynamic {
-  iss::Foo<core::int*>* x = new iss::Foo::•<core::int*>();
-  core::print(x);
-}
-
-library;
-import self as iss;
-import "dart:core" as core;
-
-typedef Bar<X extends core::Object* = dynamic> = iss::Foo<X*>*;
-class Foo<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → iss::Foo<iss::Foo::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.strong.transformed.expect b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.strong.transformed.expect
deleted file mode 100644
index e216ebf..0000000
--- a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.strong.transformed.expect
+++ /dev/null
@@ -1,32 +0,0 @@
-library;
-import self as self;
-import "issue_43084_lib.dart" as iss;
-import "dart:core" as core;
-
-import "org-dartlang-testcase:///issue_43084_lib.dart";
-
-static method main() → dynamic {
-  iss::Foo<core::int*>* x = new iss::Foo::•<core::int*>();
-  core::print(x);
-}
-
-library;
-import self as iss;
-import "dart:core" as core;
-
-typedef Bar<X extends core::Object* = dynamic> = iss::Foo<X*>*;
-class Foo<X extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → iss::Foo<iss::Foo::X*>*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.textual_outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.textual_outline.expect
index 6d40493..9591f62 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_43084_lib.dart";
 
 main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.textual_outline_modelled.expect
index 6d40493..9591f62 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_43084_lib.dart";
 
 main() {}
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.outline.expect b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.outline.expect
rename to pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084_lib.dart b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084_lib.dart
index 75163af..647ad1d 100644
--- a/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084_lib.dart
+++ b/pkg/front_end/testcases/nonfunction_type_aliases_no_nnbd/issue_43084/issue_43084_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Foo<X> {
 }
 
diff --git a/pkg/front_end/testcases/outline.status b/pkg/front_end/testcases/outline.status
index 03eecfc..f01aa4e 100644
--- a/pkg/front_end/testcases/outline.status
+++ b/pkg/front_end/testcases/outline.status
@@ -2,6 +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.md file.
 
+general/abstract_members: TypeCheckError
+general/bug30695: TypeCheckError
+general/covariant_field: TypeCheckError
+general/getter_vs_setter_type: TypeCheckError
+general/infer_field_from_multiple: TypeCheckError
+general/invalid_operator: TypeCheckError
+general/invalid_operator_override: TypeCheckError
+general/issue41210a: TypeCheckError
+general/issue41210b/issue41210.no_link: TypeCheckError
+general/issue41210b/issue41210: TypeCheckError
+general/mixin_application_override: TypeCheckError
+general/override_check_accessor_after_inference: TypeCheckError
+general/override_check_accessor_basic: TypeCheckError
+general/override_check_accessor_with_covariant_modifier: TypeCheckError
+general/override_check_after_inference: TypeCheckError
+general/override_check_basic: TypeCheckError
+general/override_check_with_covariant_modifier: TypeCheckError
+general/override_setter_with_field: TypeCheckError
 general_nnbd_opt_out/abstract_members: TypeCheckError
 general_nnbd_opt_out/bug30695: TypeCheckError
 general_nnbd_opt_out/mixin_application_override: TypeCheckError
@@ -12,30 +30,12 @@
 general_nnbd_opt_out/override_check_basic: TypeCheckError
 general_nnbd_opt_out/override_check_with_covariant_modifier: TypeCheckError
 general_nnbd_opt_out/override_setter_with_field: TypeCheckError
-general/abstract_members: TypeCheckError
-general/bug30695: TypeCheckError
-general/covariant_field: TypeCheckError
-general/getter_vs_setter_type: TypeCheckError
-general/infer_field_from_multiple: TypeCheckError
-general/invalid_operator: TypeCheckError
-general/invalid_operator_override: TypeCheckError
-general/issue41210a: TypeCheckError
-general/issue41210b/issue41210: TypeCheckError
-general/issue41210b/issue41210.no_link: TypeCheckError
-general/mixin_application_override: TypeCheckError
-general/override_check_accessor_after_inference: TypeCheckError
-general/override_check_accessor_basic: TypeCheckError
-general/override_check_accessor_with_covariant_modifier: TypeCheckError
-general/override_check_after_inference: TypeCheckError
-general/override_check_basic: TypeCheckError
-general/override_check_with_covariant_modifier: TypeCheckError
-general/override_setter_with_field: TypeCheckError
 inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer: Fail
 inference/generic_methods_do_not_infer_invalid_override_of_generic_method: Fail
 inference/generic_methods_handle_override_of_non_generic_with_generic: Fail
 inference/infer_assign_to_index: Fail
-inference/infer_assign_to_property_custom: Fail
 inference/infer_assign_to_property: Fail
+inference/infer_assign_to_property_custom: Fail
 inference/infer_method_missing_params: TypeCheckError
 inference/infer_types_on_generic_instantiations_infer: TypeCheckError
 inference/mixin_inference_outwards_3: TypeCheckError
@@ -46,4 +46,18 @@
 nnbd/covariant_late_field: TypeCheckError
 nnbd/getter_vs_setter_type: TypeCheckError
 nnbd/issue42603: TypeCheckError
-rasta/native_is_illegal: Pass # Issue 29763
+nnbd_mixed/bad_mixins: TypeCheckError
+nnbd_mixed/covariant_from_opt_in: TypeCheckError
+nnbd_mixed/hierarchy/conflict: TypeCheckError
+nnbd_mixed/hierarchy/duplicates: TypeCheckError
+nnbd_mixed/hierarchy/forwarding_semi_stub_field: TypeCheckError
+nnbd_mixed/hierarchy/forwarding_semi_stub_method: TypeCheckError
+nnbd_mixed/hierarchy/forwarding_semi_stub_setter: TypeCheckError
+nnbd_mixed/hierarchy/getter_setter: TypeCheckError
+nnbd_mixed/hierarchy/mix_in_override: TypeCheckError
+nnbd_mixed/hierarchy/override: TypeCheckError
+nnbd_mixed/inheritance_from_opt_in: TypeCheckError
+nnbd_mixed/issue41567: TypeCheckError
+nnbd_mixed/messages_with_types_opt_in: TypeCheckError
+nnbd_mixed/messages_with_types_opt_out: TypeCheckError
+rasta/native_is_illegal: Pass # Issue 29763
\ No newline at end of file
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart b/pkg/front_end/testcases/rasta/abstract_constructor.dart
index 8caa4ed..5fd7ad1 100644
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart
+++ b/pkg/front_end/testcases/rasta/abstract_constructor.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 abstract class C {}
 
 main() {
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline.expect
index 101867d..d863236 100644
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class C {}
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline_modelled.expect
index 101867d..d863236 100644
--- a/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/abstract_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class C {}
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.strong.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/abstract_constructor.dart.strong.expect
rename to pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.outline.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/abstract_constructor.dart.outline.expect
rename to pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/abstract_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/abstract_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/abstract_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart
index 937b755..5b7e744 100644
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart
+++ b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   const C() : this.x(1);
   const C.x();
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline.expect
index 8c60ced..db4483c 100644
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   const C() : this.x(1);
   const C.x();
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline_modelled.expect
index 8c60ced..db4483c 100644
--- a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   const C() : this.x(1);
   const C.x();
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.outline.expect
rename to pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_constructor_redirection.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart b/pkg/front_end/testcases/rasta/bad_continue.dart
index 5399f78..d103e3e 100644
--- a/pkg/front_end/testcases/rasta/bad_continue.dart
+++ b/pkg/front_end/testcases/rasta/bad_continue.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   continue here;
   label: continue label;
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/bad_continue.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_continue.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/bad_continue.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/bad_continue.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_continue.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_continue.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/bad_continue.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_continue.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_continue.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_continue.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart b/pkg/front_end/testcases/rasta/bad_default_constructor.dart
index 833743e..0678364 100644
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart
+++ b/pkg/front_end/testcases/rasta/bad_default_constructor.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   A(x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.hierarchy.expect
deleted file mode 100644
index fe2fcf5..0000000
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline.expect
index 5f62a0e..d56bf58 100644
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline_modelled.expect
index 5f62a0e..d56bf58 100644
--- a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_default_constructor.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_default_constructor.dart.outline.expect
rename to pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_default_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_default_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_default_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart
index 2936518..29541d3 100644
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart
+++ b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   A(x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.hierarchy.expect
deleted file mode 100644
index fe2fcf5..0000000
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline.expect
index a9880f1..b68c9dc 100644
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline_modelled.expect
index a9880f1..b68c9dc 100644
--- a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.outline.expect
rename to pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_explicit_super_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart
index e5e539c..3f08dcee 100644
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart
+++ b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   A(this.x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.hierarchy.expect
deleted file mode 100644
index fe2fcf5..0000000
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline.expect
index 9f4c8b4..102a937 100644
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(this.x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline_modelled.expect
index 9f4c8b4..102a937 100644
--- a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(this.x);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.outline.expect
rename to pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_implicit_super_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart b/pkg/front_end/testcases/rasta/bad_interpolation.dart
index 98fd62e..95f0b8d 100644
--- a/pkg/front_end/testcases/rasta/bad_interpolation.dart
+++ b/pkg/front_end/testcases/rasta/bad_interpolation.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   print(" $x.);
 }
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_interpolation.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_interpolation.dart.outline.expect
rename to pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_interpolation.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_interpolation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_interpolation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart b/pkg/front_end/testcases/rasta/bad_redirection.dart
index e3b63df..c725b0a 100644
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart
+++ b/pkg/front_end/testcases/rasta/bad_redirection.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Foo {
   Foo() = Bar;
 }
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.hierarchy.expect
deleted file mode 100644
index a37fb7b..0000000
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-      -> Foo
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.textual_outline.expect
index c116a9a..16f07fc 100644
--- a/pkg/front_end/testcases/rasta/bad_redirection.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_redirection.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   Foo() = Bar;
 }
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_redirection.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_redirection.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_redirection.dart.outline.expect
rename to pkg/front_end/testcases/rasta/bad_redirection.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_redirection.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_redirection.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_redirection.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_redirection.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart
index 1a26aea..fa1fcfb 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   C() : field = null;
   set field(value) {}
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.hierarchy.expect
deleted file mode 100644
index 274a6b4..0000000
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.field
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline.expect
index 02d3a33..4f7939a 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C() : field = null;
   set field(value) {}
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline_modelled.expect
index 02d3a33..4f7939a 100644
--- a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C() : field = null;
   set field(value) {}
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_setter_initializer.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_setter_initializer.dart.outline.expect
rename to pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_setter_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_setter_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart b/pkg/front_end/testcases/rasta/bad_unicode.dart
index 51c6502..4eef588 100644
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart
+++ b/pkg/front_end/testcases/rasta/bad_unicode.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   print("\u00"); // Bad Unicode escape, must have 4 hex digits.
 }
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/bad_unicode.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.strong.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_unicode.dart.strong.expect
rename to pkg/front_end/testcases/rasta/bad_unicode.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/bad_unicode.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/bad_unicode.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/bad_unicode.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_unicode.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/bad_unicode.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart b/pkg/front_end/testcases/rasta/breaking_bad.dart
index b82c7ed..7310e3f 100644
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart
+++ b/pkg/front_end/testcases/rasta/breaking_bad.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   break;
   walt: break walt;
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.outline.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/breaking_bad.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.strong.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/breaking_bad.dart.strong.expect
rename to pkg/front_end/testcases/rasta/breaking_bad.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/breaking_bad.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/breaking_bad.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/breaking_bad.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/breaking_bad.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/breaking_bad.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/cascades.dart b/pkg/front_end/testcases/rasta/cascades.dart
index add829e..1b03e05 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart
+++ b/pkg/front_end/testcases/rasta/cascades.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   add(x) => x;
 }
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/cascades.dart.hierarchy.expect
deleted file mode 100644
index 10e4f4c..0000000
--- a/pkg/front_end/testcases/rasta/cascades.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    A.add
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/cascades.dart.textual_outline.expect
index 014f06c..4d0ee09 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   add(x) => x;
 }
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/cascades.dart.textual_outline_modelled.expect
index 014f06c..4d0ee09 100644
--- a/pkg/front_end/testcases/rasta/cascades.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/cascades.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   add(x) => x;
 }
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.strong.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/cascades.dart.strong.expect
rename to pkg/front_end/testcases/rasta/cascades.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.outline.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/cascades.dart.outline.expect
rename to pkg/front_end/testcases/rasta/cascades.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/cascades.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/cascades.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/cascades.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart b/pkg/front_end/testcases/rasta/class_hierarchy.dart
index 8d181ce..974a13e 100644
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart
+++ b/pkg/front_end/testcases/rasta/class_hierarchy.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A extends Missing {}
 
 class B implements Missing {}
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.hierarchy.expect
deleted file mode 100644
index 89063bc..0000000
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.hierarchy.expect
+++ /dev/null
@@ -1,89 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Missing
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D._redirecting#
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline.expect
index 4730157..d5772ff 100644
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends Missing {}
 
 class B implements Missing {}
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline_modelled.expect
index 4730157..d5772ff 100644
--- a/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/class_hierarchy.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends Missing {}
 
 class B implements Missing {}
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.strong.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/class_hierarchy.dart.strong.expect
rename to pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.outline.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/class_hierarchy.dart.outline.expect
rename to pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/class_hierarchy.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/class_hierarchy.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/class_hierarchy.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/class_member.dart b/pkg/front_end/testcases/rasta/class_member.dart
index 8c81300..116767f 100644
--- a/pkg/front_end/testcases/rasta/class_member.dart
+++ b/pkg/front_end/testcases/rasta/class_member.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 // Tests that class members are listed in the normal order.
 
 class Foo {
diff --git a/pkg/front_end/testcases/rasta/class_member.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/class_member.dart.hierarchy.expect
deleted file mode 100644
index 72d81b5..0000000
--- a/pkg/front_end/testcases/rasta/class_member.dart.hierarchy.expect
+++ /dev/null
@@ -1,45 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.b
-    Foo.field1
-    Foo.a
-    Object.toString
-    Foo.field2
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Foo.c
-    Object.hashCode
-    Foo.field3
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.field1
-    Foo.field2
-    Foo.field3
diff --git a/pkg/front_end/testcases/rasta/class_member.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/class_member.dart.textual_outline.expect
index f3931ce..12cb568 100644
--- a/pkg/front_end/testcases/rasta/class_member.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/class_member.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   a() {}
   b() {}
diff --git a/pkg/front_end/testcases/rasta/class_member.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/class_member.dart.textual_outline_modelled.expect
index 2b3571b..3239086 100644
--- a/pkg/front_end/testcases/rasta/class_member.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/class_member.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   Foo.constructor1();
   Foo.constructor2();
diff --git a/pkg/front_end/testcases/rasta/class_member.dart.strong.expect b/pkg/front_end/testcases/rasta/class_member.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/class_member.dart.strong.expect
rename to pkg/front_end/testcases/rasta/class_member.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/class_member.dart.outline.expect b/pkg/front_end/testcases/rasta/class_member.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/class_member.dart.outline.expect
rename to pkg/front_end/testcases/rasta/class_member.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/class_member.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/class_member.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/class_member.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/class_member.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart
index 3720069..23df9c0 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 const c = 1;
 main() {
   c;
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.textual_outline.expect
index 6b59d01..c6e2289 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 const c = 1;
 main() {}
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.textual_outline_modelled.expect
index 6b59d01..c6e2289 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 const c = 1;
 main() {}
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.expect
rename to pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.outline.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.outline.expect
rename to pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/deferred_lib.dart b/pkg/front_end/testcases/rasta/deferred_lib.dart
index b4e6442..e468f23 100644
--- a/pkg/front_end/testcases/rasta/deferred_lib.dart
+++ b/pkg/front_end/testcases/rasta/deferred_lib.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 library deferred_lib;
 
 foo() => null;
diff --git a/pkg/front_end/testcases/rasta/deferred_lib.dart.outline.expect b/pkg/front_end/testcases/rasta/deferred_lib.dart.outline.expect
deleted file mode 100644
index 25280b3..0000000
--- a/pkg/front_end/testcases/rasta/deferred_lib.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library deferred_lib;
-import self as self;
-
-static method foo() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart b/pkg/front_end/testcases/rasta/deferred_load.dart
index 1ba7abd..fa67dd1 100644
--- a/pkg/front_end/testcases/rasta/deferred_load.dart
+++ b/pkg/front_end/testcases/rasta/deferred_load.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.textual_outline.expect
index e513d3a..ce5481b 100644
--- a/pkg/front_end/testcases/rasta/deferred_load.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/deferred_load.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.textual_outline_modelled.expect
index e513d3a..ce5481b 100644
--- a/pkg/front_end/testcases/rasta/deferred_load.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/deferred_load.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.strong.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/deferred_load.dart.strong.expect
rename to pkg/front_end/testcases/rasta/deferred_load.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.outline.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/deferred_load.dart.outline.expect
rename to pkg/front_end/testcases/rasta/deferred_load.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/deferred_load.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/deferred_load.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/deferred_load.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/deferred_load.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart b/pkg/front_end/testcases/rasta/duplicated_mixin.dart
index 09c9107..e47db11 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Mixin {
   var field;
 }
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.hierarchy.expect
deleted file mode 100644
index 8d71816..0000000
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.hierarchy.expect
+++ /dev/null
@@ -1,143 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.field
-
-Object with Mixin:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Mixin
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.field
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.field
-
-_A&Object&Mixin with Mixin:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _A&Object&Mixin
-  interfaces: Mixin
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.field
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.field
-
-A:
-  Longest path to Object: 4
-  superclasses:
-    Object
-      -> _A&Object&Mixin
-        -> _A&Object&Mixin&Mixin
-  interfaces: Mixin
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.field
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.field
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline.expect
index 6da2cea..3639d19 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Mixin {
   var field;
 }
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline_modelled.expect
index 525de0e..2116733 100644
--- a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A extends Object with Mixin, Mixin {}
 
 class Mixin {
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.expect
rename to pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.outline.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/duplicated_mixin.dart.outline.expect
rename to pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/duplicated_mixin.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/duplicated_mixin.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/enum.dart b/pkg/front_end/testcases/rasta/enum.dart
index 58edf77..617fade 100644
--- a/pkg/front_end/testcases/rasta/enum.dart
+++ b/pkg/front_end/testcases/rasta/enum.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 enum Foo {
   ec1,
   ec2,
diff --git a/pkg/front_end/testcases/rasta/enum.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/enum.dart.hierarchy.expect
deleted file mode 100644
index 5365e25..0000000
--- a/pkg/front_end/testcases/rasta/enum.dart.hierarchy.expect
+++ /dev/null
@@ -1,41 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.ec2
-    Foo.toString
-    Foo.index
-    Foo.ec1
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo._name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Foo.values
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/enum.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/enum.dart.textual_outline.expect
index 7d25fa5..c10a31d 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 enum Foo {
   ec1,
   ec2,
diff --git a/pkg/front_end/testcases/rasta/enum.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/enum.dart.textual_outline_modelled.expect
index 7d25fa5..c10a31d 100644
--- a/pkg/front_end/testcases/rasta/enum.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/enum.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 enum Foo {
   ec1,
   ec2,
diff --git a/pkg/front_end/testcases/rasta/enum.dart.strong.expect b/pkg/front_end/testcases/rasta/enum.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/enum.dart.strong.expect
rename to pkg/front_end/testcases/rasta/enum.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/enum.dart.outline.expect b/pkg/front_end/testcases/rasta/enum.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/enum.dart.outline.expect
rename to pkg/front_end/testcases/rasta/enum.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/enum.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/enum.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/enum.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/enum.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/export.dart b/pkg/front_end/testcases/rasta/export.dart
index ca462cf..34e908c 100644
--- a/pkg/front_end/testcases/rasta/export.dart
+++ b/pkg/front_end/testcases/rasta/export.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 library export;
 
 export 'foo.dart';
diff --git a/pkg/front_end/testcases/rasta/export.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/export.dart.textual_outline.expect
index a55dbf5..4b760d0 100644
--- a/pkg/front_end/testcases/rasta/export.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/export.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library export;
 
 export 'foo.dart';
diff --git a/pkg/front_end/testcases/rasta/export.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/export.dart.textual_outline_modelled.expect
index a55dbf5..4b760d0 100644
--- a/pkg/front_end/testcases/rasta/export.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/export.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library export;
 
 export 'foo.dart';
diff --git a/pkg/front_end/testcases/rasta/export.dart.strong.expect b/pkg/front_end/testcases/rasta/export.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/export.dart.strong.expect
rename to pkg/front_end/testcases/rasta/export.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/export.dart.outline.expect b/pkg/front_end/testcases/rasta/export.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/export.dart.outline.expect
rename to pkg/front_end/testcases/rasta/export.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/export.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/export.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/export.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/export.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart b/pkg/front_end/testcases/rasta/external_factory_redirection.dart
index f4833dd..6e19a02 100644
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart
+++ b/pkg/front_end/testcases/rasta/external_factory_redirection.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   "Should redirect to LinkedHashMap constructor.";
   new Map<Symbol, dynamic>(); // This is a patched constructor whose
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.outline.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.strong.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/external_factory_redirection.dart.strong.expect
rename to pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/external_factory_redirection.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/external_factory_redirection.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/external_factory_redirection.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/folder.options b/pkg/front_end/testcases/rasta/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/rasta/folder.options
+++ b/pkg/front_end/testcases/rasta/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/rasta/foo.dart b/pkg/front_end/testcases/rasta/foo.dart
index 6400698..bb576bd 100644
--- a/pkg/front_end/testcases/rasta/foo.dart
+++ b/pkg/front_end/testcases/rasta/foo.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 library foo;
 
 foo() {
diff --git a/pkg/front_end/testcases/rasta/foo.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/foo.dart.textual_outline.expect
index 0d1b8df4..61dc73c 100644
--- a/pkg/front_end/testcases/rasta/foo.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/foo.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library foo;
 
 foo() {}
diff --git a/pkg/front_end/testcases/rasta/foo.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/foo.dart.textual_outline_modelled.expect
index 0d1b8df4..61dc73c 100644
--- a/pkg/front_end/testcases/rasta/foo.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/foo.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library foo;
 
 foo() {}
diff --git a/pkg/front_end/testcases/rasta/foo.dart.strong.expect b/pkg/front_end/testcases/rasta/foo.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/foo.dart.strong.expect
rename to pkg/front_end/testcases/rasta/foo.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/foo.dart.outline.expect b/pkg/front_end/testcases/rasta/foo.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/foo.dart.outline.expect
rename to pkg/front_end/testcases/rasta/foo.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/foo.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/foo.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/foo.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/foo.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart b/pkg/front_end/testcases/rasta/for_loop.dart
index 0155ab3..0f25bd2 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart
+++ b/pkg/front_end/testcases/rasta/for_loop.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   int c = new DateTime.now().millisecondsSinceEpoch;
   for (int i = 0; i < 100; i++) {
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/for_loop.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/for_loop.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/for_loop.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/for_loop.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/for_loop.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.strong.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/for_loop.dart.strong.expect
rename to pkg/front_end/testcases/rasta/for_loop.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
rename to pkg/front_end/testcases/rasta/for_loop.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/for_loop.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/for_loop.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart b/pkg/front_end/testcases/rasta/generic_factory.dart
index 2bac5a2..a72e756 100644
--- a/pkg/front_end/testcases/rasta/generic_factory.dart
+++ b/pkg/front_end/testcases/rasta/generic_factory.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C1 {}
 
 class C2 {}
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.hierarchy.expect
deleted file mode 100644
index c01709a..0000000
--- a/pkg/front_end/testcases/rasta/generic_factory.dart.hierarchy.expect
+++ /dev/null
@@ -1,128 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> A<S>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B._redirecting#
-
-C:
-  superclasses:
-    Object
-      -> A<U>
-        -> B<U>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline.expect
index 0b8bde5..53896d3 100644
--- a/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C1 {}
 
 class C2 {}
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline_modelled.expect
index 449bfaf..6027134 100644
--- a/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/generic_factory.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A<T> {
   A.internal();
   factory A.a() = B<T>.a;
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.strong.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/generic_factory.dart.strong.expect
rename to pkg/front_end/testcases/rasta/generic_factory.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.outline.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/generic_factory.dart.outline.expect
rename to pkg/front_end/testcases/rasta/generic_factory.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/generic_factory.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/generic_factory.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/generic_factory.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/generic_factory.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/hello.dart b/pkg/front_end/testcases/rasta/hello.dart
index 671d11f..28a3828 100644
--- a/pkg/front_end/testcases/rasta/hello.dart
+++ b/pkg/front_end/testcases/rasta/hello.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   print("Hello, World!");
 }
diff --git a/pkg/front_end/testcases/rasta/hello.dart.outline.expect b/pkg/front_end/testcases/rasta/hello.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/hello.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/hello.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/hello.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/hello.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/hello.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/hello.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/hello.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/hello.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/hello.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/hello.dart.strong.expect b/pkg/front_end/testcases/rasta/hello.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/hello.dart.strong.expect
rename to pkg/front_end/testcases/rasta/hello.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/for_loop.dart.outline.expect b/pkg/front_end/testcases/rasta/hello.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/for_loop.dart.outline.expect
rename to pkg/front_end/testcases/rasta/hello.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/hello.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/hello.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/hello.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/hello.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/import_export.dart b/pkg/front_end/testcases/rasta/import_export.dart
index 8d6f2c4..c1897b3 100644
--- a/pkg/front_end/testcases/rasta/import_export.dart
+++ b/pkg/front_end/testcases/rasta/import_export.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import 'export.dart';
 
 main() {
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/import_export.dart.textual_outline.expect
index 9b23e8d..27381f0 100644
--- a/pkg/front_end/testcases/rasta/import_export.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/import_export.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'export.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/import_export.dart.textual_outline_modelled.expect
index 9b23e8d..27381f0 100644
--- a/pkg/front_end/testcases/rasta/import_export.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/import_export.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'export.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.strong.expect b/pkg/front_end/testcases/rasta/import_export.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/import_export.dart.strong.expect
rename to pkg/front_end/testcases/rasta/import_export.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.outline.expect b/pkg/front_end/testcases/rasta/import_export.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/import_export.dart.outline.expect
rename to pkg/front_end/testcases/rasta/import_export.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/import_export.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/import_export.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/import_export.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/import_export.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart b/pkg/front_end/testcases/rasta/issue_000001.dart
index 6142ebc..0be82f7 100644
--- a/pkg/front_end/testcases/rasta/issue_000001.dart
+++ b/pkg/front_end/testcases/rasta/issue_000001.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 test0(x) {
   print('test0');
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.textual_outline.expect
index e580ef6..17aaaa5 100644
--- a/pkg/front_end/testcases/rasta/issue_000001.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000001.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 test0(x) {}
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.textual_outline_modelled.expect
index 246dbef..d9163bd 100644
--- a/pkg/front_end/testcases/rasta/issue_000001.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000001.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 test0(x) {}
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000001.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000001.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000001.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000001.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000001.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000001.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000001.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000001.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart b/pkg/front_end/testcases/rasta/issue_000002.dart
index 2efd103..34a90c9 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import 'dart:typed_data';
 
 import 'package:expect/expect.dart';
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.hierarchy.expect
deleted file mode 100644
index 3c0c735..0000000
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.hierarchy.expect
+++ /dev/null
@@ -1,387 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.value
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline.expect
index e7403ac..a8ba427 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline_modelled.expect
index e19be7a..f68c6b0 100644
--- a/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000002.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:typed_data';
 import 'package:expect/expect.dart';
 
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000002.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000002.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000002.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000002.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000002.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000002.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000002.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart b/pkg/front_end/testcases/rasta/issue_000004.dart
index d7e9d27..e474361 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import 'package:expect/expect.dart';
 
 fact4() {
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.hierarchy.expect
deleted file mode 100644
index 4f5c506..0000000
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.hierarchy.expect
+++ /dev/null
@@ -1,369 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.textual_outline.expect
index ffd82da..c8f6f17 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 fact4() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.textual_outline_modelled.expect
index 68c6364..92e527e 100644
--- a/pkg/front_end/testcases/rasta/issue_000004.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000004.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 fact4() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000004.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000004.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000004.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000004.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000004.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000004.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000004.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart b/pkg/front_end/testcases/rasta/issue_000006.dart
index 8883ac2..d06ecc4 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 var list = [1, 2, 3];
 
 main() {
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.textual_outline.expect
index c9b955f..8959d6a 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 var list = [1, 2, 3];
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.textual_outline_modelled.expect
index ef8eed0..2e0cfef 100644
--- a/pkg/front_end/testcases/rasta/issue_000006.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000006.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 var list = [1, 2, 3];
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000006.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000006.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000006.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000006.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000006.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000006.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000006.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart b/pkg/front_end/testcases/rasta/issue_000007.dart
index 9fb1dc0..0bd8c05 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Base {}
 
 class Mixin {
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.hierarchy.expect
deleted file mode 100644
index cb9f404..0000000
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.hierarchy.expect
+++ /dev/null
@@ -1,119 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base with Mixin:
-  superclasses:
-    Object
-      -> Base
-  interfaces: Mixin
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Sub:
-  superclasses:
-    Object
-      -> Base
-        -> _Sub&Base&Mixin
-  interfaces: Mixin
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline.expect
index 58c40fa..4a5bec1 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Base {}
 
 class Mixin {
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline_modelled.expect
index 58c40fa..4a5bec1 100644
--- a/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000007.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Base {}
 
 class Mixin {
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000007.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000007.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000007.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000007.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000007.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000007.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000007.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart b/pkg/front_end/testcases/rasta/issue_000008.dart
index b9f1f6e..0ca95b7 100644
--- a/pkg/front_end/testcases/rasta/issue_000008.dart
+++ b/pkg/front_end/testcases/rasta/issue_000008.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   final x;
   C(this.x);
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.hierarchy.expect
deleted file mode 100644
index 79662a4..0000000
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline.expect
index 7c1de3a..c38e23a 100644
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   final x;
   C(this.x);
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline_modelled.expect
index 2a92244..daa996e 100644
--- a/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000008.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C(this.x);
   final x;
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000008.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000008.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000008.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000008.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000008.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000008.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000008.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000008.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart b/pkg/front_end/testcases/rasta/issue_000011.dart
index 26790da..f50870b 100644
--- a/pkg/front_end/testcases/rasta/issue_000011.dart
+++ b/pkg/front_end/testcases/rasta/issue_000011.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   try {
     print(42);
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000011.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000011.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000011.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/issue_000011.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000011.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000011.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000011.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000011.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart b/pkg/front_end/testcases/rasta/issue_000012.dart
index 94fdd2f..67306bb 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   var field;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.hierarchy.expect
deleted file mode 100644
index 298c7be..0000000
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.hierarchy.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.field
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.field
-    Object._instanceOf
-    B.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.field
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline.expect
index fe1927c..3787983 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var field;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline_modelled.expect
index fe1927c..3787983 100644
--- a/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000012.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var field;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000012.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000012.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000012.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000012.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000012.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000012.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000012.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart b/pkg/front_end/testcases/rasta/issue_000025.dart
index 8c02ddb..097e12d 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 get x => 42;
 set x(val) {}
 
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.textual_outline.expect
index b31966b..0b87ccc 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 get x => 42;
 set x(val) {}
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.textual_outline_modelled.expect
index 58187fc..3267a7f 100644
--- a/pkg/front_end/testcases/rasta/issue_000025.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000025.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 get x => 42;
 main() {}
 set x(val) {}
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000025.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000025.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000025.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000025.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000025.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000025.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000025.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000025.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart b/pkg/front_end/testcases/rasta/issue_000026.dart
index dcf3b43..9d52a39 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   var a;
   var b = 0;
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.hierarchy.expect
deleted file mode 100644
index e369ba5..0000000
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.hierarchy.expect
+++ /dev/null
@@ -1,65 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    C.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.c
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.b
-    C.a
-    C.c
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    D.b
-    D.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    D.c
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.b
-    D.a
-    D.c
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline.expect
index 3c6152d..ffc5b40 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   var a;
   var b = 0;
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline_modelled.expect
index ae0f47e..4d3f76d 100644
--- a/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000026.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   var a;
   var b = 0;
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000026.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000026.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000026.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000026.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000026.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000026.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000026.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart b/pkg/front_end/testcases/rasta/issue_000031.dart
index 9f6f91a..4273c8c 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import 'dart:math' as math;
 
 main() {
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.textual_outline.expect
index 1123642..95f0aa9 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:math' as math;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.textual_outline_modelled.expect
index 1123642..95f0aa9 100644
--- a/pkg/front_end/testcases/rasta/issue_000031.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000031.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:math' as math;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000031.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000031.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000031.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000031.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000031.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000031.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000031.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart b/pkg/front_end/testcases/rasta/issue_000032.dart
index 21222e2..5273c43 100644
--- a/pkg/front_end/testcases/rasta/issue_000032.dart
+++ b/pkg/front_end/testcases/rasta/issue_000032.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   C<
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.textual_outline.expect
index 131f56e..b75908e 100644
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000032.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C< >(){}
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000032.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000032.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000032.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000032.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000032.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000032.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart b/pkg/front_end/testcases/rasta/issue_000033.dart
index ddb9866..233fde8 100644
--- a/pkg/front_end/testcases/rasta/issue_000033.dart
+++ b/pkg/front_end/testcases/rasta/issue_000033.dart
@@ -1,6 +1,6 @@
 // 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.
-
+// @dart=2.9
 @JS()
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.textual_outline.expect
index c4716a7..c9a4e6c 100644
--- a/pkg/front_end/testcases/rasta/issue_000033.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000033.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 @JS()
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.textual_outline_modelled.expect
index c4716a7..c9a4e6c 100644
--- a/pkg/front_end/testcases/rasta/issue_000033.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000033.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 @JS()
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000033.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000033.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000033.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000033.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000033.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000033.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000033.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000033.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart b/pkg/front_end/testcases/rasta/issue_000034.dart
index 88fad1f..f242534 100644
--- a/pkg/front_end/testcases/rasta/issue_000034.dart
+++ b/pkg/front_end/testcases/rasta/issue_000034.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   const C() : this.x;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/rasta/issue_000034.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.textual_outline.expect
index 12b9472..3408df8 100644
--- a/pkg/front_end/testcases/rasta/issue_000034.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000034.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   const C() : =this.x;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000034.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000034.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000034.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000034.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000034.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000034.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000034.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000034.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000035.dart b/pkg/front_end/testcases/rasta/issue_000035.dart
index e3c51c1..3893075 100644
--- a/pkg/front_end/testcases/rasta/issue_000035.dart
+++ b/pkg/front_end/testcases/rasta/issue_000035.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {æøC();}
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000035.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.hierarchy.expect
deleted file mode 100644
index 83fc051..0000000
--- a/pkg/front_end/testcases/rasta/issue_000035.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.æøC
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000035.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000035.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000035.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000035.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000035.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000035.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000035.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000035.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000035.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000035.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart b/pkg/front_end/testcases/rasta/issue_000035a.dart
index 1e6c8e4..cc8eddb 100644
--- a/pkg/front_end/testcases/rasta/issue_000035a.dart
+++ b/pkg/front_end/testcases/rasta/issue_000035a.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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.
-
+// @dart=2.9
 class C{

C();}
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/rasta/issue_000035a.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000035a.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000035a.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000035a.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000035a.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000035a.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000035a.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000035a.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000035a.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart b/pkg/front_end/testcases/rasta/issue_000036.dart
index 9f7e17f..5217d54 100644
--- a/pkg/front_end/testcases/rasta/issue_000036.dart
+++ b/pkg/front_end/testcases/rasta/issue_000036.dart
@@ -1,5 +1,5 @@
 // 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.
-
+// @dart=2.9
 main() => a. - 5;
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.textual_outline.expect
index 603c715..e61fbfe 100644
--- a/pkg/front_end/testcases/rasta/issue_000036.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000036.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() => a. - 5;
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000036.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000036.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000036.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000036.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000036.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000036.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000036.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart b/pkg/front_end/testcases/rasta/issue_000039.dart
index f9a8f85..d3f4e5c 100644
--- a/pkg/front_end/testcases/rasta/issue_000039.dart
+++ b/pkg/front_end/testcases/rasta/issue_000039.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   var a;
 
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.hierarchy.expect
deleted file mode 100644
index 40c7594..0000000
--- a/pkg/front_end/testcases/rasta/issue_000039.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline.expect
index 823e1c7..c91fa1a 100644
--- a/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var a;
   A(x) {}
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline_modelled.expect
index ab5d564..1b4ac50 100644
--- a/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000039.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(x) {}
   var a;
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000039.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000039.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000039.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000039.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000039.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000039.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000039.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000039.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart b/pkg/front_end/testcases/rasta/issue_000041.dart
index 4035fd7..daa1552 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   test() {
     use(+super);
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.hierarchy.expect
deleted file mode 100644
index b628c46..0000000
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.test
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline.expect
index 0690e46..84a5be7 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   test() {}
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline_modelled.expect
index 57013ed..cb89a89 100644
--- a/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000041.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   test() {}
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000041.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000041.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000041.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000041.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000041.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000041.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000041.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart b/pkg/front_end/testcases/rasta/issue_000042.dart
index 66893b8..22dc017 100644
--- a/pkg/front_end/testcases/rasta/issue_000042.dart
+++ b/pkg/front_end/testcases/rasta/issue_000042.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   for (var x, y in []) {}
   L: { continue L; }
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000042.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000042.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000042.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/issue_000042.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000042.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000042.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000042.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart b/pkg/front_end/testcases/rasta/issue_000043.dart
index 4aed858..1270b5f 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   get x => '$C'.hashCode;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.hierarchy.expect
deleted file mode 100644
index 79662a4..0000000
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline.expect
index 6bc9bc7..7a44294 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   get x => '$C'.hashCode;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline_modelled.expect
index 6bc9bc7..7a44294 100644
--- a/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000043.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   get x => '$C'.hashCode;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000043.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000043.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000043.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000043.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000043.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000043.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000043.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart b/pkg/front_end/testcases/rasta/issue_000044.dart
index 3bd4d81..e89cfc0 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 // Parse error: but the parser should recover and create something that looks
 // like `a b(c) => d`.
 a b(c) = d;
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.hierarchy.expect
deleted file mode 100644
index bd39d02..0000000
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.notEvenAConstructor
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.textual_outline.expect
index b728ed6..07b098c 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 a b(c) = d;
 class C {
   const C.constant();
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000044.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000044.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000044.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000044.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000044.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000044.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart b/pkg/front_end/testcases/rasta/issue_000045.dart
index f8c7e61..e726ad1 100644
--- a/pkg/front_end/testcases/rasta/issue_000045.dart
+++ b/pkg/front_end/testcases/rasta/issue_000045.dart
@@ -1,5 +1,5 @@
 // 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.
-
+// @dart=2.9
 main() => """${1}
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000045.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000045.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000045.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000045.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000045.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000045.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000045.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000045.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart b/pkg/front_end/testcases/rasta/issue_000046.dart
index fe8fc70..b2b8b58 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   C c = new Object)();
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.hierarchy.expect
deleted file mode 100644
index 76379344..0000000
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.c
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.c
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.textual_outline.expect
index 0b29b47..fe72a78 100644
--- a/pkg/front_end/testcases/rasta/issue_000046.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000046.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C c = new Object();
   )
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000046.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000046.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000046.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000046.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000046.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000046.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000046.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart b/pkg/front_end/testcases/rasta/issue_000047.dart
index 9fb1dc2..b529572 100644
--- a/pkg/front_end/testcases/rasta/issue_000047.dart
+++ b/pkg/front_end/testcases/rasta/issue_000047.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 typedef void T(C<C>);
 
 T main() => null;
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.textual_outline.expect
index 0967161..b16d611 100644
--- a/pkg/front_end/testcases/rasta/issue_000047.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000047.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 typedef void T(C<C>);
 T main() => null;
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000047.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000047.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000047.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000047.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000047.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000047.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000047.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000047.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart b/pkg/front_end/testcases/rasta/issue_000048.dart
index 0211480..ac5506e 100644
--- a/pkg/front_end/testcases/rasta/issue_000048.dart
+++ b/pkg/front_end/testcases/rasta/issue_000048.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   bool v1;
   num v2;
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.hierarchy.expect
deleted file mode 100644
index 953dad2..0000000
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.hierarchy.expect
+++ /dev/null
@@ -1,97 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.v2
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.v2
-    A.v1
-
-M1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    M1.v2
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M1.v2
-
-C:
-  superclasses:
-    Object
-      -> A
-  interfaces: M1
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.M1.v2%A.v2
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.M1.v2%A.v2
-    A.v1
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.M1.v2%A.v2
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    A.v1
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.M1.v2%A.v2
-    A.v1
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline.expect
index 75793bc..1125913 100644
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   bool v1;
   num v2;
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline_modelled.expect
index 333c72f..d236d24 100644
--- a/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000048.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A(bool this.v1, num this.v2);
   bool v1;
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000048.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000048.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000048.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000048.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000048.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000048.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000048.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000048.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart b/pkg/front_end/testcases/rasta/issue_000052.dart
index bf0b680..a6f12da 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   f() {
     print('hello');
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000052.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000052.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000052.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/issue_000052.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000052.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000052.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000052.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart b/pkg/front_end/testcases/rasta/issue_000053.dart
index 6cae4f6..a493d89 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   operator ==(other) => throw 'x';
   test() {
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.hierarchy.expect
deleted file mode 100644
index 1901380..0000000
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    C.==
-    C.test
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline.expect
index aa3a004..c301e14 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   operator ==(other) => throw 'x';
   test() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline_modelled.expect
index aa3a004..c301e14 100644
--- a/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000053.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   operator ==(other) => throw 'x';
   test() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000053.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000053.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000053.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000053.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000053.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000053.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000053.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart b/pkg/front_end/testcases/rasta/issue_000067.dart
index f0a175b..fc04bd1 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import "package:expect/expect.dart";
 
 class A {
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.hierarchy.expect
deleted file mode 100644
index b93d5f7..0000000
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.hierarchy.expect
+++ /dev/null
@@ -1,430 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.m
-    A._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A._redirecting#
-
-C:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.m
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
-
-D:
-  superclasses:
-    Object
-      -> A
-        -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.textual_outline.expect
index a569cc4..0fcec84 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A {
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.textual_outline_modelled.expect
index a569cc4..0fcec84 100644
--- a/pkg/front_end/testcases/rasta/issue_000067.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000067.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A {
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000067.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000067.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000067.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000067.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000067.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000067.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000067.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart b/pkg/front_end/testcases/rasta/issue_000068.dart
index e02deb7..b0a2ea2 100644
--- a/pkg/front_end/testcases/rasta/issue_000068.dart
+++ b/pkg/front_end/testcases/rasta/issue_000068.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import "package:expect/expect.dart";
 
 class G<T> {}
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.hierarchy.expect
deleted file mode 100644
index 6c40be8..0000000
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.hierarchy.expect
+++ /dev/null
@@ -1,440 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-G:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline.expect
index cde3517..8b5b447 100644
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class G<T> {}
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline_modelled.expect
index dd18446..469f55f 100644
--- a/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000068.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A {}
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000068.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000068.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000068.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000068.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000068.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000068.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000068.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000068.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart b/pkg/front_end/testcases/rasta/issue_000069.dart
index 0e87567..a1070ad 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   var x, i = 0;
   while (i++ < 5) var x = i;
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000069.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000069.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000069.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/issue_000069.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000069.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000069.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000069.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart b/pkg/front_end/testcases/rasta/issue_000070.dart
index 838bc59..973ad73 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import "package:expect/expect.dart";
 
 class A<N, S, U> {
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.hierarchy.expect
deleted file mode 100644
index 1b8b8b9..0000000
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.hierarchy.expect
+++ /dev/null
@@ -1,424 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.getter
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.setter
-
-J:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-      -> J<C, K>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.textual_outline.expect
index 2184938..1861e2d 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 class A<N, S, U> {
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.textual_outline_modelled.expect
index 919600b..7006b0c 100644
--- a/pkg/front_end/testcases/rasta/issue_000070.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000070.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 abstract class I<H, C, K> extends J<C, K> {}
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000070.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000070.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000070.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000070.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000070.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000070.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000070.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart b/pkg/front_end/testcases/rasta/issue_000080.dart
index 6a0292d..c6793bc 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Mixin {
   var field;
   foo() => 87;
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.hierarchy.expect
deleted file mode 100644
index 2d401aa0a..0000000
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.hierarchy.expect
+++ /dev/null
@@ -1,114 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.field
-
-Object with Mixin:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Mixin
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.field
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.field
-
-Foo:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> _Foo&Object&Mixin
-  interfaces: Mixin
-  classMembers:
-    Foo.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Foo.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.field
-  interfaceMembers:
-    Foo.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.field
-    Object._instanceOf
-    Foo.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.field
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline.expect
index e1dd6e2..0f6e0ff 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Mixin {
   var field;
   foo() => 87;
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline_modelled.expect
index 8ed966c..8366218 100644
--- a/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000080.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo extends Object with Mixin {
   bar() => super.field;
   foo() => super.foo();
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000080.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000080.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000080.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000080.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000080.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000080.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000080.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart b/pkg/front_end/testcases/rasta/issue_000081.dart
index a05efa7..b277258 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Base {
   int hashCode = 42;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.hierarchy.expect
deleted file mode 100644
index 8077a1b..0000000
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.hierarchy.expect
+++ /dev/null
@@ -1,59 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Base.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Base.hashCode
-
-Sub:
-  superclasses:
-    Object
-      -> Base
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Sub.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Sub.hashCode
-    Sub._hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Base.hashCode
-    Sub._hashCode
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.textual_outline.expect
index e1cbad9..f4c75b5 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Base {
   int hashCode = 42;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.textual_outline_modelled.expect
index 0170932..71cc6e6 100644
--- a/pkg/front_end/testcases/rasta/issue_000081.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/issue_000081.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Base {
   int hashCode = 42;
 }
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000081.dart.strong.expect
rename to pkg/front_end/testcases/rasta/issue_000081.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.outline.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000081.dart.outline.expect
rename to pkg/front_end/testcases/rasta/issue_000081.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/issue_000081.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/issue_000081.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/issue_000081.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart
index 05cfa99..4644505 100644
--- a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart
+++ b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   const A()
     : x = 'foo'
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.hierarchy.expect
deleted file mode 100644
index 804e9c5..0000000
--- a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.textual_outline.expect
index 42f4004..ed64514 100644
--- a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   const A() : x = 'foo' {}
   :
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.strong.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/malformed_const_constructor.dart.strong.expect
rename to pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.outline.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/malformed_const_constructor.dart.outline.expect
rename to pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/malformed_const_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/malformed_const_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart b/pkg/front_end/testcases/rasta/malformed_function.dart
index 741004a..6441714 100644
--- a/pkg/front_end/testcases/rasta/malformed_function.dart
+++ b/pkg/front_end/testcases/rasta/malformed_function.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 
 main() {
   (null) = null;
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.outline.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/malformed_function.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/malformed_function.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/malformed_function.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.strong.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/malformed_function.dart.strong.expect
rename to pkg/front_end/testcases/rasta/malformed_function.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/malformed_function.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/malformed_function.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/malformed_function.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/malformed_function.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/malformed_function.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart b/pkg/front_end/testcases/rasta/malformed_function_type.dart
index 3b2ad71..421a840 100644
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart
+++ b/pkg/front_end/testcases/rasta/malformed_function_type.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 typedef Handle Handle(String command);
 
 main() {
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.textual_outline.expect
index 6587e81..74b053b 100644
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function_type.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 typedef Handle Handle(String command);
 main() {}
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.textual_outline_modelled.expect
index 2afa7c6..f6b9e28 100644
--- a/pkg/front_end/testcases/rasta/malformed_function_type.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/malformed_function_type.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 typedef Handle Handle(String command);
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.strong.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/malformed_function_type.dart.strong.expect
rename to pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.outline.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/malformed_function_type.dart.outline.expect
rename to pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/malformed_function_type.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/malformed_function_type.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/malformed_function_type.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart
index 60805fe..17e7ec8 100644
--- a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart
+++ b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart
@@ -1,6 +1,6 @@
 // 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.
-
+// @dart=2.9
 main(arguments = [x]) {
 }
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.textual_outline.expect
index 7184e04..7fe4a13 100644
--- a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main(arguments = [x]) {}
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.strong.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.strong.expect
rename to pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.outline.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.outline.expect
rename to pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/mandatory_parameter_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart b/pkg/front_end/testcases/rasta/mixin_library.dart
index 4360835..184cc8c 100644
--- a/pkg/front_end/testcases/rasta/mixin_library.dart
+++ b/pkg/front_end/testcases/rasta/mixin_library.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 library test.mixin_library;
 
 f() => 2;
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.hierarchy.expect
deleted file mode 100644
index 14e36fa..0000000
--- a/pkg/front_end/testcases/rasta/mixin_library.dart.hierarchy.expect
+++ /dev/null
@@ -1,50 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Mixin.y
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.textual_outline.expect
index 6d98bf9..474bd37a 100644
--- a/pkg/front_end/testcases/rasta/mixin_library.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/mixin_library.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test.mixin_library;
 
 f() => 2;
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.textual_outline_modelled.expect
index 37481e9..37e28e4 100644
--- a/pkg/front_end/testcases/rasta/mixin_library.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/mixin_library.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test.mixin_library;
 
 V() => 87;
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.strong.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/mixin_library.dart.strong.expect
rename to pkg/front_end/testcases/rasta/mixin_library.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/mixin_library.dart.outline.expect b/pkg/front_end/testcases/rasta/mixin_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/mixin_library.dart.outline.expect
rename to pkg/front_end/testcases/rasta/mixin_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart b/pkg/front_end/testcases/rasta/native_is_illegal.dart
index 84b8275..9004717 100644
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart
+++ b/pkg/front_end/testcases/rasta/native_is_illegal.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 foo() native "foo";
 
 class Bar {
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.hierarchy.expect
deleted file mode 100644
index a6345cf..0000000
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Bar.f
-    Object.toString
-    Bar.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Bar.x
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline.expect
index f28a475..cfac286 100644
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 foo() native "foo";
 
 class Bar {
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline_modelled.expect
index 61833c6..70d6f72 100644
--- a/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/native_is_illegal.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bar {
   Bar get x native "Bar_get_x";
   f() native "Bar_f";
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.strong.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/native_is_illegal.dart.strong.expect
rename to pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.outline.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/native_is_illegal.dart.outline.expect
rename to pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/native_is_illegal.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/native_is_illegal.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/native_is_illegal.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart b/pkg/front_end/testcases/rasta/parser_error.dart
index 130d0ea..4c72c20 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart
+++ b/pkg/front_end/testcases/rasta/parser_error.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 // Copy of third_party/dart-sdk/tests/language/argument_definition_test.dart.
 
 import "package:expect/expect.dart";
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/parser_error.dart.hierarchy.expect
deleted file mode 100644
index 4f5c506..0000000
--- a/pkg/front_end/testcases/rasta/parser_error.dart.hierarchy.expect
+++ /dev/null
@@ -1,369 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Expect:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Expect.identical
-    Expect.throwsTypeError
-    Expect._fail
-    Expect.notIdentical
-    Expect.isNotNull
-    Expect._getMessage
-    Expect.allIdentical
-    Expect._escapeSubstring
-    Expect.fail
-    Expect._truncateString
-    Expect.isFalse
-    Expect.isTrue
-    Object.toString
-    Expect.subtype
-    Expect.throwsRangeError
-    Expect._stringDifference
-    Expect.throwsArgumentError
-    Expect.stringEquals
-    Object.runtimeType
-    Expect.testError
-    Expect.throwsStateError
-    Object._simpleInstanceOf
-    Expect.isNull
-    Expect.approxEquals
-    Expect.equals
-    Object._instanceOf
-    Expect.allDistinct
-    Expect.throwsTypeError
-    Expect._subtypeAtRuntime
-    Expect.setEquals
-    Object.noSuchMethod
-    Expect.notEquals
-    Expect.listEquals
-    Expect._findEquivalences
-    Expect.mapEquals
-    Object._identityHashCode
-    Expect.throwsUnsupportedError
-    Expect.notType
-    Expect.deepEquals
-    Expect._escapeString
-    Expect.type
-    Object.hashCode
-    Expect.throwsNoSuchMethodError
-    Expect.notSubtype
-    Expect.throws
-    Object._simpleInstanceOfFalse
-    Expect._writeEquivalences
-    Expect.throwsAssertionError
-    Object._simpleInstanceOfTrue
-    Object.==
-    Expect.throwsFormatException
-  classSetters:
-
-ExpectException:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    ExpectException.message
-    ExpectException.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Immutable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Immutable.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Required:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Required.reason
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_AlwaysThrows:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Checked:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Experimental:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Factory:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTest:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_IsTestGroup:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Literal:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_MustCallSuper:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_OptionalTypeArgs:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Protected:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Sealed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_Virtual:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForOverriding:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-_VisibleForTesting:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline.expect
index bbfef96..23b1d7b 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 int test(a, {b, c}) {}
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline_modelled.expect
index bbfef96..23b1d7b 100644
--- a/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/parser_error.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "package:expect/expect.dart";
 
 int test(a, {b, c}) {}
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.strong.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/parser_error.dart.strong.expect
rename to pkg/front_end/testcases/rasta/parser_error.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.outline.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/parser_error.dart.outline.expect
rename to pkg/front_end/testcases/rasta/parser_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/parser_error.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/parser_error.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/parser_error.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart b/pkg/front_end/testcases/rasta/previsit_deferred.dart
index ac2c00c..7dc438f 100644
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart
+++ b/pkg/front_end/testcases/rasta/previsit_deferred.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.textual_outline.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/previsit_deferred.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.textual_outline_modelled.expect
index 05d29b6..87d2faf 100644
--- a/pkg/front_end/testcases/rasta/previsit_deferred.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/previsit_deferred.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'deferred_lib.dart' deferred as lib;
 
 main() {}
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.strong.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/previsit_deferred.dart.strong.expect
rename to pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.outline.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/previsit_deferred.dart.outline.expect
rename to pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/previsit_deferred.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/previsit_deferred.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/previsit_deferred.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/static.dart b/pkg/front_end/testcases/rasta/static.dart
index a95c6e6..5375c40 100644
--- a/pkg/front_end/testcases/rasta/static.dart
+++ b/pkg/front_end/testcases/rasta/static.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Foo {
   static const staticConstant = 42;
   static var staticField = 42;
diff --git a/pkg/front_end/testcases/rasta/static.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/static.dart.hierarchy.expect
deleted file mode 100644
index 088ac67..0000000
--- a/pkg/front_end/testcases/rasta/static.dart.hierarchy.expect
+++ /dev/null
@@ -1,42 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Foo.staticConstant
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Foo.staticFunction
-    Object._instanceOf
-    Foo.staticField
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Foo.staticGetter
-  classSetters:
-    Foo.staticSetter
-    Foo.staticField
diff --git a/pkg/front_end/testcases/rasta/static.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/static.dart.textual_outline.expect
index e24cfe0..6565604 100644
--- a/pkg/front_end/testcases/rasta/static.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   static const staticConstant = 42;
   static var staticField = 42;
diff --git a/pkg/front_end/testcases/rasta/static.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/static.dart.textual_outline_modelled.expect
index 079b3cc..6c7a474 100644
--- a/pkg/front_end/testcases/rasta/static.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   static const staticConstant = 42;
   static get staticGetter => null;
diff --git a/pkg/front_end/testcases/rasta/static.dart.strong.expect b/pkg/front_end/testcases/rasta/static.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/static.dart.strong.expect
rename to pkg/front_end/testcases/rasta/static.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/static.dart.outline.expect b/pkg/front_end/testcases/rasta/static.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/static.dart.outline.expect
rename to pkg/front_end/testcases/rasta/static.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/static.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/static.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/static.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/super.dart b/pkg/front_end/testcases/rasta/super.dart
index 3ad3f2a..99b7d5a 100644
--- a/pkg/front_end/testcases/rasta/super.dart
+++ b/pkg/front_end/testcases/rasta/super.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   var a;
   var b;
diff --git a/pkg/front_end/testcases/rasta/super.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/super.dart.hierarchy.expect
deleted file mode 100644
index 48669bd..0000000
--- a/pkg/front_end/testcases/rasta/super.dart.hierarchy.expect
+++ /dev/null
@@ -1,139 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.b
-    A.f
-    A.a
-    A.[]=
-    Object.toString
-    A.e
-    A.unary-
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.n
-    A.i
-    Object._instanceOf
-    A.d
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    A.c
-    A.h
-    A.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    A.==
-    A.~
-  classSetters:
-    A.b
-    A.a
-    A.n
-    A.d
-    A.c
-    A.h
-    A.g
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    B.b
-    A.f
-    A.a
-    A.[]=
-    Object.toString
-    A.e
-    A.unary-
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.n
-    A.i
-    Object._instanceOf
-    B.d
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    A.c
-    A.h
-    A.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    A.==
-    A.~
-  classSetters:
-    A.b
-    A.a
-    A.n
-    B.i
-    A.d
-    B.c
-    A.h
-    A.g
-
-C:
-  superclasses:
-    Object
-      -> A
-        -> B
-  interfaces:
-  classMembers:
-    B.b
-    A.f
-    A.a
-    A.[]=
-    Object.toString
-    A.e
-    A.unary-
-    Object.runtimeType
-    Object._simpleInstanceOf
-    A.n
-    A.i
-    Object._instanceOf
-    B.d
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    A.c
-    A.h
-    A.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    A.==
-    A.~
-    C.test
-  classSetters:
-    A.b
-    A.a
-    A.n
-    B.i
-    A.d
-    B.c
-    A.h
-    A.g
diff --git a/pkg/front_end/testcases/rasta/super.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/super.dart.textual_outline.expect
index df2c783..76c1398 100644
--- a/pkg/front_end/testcases/rasta/super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   var a;
   var b;
diff --git a/pkg/front_end/testcases/rasta/super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/super.dart.textual_outline_modelled.expect
index 9ce4369..e01c37b 100644
--- a/pkg/front_end/testcases/rasta/super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   final f;
   get e => null;
diff --git a/pkg/front_end/testcases/rasta/super.dart.strong.expect b/pkg/front_end/testcases/rasta/super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super.dart.strong.expect
rename to pkg/front_end/testcases/rasta/super.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/super.dart.outline.expect b/pkg/front_end/testcases/rasta/super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super.dart.outline.expect
rename to pkg/front_end/testcases/rasta/super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart b/pkg/front_end/testcases/rasta/super_initializer.dart
index 8793150..ce255d2 100644
--- a/pkg/front_end/testcases/rasta/super_initializer.dart
+++ b/pkg/front_end/testcases/rasta/super_initializer.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Super {
   Super.arg0();
   Super.arg1(a);
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.hierarchy.expect
deleted file mode 100644
index 6b547e4..0000000
--- a/pkg/front_end/testcases/rasta/super_initializer.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Super:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Sub:
-  superclasses:
-    Object
-      -> Super
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Sub.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Sub.field
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline.expect
index c058c68..99130ff 100644
--- a/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Super {
   Super.arg0();
   Super.arg1(a);
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline_modelled.expect
index 65f2d20..6c33e35 100644
--- a/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/super_initializer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Sub extends Super {
   Sub.arg0()
       : super.arg0(),
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.strong.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super_initializer.dart.strong.expect
rename to pkg/front_end/testcases/rasta/super_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.outline.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super_initializer.dart.outline.expect
rename to pkg/front_end/testcases/rasta/super_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/super_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/super_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/super_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart b/pkg/front_end/testcases/rasta/super_mixin.dart
index 913db8e..c6d7ab0 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import "mixin_library.dart" show Mixin;
 
 class Super<S> {
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.hierarchy.expect
deleted file mode 100644
index ff7667f..0000000
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.hierarchy.expect
+++ /dev/null
@@ -1,431 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Super:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Super.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Super.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Mixin:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Mixin.y
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-
-Super<V> with Mixin<V>:
-  superclasses:
-    Object
-      -> Super<V>
-  interfaces: Mixin<V>
-  classMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-  interfaceMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-
-C:
-  superclasses:
-    Object
-      -> Super<V>
-        -> _C&Super&Mixin<V>
-  interfaces: Mixin<V>
-  classMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-  interfaceMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-
-Super with Mixin<dynamic>:
-  superclasses:
-    Object
-      -> Super
-  interfaces: Mixin<dynamic>
-  classMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-  interfaceMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-
-D:
-  superclasses:
-    Object
-      -> Super
-        -> _D&Super&Mixin
-  interfaces: Mixin<dynamic>
-  classMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-  interfaceMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-
-C2:
-  superclasses:
-    Object
-      -> Super<V>
-  interfaces: Mixin<V>
-  classMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-  interfaceMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-
-D2:
-  superclasses:
-    Object
-      -> Super
-  interfaces: Mixin<dynamic>
-  classMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
-  interfaceMembers:
-    Mixin.y
-    Super.f
-    Mixin.t
-    Object.toString
-    Mixin.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Mixin.publicMethod
-    Mixin._privateMethod
-    Object._instanceOf
-    Mixin.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Mixin.h
-    Object.hashCode
-    Mixin.g
-    Mixin.z
-    Mixin.l
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    Mixin.y
-    Mixin.t
-    Mixin.x
-    Mixin.z
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline.expect
index 73b67ed..92fbf88 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "mixin_library.dart" show Mixin;
 
 class Super<S> {
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline_modelled.expect
index 526090a..330ee1f 100644
--- a/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/super_mixin.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "mixin_library.dart" show Mixin;
 
 class C<V> extends Super<V> with Mixin<V> {}
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.strong.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super_mixin.dart.strong.expect
rename to pkg/front_end/testcases/rasta/super_mixin.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/super_mixin.dart.outline.expect b/pkg/front_end/testcases/rasta/super_mixin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super_mixin.dart.outline.expect
rename to pkg/front_end/testcases/rasta/super_mixin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart b/pkg/front_end/testcases/rasta/super_operator.dart
index a50e586..661f0df 100644
--- a/pkg/front_end/testcases/rasta/super_operator.dart
+++ b/pkg/front_end/testcases/rasta/super_operator.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   operator +(String s) => null;
 
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/super_operator.dart.hierarchy.expect
deleted file mode 100644
index 2ab30e2..0000000
--- a/pkg/front_end/testcases/rasta/super_operator.dart.hierarchy.expect
+++ /dev/null
@@ -1,78 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.[]=
-    Object.toString
-    A.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    A.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    B.[]=
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Autobianchi:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Autobianchi.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline.expect
index 0a07631..7183595 100644
--- a/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   operator +(String s) => null;
   operator [](i) => null;
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline_modelled.expect
index 4ecde10..6716ede 100644
--- a/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/super_operator.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   operator +(String s) => null;
   operator [](i) => null;
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.strong.expect b/pkg/front_end/testcases/rasta/super_operator.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super_operator.dart.strong.expect
rename to pkg/front_end/testcases/rasta/super_operator.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/super_operator.dart.outline.expect b/pkg/front_end/testcases/rasta/super_operator.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/super_operator.dart.outline.expect
rename to pkg/front_end/testcases/rasta/super_operator.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart b/pkg/front_end/testcases/rasta/supports_reflection.dart
index d14efa0..4b53e52 100644
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart
+++ b/pkg/front_end/testcases/rasta/supports_reflection.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   print(const bool.fromEnvironment("dart.library.mirrors"));
 }
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.outline.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/supports_reflection.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/supports_reflection.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/supports_reflection.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.strong.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/supports_reflection.dart.strong.expect
rename to pkg/front_end/testcases/rasta/supports_reflection.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/supports_reflection.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/supports_reflection.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/supports_reflection.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/supports_reflection.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/supports_reflection.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart
index e0a06c1..98e78d8 100644
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart
@@ -3,7 +3,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.
  */
-
+// @dart=2.9
 // Slightly modified copy of
 // `co19/src/Language/Statements/Switch/execution_case_t02.dart`.
 
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.textual_outline.expect
index 9157edc..ec313f9 100644
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 test(value) {}
 testEmptyCases(value) {}
 main() {}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.textual_outline_modelled.expect
index d7ab5d3..13243fe 100644
--- a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 test(value) {}
 testEmptyCases(value) {}
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.strong.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.strong.expect
rename to pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.outline.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.outline.expect
rename to pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/switch_execution_case_t02.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart b/pkg/front_end/testcases/rasta/switch_fall_through.dart
index 422100c..78a52e9 100644
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart
+++ b/pkg/front_end/testcases/rasta/switch_fall_through.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   switch (1) {
     case 1:
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.outline.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/switch_fall_through.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/switch_fall_through.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/switch_fall_through.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.strong.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/switch_fall_through.dart.strong.expect
rename to pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/switch_fall_through.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/switch_fall_through.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/switch_fall_through.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart b/pkg/front_end/testcases/rasta/this_invoke.dart
index 42b95f7..f96ea7c 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class C {
   m(x) => this(x);
   call(x) => 42;
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.hierarchy.expect
deleted file mode 100644
index cd5ee43..0000000
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    C.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline.expect
index ab53b16..cdf68c2 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   m(x) => this(x);
   call(x) => 42;
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline_modelled.expect
index cabde6d..5be66ca 100644
--- a/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/this_invoke.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   call(x) => 42;
   m(x) => this(x);
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.strong.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/this_invoke.dart.strong.expect
rename to pkg/front_end/testcases/rasta/this_invoke.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.outline.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/this_invoke.dart.outline.expect
rename to pkg/front_end/testcases/rasta/this_invoke.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/this_invoke.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/this_invoke.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/this_invoke.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/try_label.dart b/pkg/front_end/testcases/rasta/try_label.dart
index 30406ac..f5ed518 100644
--- a/pkg/front_end/testcases/rasta/try_label.dart
+++ b/pkg/front_end/testcases/rasta/try_label.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   L: try {
     break L;
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.outline.expect b/pkg/front_end/testcases/rasta/try_label.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/try_label.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/try_label.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/try_label.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/try_label.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/try_label.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/try_label.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/try_label.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.strong.expect b/pkg/front_end/testcases/rasta/try_label.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/try_label.dart.strong.expect
rename to pkg/front_end/testcases/rasta/try_label.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/try_label.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/try_label.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/try_label.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/try_label.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/try_label.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/try_label.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart b/pkg/front_end/testcases/rasta/type_literals.dart
index 2d8fc23..fb2c206 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart
+++ b/pkg/front_end/testcases/rasta/type_literals.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 typedef void Func();
 
 class C<T> {
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/type_literals.dart.hierarchy.expect
deleted file mode 100644
index b628c46..0000000
--- a/pkg/front_end/testcases/rasta/type_literals.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.test
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline.expect
index 3e0fb14..7e37f70 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef void Func();
 
 class C<T> {
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline_modelled.expect
index e51e370..e5b0266 100644
--- a/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/type_literals.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<T> {
   test() {}
 }
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.strong.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/type_literals.dart.strong.expect
rename to pkg/front_end/testcases/rasta/type_literals.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.outline.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/type_literals.dart.outline.expect
rename to pkg/front_end/testcases/rasta/type_literals.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/type_literals.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/type_literals.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/type_literals.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart b/pkg/front_end/testcases/rasta/type_with_parse_error.dart
index ac9bb02..9a78135 100644
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart
+++ b/pkg/front_end/testcases/rasta/type_with_parse_error.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   // When analyzing this, the class element for B hasn't tried to parse its
   // members and isn't yet malformed.
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.hierarchy.expect
deleted file mode 100644
index f0bc0b1..0000000
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    B.i
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.i
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline.expect
index 10499e7..e8283f8 100644
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 
 class A {
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline_modelled.expect
index a2249be..56354fb 100644
--- a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   foo() {}
 }
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.strong.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/type_with_parse_error.dart.strong.expect
rename to pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.outline.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/type_with_parse_error.dart.outline.expect
rename to pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/type_with_parse_error.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/type_with_parse_error.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/type_with_parse_error.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/typedef.dart b/pkg/front_end/testcases/rasta/typedef.dart
index 37e26a6..3478fe6 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart
+++ b/pkg/front_end/testcases/rasta/typedef.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 typedef void Foo();
 
 main() {
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/typedef.dart.textual_outline.expect
index 3c109123..b660849 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 typedef void Foo();
 main() {}
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/typedef.dart.textual_outline_modelled.expect
index 7f7ac99..0584615 100644
--- a/pkg/front_end/testcases/rasta/typedef.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/typedef.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 typedef void Foo();
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.strong.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/typedef.dart.strong.expect
rename to pkg/front_end/testcases/rasta/typedef.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.outline.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/typedef.dart.outline.expect
rename to pkg/front_end/testcases/rasta/typedef.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/typedef.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/typedef.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/typedef.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart b/pkg/front_end/testcases/rasta/unresolved.dart
index 39c690c..551af83 100644
--- a/pkg/front_end/testcases/rasta/unresolved.dart
+++ b/pkg/front_end/testcases/rasta/unresolved.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 main() {
   new Missing();
 }
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.outline.expect b/pkg/front_end/testcases/rasta/unresolved.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/rasta/unresolved.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/unresolved.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.strong.expect b/pkg/front_end/testcases/rasta/unresolved.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved.dart.strong.expect
rename to pkg/front_end/testcases/rasta/unresolved.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect b/pkg/front_end/testcases/rasta/unresolved.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/rasta/bad_continue.dart.outline.expect
copy to pkg/front_end/testcases/rasta/unresolved.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/unresolved.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/unresolved.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart b/pkg/front_end/testcases/rasta/unresolved_constructor.dart
index 3106df6..3d78bec 100644
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart
+++ b/pkg/front_end/testcases/rasta/unresolved_constructor.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class Foo {
   Foo(x, y);
 }
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.hierarchy.expect
deleted file mode 100644
index 6dc6110..0000000
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline.expect
index 36e85d2..cd083e3 100644
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   Foo(x, y);
 }
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline_modelled.expect
index 36e85d2..cd083e3 100644
--- a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo {
   Foo(x, y);
 }
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.strong.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved_constructor.dart.strong.expect
rename to pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.outline.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved_constructor.dart.outline.expect
rename to pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved_constructor.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved_constructor.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/unresolved_constructor.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart b/pkg/front_end/testcases/rasta/unresolved_for_in.dart
index b9e9c1b..f4954fa 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import 'dart:collection' as collection;
 
 typedef void VoidFunction();
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.hierarchy.expect
deleted file mode 100644
index a30fc97..0000000
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Fisk:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Fisk.it1
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline.expect
index 2b61e89..fb34d84 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection' as collection;
 
 typedef void VoidFunction();
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline_modelled.expect
index 4d7cff8..8de2ab7 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:collection' as collection;
 
 class Fisk {
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.expect
rename to pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.outline.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved_for_in.dart.outline.expect
rename to pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/unresolved_for_in.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart b/pkg/front_end/testcases/rasta/unresolved_recovery.dart
index 1cc6bf2..58b69e3 100644
--- a/pkg/front_end/testcases/rasta/unresolved_recovery.dart
+++ b/pkg/front_end/testcases/rasta/unresolved_recovery.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class E {
   foo() {
     super[4] = 42;
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.hierarchy.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.hierarchy.expect
deleted file mode 100644
index 20323e6..0000000
--- a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    E.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline.expect
index b529ebe..ee554bb 100644
--- a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class E {
   foo() {}
 }
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline_modelled.expect
index 97cd820..03749c1 100644
--- a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 beforeTestMissingTry() {}
 
 class E {
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.strong.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved_recovery.dart.strong.expect
rename to pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/unresolved_recovery.dart.outline.expect b/pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unresolved_recovery.dart.outline.expect
rename to pkg/front_end/testcases/rasta/unresolved_recovery.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart
index fa8123d..0e70c0f 100644
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart
+++ b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import 'dart:html';
 import 'dart:io';
 
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.textual_outline.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.textual_outline.expect
index afaa1af..c1068f2 100644
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:html';
 import 'dart:io';
 
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.textual_outline_modelled.expect
index afaa1af..c1068f2 100644
--- a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:html';
 import 'dart:io';
 
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.strong.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unsupported_platform_library.dart.strong.expect
rename to pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.expect
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.outline.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unsupported_platform_library.dart.outline.expect
rename to pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/rasta/unsupported_platform_library.dart.strong.transformed.expect
rename to pkg/front_end/testcases/rasta/unsupported_platform_library.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart
index d3a38362..7f31b89 100644
--- a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart
+++ b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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.
-
+// @dart=2.9
 x.y = 42;
 x.z = true;
 void foo() {
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.textual_outline.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.textual_outline.expect
index e649b85..25343fd 100644
--- a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 x(){}
 .
 y = 42;
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.strong.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/ambiguous_builder_01.dart.strong.expect
rename to pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.outline.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/ambiguous_builder_01.dart.outline.expect
rename to pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/ambiguous_builder_01.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/ambiguous_builder_01.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/folder.options b/pkg/front_end/testcases/regress/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/regress/folder.options
+++ b/pkg/front_end/testcases/regress/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart b/pkg/front_end/testcases/regress/issue_29937.dart
index fcbb92c..503c5b8 100644
--- a/pkg/front_end/testcases/regress/issue_29937.dart
+++ b/pkg/front_end/testcases/regress/issue_29937.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   [f() {}];
 }
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29937.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29937.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29937.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29937.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29937.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29937.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29937.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29937.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29937.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29937.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29937.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29937.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29937.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29937.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart b/pkg/front_end/testcases/regress/issue_29940.dart
index 70bba6a..dcebf16 100644
--- a/pkg/front_end/testcases/regress/issue_29940.dart
+++ b/pkg/front_end/testcases/regress/issue_29940.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   var a = "";
   a.b c = null;
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29940.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/regress/issue_29940.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29940.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29940.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29940.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29940.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29940.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_29940.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29940.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29940.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29940.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29940.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart b/pkg/front_end/testcases/regress/issue_29941.dart
index 6cf1d7e..6653493 100644
--- a/pkg/front_end/testcases/regress/issue_29941.dart
+++ b/pkg/front_end/testcases/regress/issue_29941.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   var a = "";
   a."";
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29941.dart.textual_outline.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_29941.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29941.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29941.dart.textual_outline_modelled.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_29941.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29941.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29941.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29941.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29941.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29941.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29941.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29941.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29941.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29941.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29941.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart b/pkg/front_end/testcases/regress/issue_29942.dart
index 6117e09..a59e71b 100644
--- a/pkg/front_end/testcases/regress/issue_29942.dart
+++ b/pkg/front_end/testcases/regress/issue_29942.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
 }
 
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29942.dart.textual_outline.expect
index 7dbc73c..7b59ab6 100644
--- a/pkg/front_end/testcases/regress/issue_29942.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29942.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 f() = h() => null;
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29942.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29942.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29942.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29942.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29942.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29942.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29942.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29942.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29942.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29942.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart b/pkg/front_end/testcases/regress/issue_29943.dart
index b375a92..a16b699 100644
--- a/pkg/front_end/testcases/regress/issue_29943.dart
+++ b/pkg/front_end/testcases/regress/issue_29943.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   x.(null);
 }
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29943.dart.outline.expect
deleted file mode 100644
index 81debf2..0000000
--- a/pkg/front_end/testcases/regress/issue_29943.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method bad() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline_modelled.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29943.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29943.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29943.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29943.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29943.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29941.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_29943.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29943.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29943.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29943.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29943.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart b/pkg/front_end/testcases/regress/issue_29944.dart
index a938fee..535993f 100644
--- a/pkg/front_end/testcases/regress/issue_29944.dart
+++ b/pkg/front_end/testcases/regress/issue_29944.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class C {
   C();
   var C;
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_29944.dart.hierarchy.expect
deleted file mode 100644
index 6ed478b..0000000
--- a/pkg/front_end/testcases/regress/issue_29944.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.C
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.C
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29944.dart.textual_outline.expect
index 84b02fb..9c83e12 100644
--- a/pkg/front_end/testcases/regress/issue_29944.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29944.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C();
   var C;
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29944.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29944.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29944.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29944.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29944.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29944.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29944.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29944.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29944.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29944.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart b/pkg/front_end/testcases/regress/issue_29945.dart
index dd63202..0bf5840 100644
--- a/pkg/front_end/testcases/regress/issue_29945.dart
+++ b/pkg/front_end/testcases/regress/issue_29945.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   s.bool x = null;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29945.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/regress/issue_29945.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29945.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29945.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29945.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29945.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29945.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_29945.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29945.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29945.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29945.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29945.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart b/pkg/front_end/testcases/regress/issue_29975.dart
index 69f2e31..2b754c1 100644
--- a/pkg/front_end/testcases/regress/issue_29975.dart
+++ b/pkg/front_end/testcases/regress/issue_29975.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 typedef void F();
 typedef void F();
 
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29975.dart.textual_outline.expect
index e3e4824..a25da4a 100644
--- a/pkg/front_end/testcases/regress/issue_29975.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29975.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef void F();
 typedef void F();
 void main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29975.dart.textual_outline_modelled.expect
index e3e4824..a25da4a 100644
--- a/pkg/front_end/testcases/regress/issue_29975.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29975.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef void F();
 typedef void F();
 void main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29975.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29975.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29975.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29975.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29975.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29975.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29975.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29975.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29975.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29975.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart b/pkg/front_end/testcases/regress/issue_29976.dart
index 3d2a10c..c5e859d 100644
--- a/pkg/front_end/testcases/regress/issue_29976.dart
+++ b/pkg/front_end/testcases/regress/issue_29976.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 get x => null;
 
 void main() {
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29976.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29976.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29976.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29976.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29976.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29976.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29976.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29976.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29976.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29976.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart b/pkg/front_end/testcases/regress/issue_29977.dart
index 958074a..d8594ce 100644
--- a/pkg/front_end/testcases/regress/issue_29977.dart
+++ b/pkg/front_end/testcases/regress/issue_29977.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 import 'data:async';
 
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29977.dart.outline.expect
deleted file mode 100644
index f162b6e..0000000
--- a/pkg/front_end/testcases/regress/issue_29977.dart.outline.expect
+++ /dev/null
@@ -1,25 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29977.dart:5:8: Error: Expected a URI.
-// import 'data:async';
-//        ^
-//
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29977.dart.strong.expect
deleted file mode 100644
index 2709154..0000000
--- a/pkg/front_end/testcases/regress/issue_29977.dart.strong.expect
+++ /dev/null
@@ -1,24 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29977.dart:5:8: Error: Expected a URI.
-// import 'data:async';
-//        ^
-//
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29977.dart.strong.transformed.expect
deleted file mode 100644
index 2709154..0000000
--- a/pkg/front_end/testcases/regress/issue_29977.dart.strong.transformed.expect
+++ /dev/null
@@ -1,24 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29977.dart:5:8: Error: Expected a URI.
-// import 'data:async';
-//        ^
-//
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline.expect
index 86b4d9e..d4b5e9c 100644
--- a/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'data:async';
 
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline_modelled.expect
index 86b4d9e..d4b5e9c 100644
--- a/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'data:async';
 
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29977.dart.weak.expect
new file mode 100644
index 0000000..b0dc750
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.weak.expect
@@ -0,0 +1,24 @@
+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 /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_29977.dart:5:8: Error: Expected a URI.
+// import 'data:async';
+//        ^
+//
+import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29977.dart.weak.outline.expect
new file mode 100644
index 0000000..06b2df4
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.weak.outline.expect
@@ -0,0 +1,25 @@
+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 /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_29977.dart:5:8: Error: Expected a URI.
+// import 'data:async';
+//        ^
+//
+import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29977.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29977.dart.weak.transformed.expect
new file mode 100644
index 0000000..b0dc750
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_29977.dart.weak.transformed.expect
@@ -0,0 +1,24 @@
+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 /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_29977.dart:5:8: Error: Expected a URI.
+// import 'data:async';
+//        ^
+//
+import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart b/pkg/front_end/testcases/regress/issue_29978.dart
index 997d9aa..5169226 100644
--- a/pkg/front_end/testcases/regress/issue_29978.dart
+++ b/pkg/front_end/testcases/regress/issue_29978.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 foo(a, b) => null;
 
 main() {
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29978.dart.textual_outline.expect
index 2a44271..7df13fc 100644
--- a/pkg/front_end/testcases/regress/issue_29978.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29978.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 foo(a, b) => null;
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29978.dart.textual_outline_modelled.expect
index 2a44271..7df13fc 100644
--- a/pkg/front_end/testcases/regress/issue_29978.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29978.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 foo(a, b) => null;
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29978.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29978.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29978.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29978.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29978.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29978.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29978.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29978.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29978.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29978.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart b/pkg/front_end/testcases/regress/issue_29979.dart
index c6bfd12..4034b94 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart
+++ b/pkg/front_end/testcases/regress/issue_29979.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   (f() {})();
 }
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29979.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/regress/issue_29979.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29979.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29979.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29979.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_29979.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29979.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29979.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29979.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart b/pkg/front_end/testcases/regress/issue_29980.dart
index 184c87a..be250c4 100644
--- a/pkg/front_end/testcases/regress/issue_29980.dart
+++ b/pkg/front_end/testcases/regress/issue_29980.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   x.y z;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29980.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/regress/issue_29980.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29980.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29980.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29980.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29980.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29980.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_29980.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29980.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29980.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29980.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29980.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart b/pkg/front_end/testcases/regress/issue_29981.dart
index 354f8ce..fe5cb48 100644
--- a/pkg/front_end/testcases/regress/issue_29981.dart
+++ b/pkg/front_end/testcases/regress/issue_29981.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class C<T> {
   C<String, String> field;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_29981.dart.hierarchy.expect
deleted file mode 100644
index 2ac662a..0000000
--- a/pkg/front_end/testcases/regress/issue_29981.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.field
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.field
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline.expect
index 2dd5595..6cf0086 100644
--- a/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<T> {
   C<String, String> field;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline_modelled.expect
index 2dd5595..6cf0086 100644
--- a/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29981.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C<T> {
   C<String, String> field;
 }
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29981.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29981.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29981.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29981.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29981.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29981.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29981.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29981.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29981.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29981.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart b/pkg/front_end/testcases/regress/issue_29982.dart
index 4108de0..2047a2a 100644
--- a/pkg/front_end/testcases/regress/issue_29982.dart
+++ b/pkg/front_end/testcases/regress/issue_29982.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
   var eh = {"éh": "éh"};
   print('${eh[éh']}');
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29982.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29982.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29982.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29982.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29982.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29982.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29982.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart b/pkg/front_end/testcases/regress/issue_29983.dart
index a2ffd95..736b29b 100644
--- a/pkg/front_end/testcases/regress/issue_29983.dart
+++ b/pkg/front_end/testcases/regress/issue_29983.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 f() sync* {
   // Returning value from generator: forbidden.
   return missing;
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29983.dart.textual_outline.expect
index 352a7fd..16f1982 100644
--- a/pkg/front_end/testcases/regress/issue_29983.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29983.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 f() sync* {}
 g() sync* => dummy;
 h() sync* {}
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29983.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29983.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29983.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29983.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29983.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29983.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29983.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart b/pkg/front_end/testcases/regress/issue_29984.dart
index e55ab01..f0804ae 100644
--- a/pkg/front_end/testcases/regress/issue_29984.dart
+++ b/pkg/front_end/testcases/regress/issue_29984.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   for (int i = i;; false) {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29984.dart.outline.expect
deleted file mode 100644
index 81debf2..0000000
--- a/pkg/front_end/testcases/regress/issue_29984.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method bad() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline_modelled.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29984.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29984.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29984.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29984.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29984.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29941.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_29984.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29984.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29984.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29984.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29984.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart b/pkg/front_end/testcases/regress/issue_29985.dart
index d0999ee..e777de7 100644
--- a/pkg/front_end/testcases/regress/issue_29985.dart
+++ b/pkg/front_end/testcases/regress/issue_29985.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   🔛
 }
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29985.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29985.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29985.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29985.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29985.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29985.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29985.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29985.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29985.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29985.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart b/pkg/front_end/testcases/regress/issue_29986.dart
index 42fb594..d7f123d 100644
--- a/pkg/front_end/testcases/regress/issue_29986.dart
+++ b/pkg/front_end/testcases/regress/issue_29986.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 main() {
 }
 
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29986.dart.textual_outline.expect
index 9278487..0533144 100644
--- a/pkg/front_end/testcases/regress/issue_29986.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29986.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 main() {}
 C(this.name);
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29986.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29986.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_29986.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29986.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29986.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_29986.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_29986.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29986.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_29986.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_29986.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart b/pkg/front_end/testcases/regress/issue_29987.dart
index 78c7779..46adde9 100644
--- a/pkg/front_end/testcases/regress/issue_29987.dart
+++ b/pkg/front_end/testcases/regress/issue_29987.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 import "dart_:core";
 
 main() {
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.outline.expect b/pkg/front_end/testcases/regress/issue_29987.dart.outline.expect
deleted file mode 100644
index 25fefc3..0000000
--- a/pkg/front_end/testcases/regress/issue_29987.dart.outline.expect
+++ /dev/null
@@ -1,25 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29987.dart:5:8: Error: Expected a URI.
-// import "dart_:core";
-//        ^
-//
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.strong.expect b/pkg/front_end/testcases/regress/issue_29987.dart.strong.expect
deleted file mode 100644
index 4430e45..0000000
--- a/pkg/front_end/testcases/regress/issue_29987.dart.strong.expect
+++ /dev/null
@@ -1,24 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29987.dart:5:8: Error: Expected a URI.
-// import "dart_:core";
-//        ^
-//
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_29987.dart.strong.transformed.expect
deleted file mode 100644
index 4430e45..0000000
--- a/pkg/front_end/testcases/regress/issue_29987.dart.strong.transformed.expect
+++ /dev/null
@@ -1,24 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_29987.dart:5:8: Error: Expected a URI.
-// import "dart_:core";
-//        ^
-//
-import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline.expect
index b891f0b..3f9947c 100644
--- a/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "dart_:core";
 
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline_modelled.expect
index b891f0b..3f9947c 100644
--- a/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "dart_:core";
 
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.weak.expect b/pkg/front_end/testcases/regress/issue_29987.dart.weak.expect
new file mode 100644
index 0000000..bd49b16
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.weak.expect
@@ -0,0 +1,24 @@
+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 /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_29987.dart:5:8: Error: Expected a URI.
+// import "dart_:core";
+//        ^
+//
+import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_29987.dart.weak.outline.expect
new file mode 100644
index 0000000..f9a5de8
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.weak.outline.expect
@@ -0,0 +1,25 @@
+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 /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_29987.dart:5:8: Error: Expected a URI.
+// import "dart_:core";
+//        ^
+//
+import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_29987.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_29987.dart.weak.transformed.expect
new file mode 100644
index 0000000..bd49b16
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_29987.dart.weak.transformed.expect
@@ -0,0 +1,24 @@
+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 /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_29987.dart:5:8: Error: Expected a URI.
+// import "dart_:core";
+//        ^
+//
+import self as self2;
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart b/pkg/front_end/testcases/regress/issue_30834.dart
index 12a2a33..3b38f5e 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart
+++ b/pkg/front_end/testcases/regress/issue_30834.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   set A(v) {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_30834.dart.hierarchy.expect
deleted file mode 100644
index e75291f..0000000
--- a/pkg/front_end/testcases/regress/issue_30834.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.A
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30834.dart.textual_outline.expect
index 0f21945..e4eaeba 100644
--- a/pkg/front_end/testcases/regress/issue_30834.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30834.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   set A(v) {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.strong.expect b/pkg/front_end/testcases/regress/issue_30834.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30834.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_30834.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.outline.expect b/pkg/front_end/testcases/regress/issue_30834.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30834.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_30834.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_30834.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_30834.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30834.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_30834.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart b/pkg/front_end/testcases/regress/issue_30836.dart
index a674a5c..4c408d4 100644
--- a/pkg/front_end/testcases/regress/issue_30836.dart
+++ b/pkg/front_end/testcases/regress/issue_30836.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {
   final int x;
   A() {}
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_30836.dart.hierarchy.expect
deleted file mode 100644
index 81e33f7..0000000
--- a/pkg/front_end/testcases/regress/issue_30836.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    A.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline.expect
index 5a96f26..98cfbdf 100644
--- a/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   final int x;
   A() {}
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline_modelled.expect
index 32f0ddd..60ea563 100644
--- a/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_30836.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A() {}
   final int x;
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.strong.expect b/pkg/front_end/testcases/regress/issue_30836.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30836.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_30836.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.outline.expect b/pkg/front_end/testcases/regress/issue_30836.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30836.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_30836.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_30836.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_30836.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30836.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_30836.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart b/pkg/front_end/testcases/regress/issue_30838.dart
index 3125604..aeb388f 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart
+++ b/pkg/front_end/testcases/regress/issue_30838.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 typedef Foo<S> = S Function<T>(T x);
 int foo<T>(T x) => 3;
 Foo<int> bar() => foo;
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_30838.dart.hierarchy.expect
deleted file mode 100644
index b042f94..0000000
--- a/pkg/front_end/testcases/regress/issue_30838.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    A.test
-  classSetters:
-    A.f
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30838.dart.textual_outline.expect
index 5ba2d20..011ce8e 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30838.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef Foo<S> = S Function<T>(T x);
 int foo<T>(T x) => 3;
 Foo<int> bar() => foo;
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_30838.dart.textual_outline_modelled.expect
index 14b3da3..6ee1927 100644
--- a/pkg/front_end/testcases/regress/issue_30838.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_30838.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 Foo<int> bar() => foo;
 
 class A {
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.strong.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30838.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_30838.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.outline.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30838.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_30838.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_30838.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30838.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_30838.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart b/pkg/front_end/testcases/regress/issue_30981.dart
index 09e7fd8..eacdc1e 100644
--- a/pkg/front_end/testcases/regress/issue_30981.dart
+++ b/pkg/front_end/testcases/regress/issue_30981.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   get A {
     print("Actually, I'm a getter, not a constructor.");
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_30981.dart.hierarchy.expect
deleted file mode 100644
index c5c305b..0000000
--- a/pkg/front_end/testcases/regress/issue_30981.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.A
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30981.dart.textual_outline.expect
index 4e0b986..3a6d1c8 100644
--- a/pkg/front_end/testcases/regress/issue_30981.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30981.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   get A {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.strong.expect b/pkg/front_end/testcases/regress/issue_30981.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30981.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_30981.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.outline.expect b/pkg/front_end/testcases/regress/issue_30981.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30981.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_30981.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_30981.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_30981.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_30981.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_30981.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart b/pkg/front_end/testcases/regress/issue_30994.dart
index 4f355c7..6cfe28e 100644
--- a/pkg/front_end/testcases/regress/issue_30994.dart
+++ b/pkg/front_end/testcases/regress/issue_30994.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 library lib;
 part '$foo';
 part '$foo/bar';
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.outline.expect b/pkg/front_end/testcases/regress/issue_30994.dart.outline.expect
deleted file mode 100644
index 248fabb..0000000
--- a/pkg/front_end/testcases/regress/issue_30994.dart.outline.expect
+++ /dev/null
@@ -1,119 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:6:6: Error: Expected a URI.
-// part '$foo';
-//      ^
-//
-import self as self2;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:7:6: Error: Expected a URI.
-// part '$foo/bar';
-//      ^
-//
-import self as self3;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:8:6: Error: Expected a URI.
-// part '$for/bar';
-//      ^
-//
-import self as self4;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:9:6: Error: Expected a URI.
-// part '${true}';
-//      ^
-//
-import self as self5;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:10:6: Error: Expected a URI.
-// part 'the${1}thing';
-//      ^
-//
-import self as self6;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:11:6: Error: Expected a URI.
-// part 'part_$foo${'a'}.dart';
-//      ^
-//
-import self as self7;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:12:6: Error: Expected a URI.
-// part 'part_${'a'}_$foo.dart';
-//      ^
-//
-import self as self8;
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.strong.expect b/pkg/front_end/testcases/regress/issue_30994.dart.strong.expect
deleted file mode 100644
index 212f13d..0000000
--- a/pkg/front_end/testcases/regress/issue_30994.dart.strong.expect
+++ /dev/null
@@ -1,118 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:6:6: Error: Expected a URI.
-// part '$foo';
-//      ^
-//
-import self as self2;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:7:6: Error: Expected a URI.
-// part '$foo/bar';
-//      ^
-//
-import self as self3;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:8:6: Error: Expected a URI.
-// part '$for/bar';
-//      ^
-//
-import self as self4;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:9:6: Error: Expected a URI.
-// part '${true}';
-//      ^
-//
-import self as self5;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:10:6: Error: Expected a URI.
-// part 'the${1}thing';
-//      ^
-//
-import self as self6;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:11:6: Error: Expected a URI.
-// part 'part_$foo${'a'}.dart';
-//      ^
-//
-import self as self7;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:12:6: Error: Expected a URI.
-// part 'part_${'a'}_$foo.dart';
-//      ^
-//
-import self as self8;
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_30994.dart.strong.transformed.expect
deleted file mode 100644
index 212f13d..0000000
--- a/pkg/front_end/testcases/regress/issue_30994.dart.strong.transformed.expect
+++ /dev/null
@@ -1,118 +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;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:6:6: Error: Expected a URI.
-// part '$foo';
-//      ^
-//
-import self as self2;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:7:6: Error: Expected a URI.
-// part '$foo/bar';
-//      ^
-//
-import self as self3;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:8:6: Error: Expected a URI.
-// part '$for/bar';
-//      ^
-//
-import self as self4;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:9:6: Error: Expected a URI.
-// part '${true}';
-//      ^
-//
-import self as self5;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:10:6: Error: Expected a URI.
-// part 'the${1}thing';
-//      ^
-//
-import self as self6;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:11:6: Error: Expected a URI.
-// part 'part_$foo${'a'}.dart';
-//      ^
-//
-import self as self7;
-
-
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_30994.dart:12:6: Error: Expected a URI.
-// part 'part_${'a'}_$foo.dart';
-//      ^
-//
-import self as self8;
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_30994.dart.textual_outline.expect
index d76d046..7b888eb 100644
--- a/pkg/front_end/testcases/regress/issue_30994.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_30994.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library lib;
 part '$foo';
 part '$foo/bar';
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.weak.expect b/pkg/front_end/testcases/regress/issue_30994.dart.weak.expect
new file mode 100644
index 0000000..23676b0
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_30994.dart.weak.expect
@@ -0,0 +1,118 @@
+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:bad247;
+part org-dartlang-malformed-uri:bad260;
+part org-dartlang-malformed-uri:bad277;
+part org-dartlang-malformed-uri:bad294;
+part org-dartlang-malformed-uri:bad310;
+part org-dartlang-malformed-uri:bad331;
+part org-dartlang-malformed-uri:bad360;
+static method main() → dynamic {}
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:6:6: Error: Expected a URI.
+// part '$foo';
+//      ^
+//
+import self as self2;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:7:6: Error: Expected a URI.
+// part '$foo/bar';
+//      ^
+//
+import self as self3;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:8:6: Error: Expected a URI.
+// part '$for/bar';
+//      ^
+//
+import self as self4;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:9:6: Error: Expected a URI.
+// part '${true}';
+//      ^
+//
+import self as self5;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:10:6: Error: Expected a URI.
+// part 'the${1}thing';
+//      ^
+//
+import self as self6;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:11:6: Error: Expected a URI.
+// part 'part_$foo${'a'}.dart';
+//      ^
+//
+import self as self7;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:12:6: Error: Expected a URI.
+// part 'part_${'a'}_$foo.dart';
+//      ^
+//
+import self as self8;
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_30994.dart.weak.outline.expect
new file mode 100644
index 0000000..cd7a4c9
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_30994.dart.weak.outline.expect
@@ -0,0 +1,119 @@
+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:bad247;
+part org-dartlang-malformed-uri:bad260;
+part org-dartlang-malformed-uri:bad277;
+part org-dartlang-malformed-uri:bad294;
+part org-dartlang-malformed-uri:bad310;
+part org-dartlang-malformed-uri:bad331;
+part org-dartlang-malformed-uri:bad360;
+static method main() → dynamic
+  ;
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:6:6: Error: Expected a URI.
+// part '$foo';
+//      ^
+//
+import self as self2;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:7:6: Error: Expected a URI.
+// part '$foo/bar';
+//      ^
+//
+import self as self3;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:8:6: Error: Expected a URI.
+// part '$for/bar';
+//      ^
+//
+import self as self4;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:9:6: Error: Expected a URI.
+// part '${true}';
+//      ^
+//
+import self as self5;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:10:6: Error: Expected a URI.
+// part 'the${1}thing';
+//      ^
+//
+import self as self6;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:11:6: Error: Expected a URI.
+// part 'part_$foo${'a'}.dart';
+//      ^
+//
+import self as self7;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:12:6: Error: Expected a URI.
+// part 'part_${'a'}_$foo.dart';
+//      ^
+//
+import self as self8;
diff --git a/pkg/front_end/testcases/regress/issue_30994.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_30994.dart.weak.transformed.expect
new file mode 100644
index 0000000..23676b0
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_30994.dart.weak.transformed.expect
@@ -0,0 +1,118 @@
+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:bad247;
+part org-dartlang-malformed-uri:bad260;
+part org-dartlang-malformed-uri:bad277;
+part org-dartlang-malformed-uri:bad294;
+part org-dartlang-malformed-uri:bad310;
+part org-dartlang-malformed-uri:bad331;
+part org-dartlang-malformed-uri:bad360;
+static method main() → dynamic {}
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:6:6: Error: Expected a URI.
+// part '$foo';
+//      ^
+//
+import self as self2;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:7:6: Error: Expected a URI.
+// part '$foo/bar';
+//      ^
+//
+import self as self3;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:8:6: Error: Expected a URI.
+// part '$for/bar';
+//      ^
+//
+import self as self4;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:9:6: Error: Expected a URI.
+// part '${true}';
+//      ^
+//
+import self as self5;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:10:6: Error: Expected a URI.
+// part 'the${1}thing';
+//      ^
+//
+import self as self6;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:11:6: Error: Expected a URI.
+// part 'part_$foo${'a'}.dart';
+//      ^
+//
+import self as self7;
+
+
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_30994.dart:12:6: Error: Expected a URI.
+// part 'part_${'a'}_$foo.dart';
+//      ^
+//
+import self as self8;
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart b/pkg/front_end/testcases/regress/issue_31155.dart
index 5e9082b..fd6b43a 100644
--- a/pkg/front_end/testcases/regress/issue_31155.dart
+++ b/pkg/front_end/testcases/regress/issue_31155.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class A {}
 
 class B {
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_31155.dart.hierarchy.expect
deleted file mode 100644
index e323a87..0000000
--- a/pkg/front_end/testcases/regress/issue_31155.dart.hierarchy.expect
+++ /dev/null
@@ -1,75 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.>
-    Object.hashCode
-    C.B
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.f
-    C.B
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31155.dart.textual_outline.expect
index b1a52c5..79e9364 100644
--- a/pkg/front_end/testcases/regress/issue_31155.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31155.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 class B {}
 class C {
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31155.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31155.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31155.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31155.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31155.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31155.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31155.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31155.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31155.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart b/pkg/front_end/testcases/regress/issue_31157.dart
index f45fa8e..3ba832e 100644
--- a/pkg/front_end/testcases/regress/issue_31157.dart
+++ b/pkg/front_end/testcases/regress/issue_31157.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   return null?.(1);
 }
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31157.dart.outline.expect
deleted file mode 100644
index 81debf2..0000000
--- a/pkg/front_end/testcases/regress/issue_31157.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method bad() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline_modelled.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31157.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31157.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31157.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31157.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31157.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29941.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_31157.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31157.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31157.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31157.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31157.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart b/pkg/front_end/testcases/regress/issue_31171.dart
index c7ffc48..e57f24d 100644
--- a/pkg/front_end/testcases/regress/issue_31171.dart
+++ b/pkg/front_end/testcases/regress/issue_31171.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 main() {}
 
 typedef T = 
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31171.dart.textual_outline.expect
index fb9c573..fd4484b 100644
--- a/pkg/front_end/testcases/regress/issue_31171.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31171.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 typedef T = ;
 typedef F = Map<String, dynamic> Function();
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31171.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31171.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31171.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31171.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31171.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31171.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31171.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31171.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31171.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31171.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart b/pkg/front_end/testcases/regress/issue_31180.dart
index 7109223..0d88261 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart
+++ b/pkg/front_end/testcases/regress/issue_31180.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   return null?[1];
 }
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31180.dart.outline.expect
deleted file mode 100644
index 81debf2..0000000
--- a/pkg/front_end/testcases/regress/issue_31180.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method bad() → dynamic
-  ;
-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
deleted file mode 100644
index 8301dfb..0000000
--- a/pkg/front_end/testcases/regress/issue_31180.dart.strong.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-//   return null?[1];
-//               ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bad() → dynamic {
-  return let final dynamic #t1 = null in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.[](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
deleted file mode 100644
index 19c01b2..0000000
--- a/pkg/front_end/testcases/regress/issue_31180.dart.strong.transformed.expect
+++ /dev/null
@@ -1,21 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: This requires the 'non-nullable' language feature to be enabled.
-// The feature is on by default but is currently disabled, maybe because the '--enable-experiment=no-non-nullable' command line option is passed.
-//   return null?[1];
-//               ^
-//
-import self as self;
-import "dart:core" as core;
-
-static method bad() → dynamic {
-  return let final<BottomType> #t1 = null in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.[](1);
-}
-static method main() → dynamic {}
-
-
-Extra constant evaluation status:
-Evaluated: Let @ org-dartlang-testcase:///issue_31180.dart:6:10 -> NullConstant(null)
-Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31180.dart.textual_outline.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31180.dart.textual_outline_modelled.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31180.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect b/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect
new file mode 100644
index 0000000..9fe9d75
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.weak.expect
@@ -0,0 +1,19 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+//   return null?[1];
+//               ^
+// pkg/front_end/testcases/regress/issue_31180.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static method bad() → dynamic {
+  return let final dynamic #t1 = null in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.[](1);
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31180.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29941.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_31180.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31180.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_31180.dart.weak.transformed.expect
new file mode 100644
index 0000000..230a1c5
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_31180.dart.weak.transformed.expect
@@ -0,0 +1,24 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_31180.dart:6:15: Error: Null safety features are disabled for this library.
+// Try removing the `@dart=` annotation or setting the language version to 2.12 or higher.
+//   return null?[1];
+//               ^
+// pkg/front_end/testcases/regress/issue_31180.dart:4:1: Context: This is the annotation that opts out this library from null safety features.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+static method bad() → dynamic {
+  return let final<BottomType> #t1 = null in #t1.{core::Object::==}(null) ?{dynamic} null : #t1.[](1);
+}
+static method main() → dynamic {}
+
+
+Extra constant evaluation status:
+Evaluated: Let @ org-dartlang-testcase:///issue_31180.dart:6:10 -> NullConstant(null)
+Extra constant evaluation: evaluated: 1, effectively constant: 1
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart b/pkg/front_end/testcases/regress/issue_31181.dart
index cf4a113..611e587 100644
--- a/pkg/front_end/testcases/regress/issue_31181.dart
+++ b/pkg/front_end/testcases/regress/issue_31181.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 typedef Foo<T> = T Function<T>(T a);
 
 Foo x;
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31181.dart.textual_outline.expect
index 5b23e22..4d5a8eb 100644
--- a/pkg/front_end/testcases/regress/issue_31181.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31181.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef Foo<T> = T Function<T>(T a);
 Foo x;
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31181.dart.textual_outline_modelled.expect
index 954749e..eaba308 100644
--- a/pkg/front_end/testcases/regress/issue_31181.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31181.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 Foo x;
 main() {}
 typedef Foo<T> = T Function<T>(T a);
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31181.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31181.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31181.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31181.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31181.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31181.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31181.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31181.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31181.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31181.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart b/pkg/front_end/testcases/regress/issue_31183.dart
index 4416b71..177c12e 100644
--- a/pkg/front_end/testcases/regress/issue_31183.dart
+++ b/pkg/front_end/testcases/regress/issue_31183.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class C {
   operator unary- => 0;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_31183.dart.hierarchy.expect
deleted file mode 100644
index 80fc858..0000000
--- a/pkg/front_end/testcases/regress/issue_31183.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.unary-
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31183.dart.textual_outline.expect
index 36ac0b8..ab453b5 100644
--- a/pkg/front_end/testcases/regress/issue_31183.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31183.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   operator unary- ()=> 0;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31183.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31183.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31183.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31183.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31183.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31183.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31183.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31183.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31183.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31183.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart b/pkg/front_end/testcases/regress/issue_31184.dart
index 83f1665..73fd726 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart
+++ b/pkg/front_end/testcases/regress/issue_31184.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   for (int i = 0, i > 10; i++) {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31184.dart.outline.expect
deleted file mode 100644
index 81debf2..0000000
--- a/pkg/front_end/testcases/regress/issue_31184.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method bad() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline_modelled.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31184.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31184.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31184.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29941.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_31184.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31184.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31184.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31184.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart b/pkg/front_end/testcases/regress/issue_31185.dart
index 568d2af..e68d121 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart
+++ b/pkg/front_end/testcases/regress/issue_31185.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 int i = 5;
 
 int test1() {
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31185.dart.textual_outline.expect
index 4a2b0ae..8127b46 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31185.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 int i = 5;
 int test1() {}
 int test2() {}
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31185.dart.textual_outline_modelled.expect
index 4a2b0ae..8127b46 100644
--- a/pkg/front_end/testcases/regress/issue_31185.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31185.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 int i = 5;
 int test1() {}
 int test2() {}
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31185.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31185.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31185.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31185.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31185.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31185.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31185.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart b/pkg/front_end/testcases/regress/issue_31186.dart
index 1bf5d57..370ac3d 100644
--- a/pkg/front_end/testcases/regress/issue_31186.dart
+++ b/pkg/front_end/testcases/regress/issue_31186.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   return null?.true;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31186.dart.outline.expect
deleted file mode 100644
index 81debf2..0000000
--- a/pkg/front_end/testcases/regress/issue_31186.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method bad() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline_modelled.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31186.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31186.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31186.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31186.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31186.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29941.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_31186.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31186.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31186.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31186.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31186.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart b/pkg/front_end/testcases/regress/issue_31187.dart
index 2cf6bf8..da76294 100644
--- a/pkg/front_end/testcases/regress/issue_31187.dart
+++ b/pkg/front_end/testcases/regress/issue_31187.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 bad() {
   return null?.1;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31187.dart.outline.expect
deleted file mode 100644
index 81debf2..0000000
--- a/pkg/front_end/testcases/regress/issue_31187.dart.outline.expect
+++ /dev/null
@@ -1,7 +0,0 @@
-library;
-import self as self;
-
-static method bad() → dynamic
-  ;
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline_modelled.expect
index 59cd59e..2397af0 100644
--- a/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31187.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 bad() {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31187.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31187.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31187.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29941.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31187.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29941.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_31187.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31187.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31187.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31187.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31187.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart b/pkg/front_end/testcases/regress/issue_31188.dart
index 197dfae..8782935 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart
+++ b/pkg/front_end/testcases/regress/issue_31188.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 main() {}
 
 type T = Map<A, B>
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31188.dart.textual_outline.expect
index f5a1c2c..a967c78 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31188.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 type T = Map<A, B;
 >
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31188.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31188.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31188.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31188.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31188.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31188.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31188.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31188.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31188.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart b/pkg/front_end/testcases/regress/issue_31190.dart
index 3375687..22e5680 100644
--- a/pkg/front_end/testcases/regress/issue_31190.dart
+++ b/pkg/front_end/testcases/regress/issue_31190.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Typed<T> {
   T<U> v;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_31190.dart.hierarchy.expect
deleted file mode 100644
index 606b757..0000000
--- a/pkg/front_end/testcases/regress/issue_31190.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Typed:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Typed.v
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Typed.v
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline.expect
index 52c03bd..2e1c860 100644
--- a/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Typed<T> {
   T<U> v;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline_modelled.expect
index 52c03bd..2e1c860 100644
--- a/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31190.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Typed<T> {
   T<U> v;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31190.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31190.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31190.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31190.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31190.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31190.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31190.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31190.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31190.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31190.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart b/pkg/front_end/testcases/regress/issue_31192.dart
index 5079633..37c8bf0 100644
--- a/pkg/front_end/testcases/regress/issue_31192.dart
+++ b/pkg/front_end/testcases/regress/issue_31192.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 class Increment {
   int x;
   Increment() : x++ {}
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_31192.dart.hierarchy.expect
deleted file mode 100644
index bd09d33..0000000
--- a/pkg/front_end/testcases/regress/issue_31192.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Increment:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Increment.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Increment.x
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31192.dart.textual_outline.expect
index 0ea21b9..eb0e814 100644
--- a/pkg/front_end/testcases/regress/issue_31192.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31192.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Increment {
   int x;
   Increment() : =x++ {}
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31192.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31192.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31192.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31192.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31192.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31192.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31192.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31192.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31192.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31192.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart b/pkg/front_end/testcases/regress/issue_31198.dart
index 2322a85..e0adf99 100644
--- a/pkg/front_end/testcases/regress/issue_31198.dart
+++ b/pkg/front_end/testcases/regress/issue_31198.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 abstract class A {}
 
 class B extends A {
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_31198.dart.hierarchy.expect
deleted file mode 100644
index fe2fcf5..0000000
--- a/pkg/front_end/testcases/regress/issue_31198.dart.hierarchy.expect
+++ /dev/null
@@ -1,54 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31198.dart.textual_outline.expect
index d0053c9..1059c9e 100644
--- a/pkg/front_end/testcases/regress/issue_31198.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31198.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class A {}
 class B extends A {
   B(): super().foo() {}
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31198.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31198.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31198.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31198.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31198.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31198.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31198.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31198.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31198.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31198.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart b/pkg/front_end/testcases/regress/issue_31213.dart
index f4b522a..7926161 100644
--- a/pkg/front_end/testcases/regress/issue_31213.dart
+++ b/pkg/front_end/testcases/regress/issue_31213.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 typedef C<A, K> = int Function<B>(A x, K y, B v);
 typedef D<K> = C<A, K> Function<A>(int z);
 
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31213.dart.textual_outline.expect
index 87e854f..a41c084 100644
--- a/pkg/front_end/testcases/regress/issue_31213.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31213.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef C<A, K> = int Function<B>(A x, K y, B v);
 typedef D<K> = C<A, K> Function<A>(int z);
 dynamic producer<K>() {}
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31213.dart.textual_outline_modelled.expect
index 480f6f2..18f2130 100644
--- a/pkg/front_end/testcases/regress/issue_31213.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31213.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 dynamic producer<K>() {}
 main() {}
 typedef C<A, K> = int Function<B>(A x, K y, B v);
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31213.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31213.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31213.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31213.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31213.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31213.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31213.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31213.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31213.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31213.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart b/pkg/front_end/testcases/regress/issue_31299.dart
index 27c47ab..ddb4089 100644
--- a/pkg/front_end/testcases/regress/issue_31299.dart
+++ b/pkg/front_end/testcases/regress/issue_31299.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   int m;
   A() : m = 1;
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_31299.dart.hierarchy.expect
deleted file mode 100644
index 4d0ea0c..0000000
--- a/pkg/front_end/testcases/regress/issue_31299.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    A.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.m
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline.expect
index 0298c3a..cb3f73f 100644
--- a/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int m;
   A() : m = 1;
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline_modelled.expect
index d2c8de1..fd9c762 100644
--- a/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31299.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A() : m = 1;
   A.foo() : m = 2;
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31299.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31299.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31299.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31299.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31299.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31299.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31299.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart b/pkg/front_end/testcases/regress/issue_31766.dart
index 491cb00..538400c 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart
+++ b/pkg/front_end/testcases/regress/issue_31766.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   foo() => null;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_31766.dart.hierarchy.expect
deleted file mode 100644
index 8130575..0000000
--- a/pkg/front_end/testcases/regress/issue_31766.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline.expect
index 27434f1..2aac28f 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   foo() => null;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline_modelled.expect
index 27434f1..2aac28f 100644
--- a/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31766.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   foo() => null;
 }
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31766.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31766.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31766.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31766.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31766.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31766.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31766.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart b/pkg/front_end/testcases/regress/issue_31846.dart
index 593212f..4619403 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart
+++ b/pkg/front_end/testcases/regress/issue_31846.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 main() {
   print(main is Function());
   print((<T>(T x) => x).runtimeType);
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31846.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/regress/issue_31846.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31846.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31846.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31846.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_31846.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31846.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31846.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31846.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart b/pkg/front_end/testcases/regress/issue_31996.dart
index 90260dc..ee35029 100644
--- a/pkg/front_end/testcases/regress/issue_31996.dart
+++ b/pkg/front_end/testcases/regress/issue_31996.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 abstract class B<T> {}
 
 abstract class C<T> {}
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_31996.dart.hierarchy.expect
deleted file mode 100644
index 627064d..0000000
--- a/pkg/front_end/testcases/regress/issue_31996.dart.hierarchy.expect
+++ /dev/null
@@ -1,145 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Base:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Child1:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> Base
-  interfaces: B, C<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Child2:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> Base
-  interfaces: B, C<double>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline.expect
index 7ebf1bc..d130780 100644
--- a/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class B<T> {}
 
 abstract class C<T> {}
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline_modelled.expect
index 7ebf1bc..d130780 100644
--- a/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_31996.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 abstract class B<T> {}
 
 abstract class C<T> {}
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31996.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31996.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_31996.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.outline.expect b/pkg/front_end/testcases/regress/issue_31996.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31996.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_31996.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_31996.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31996.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_31996.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_31996.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart b/pkg/front_end/testcases/regress/issue_32182.dart
index 7e42146..c3c6a72 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart
+++ b/pkg/front_end/testcases/regress/issue_32182.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import "issue_32182.dart" as self;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_32182.dart.hierarchy.expect
deleted file mode 100644
index c28125f..0000000
--- a/pkg/front_end/testcases/regress/issue_32182.dart.hierarchy.expect
+++ /dev/null
@@ -1,119 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A<qualified-name(self, A)> with M:
-  superclasses:
-    Object
-      -> A<qualified-name(self, A)>
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-C:
-  superclasses:
-    Object
-      -> A<qualified-name(self, A)>
-        -> _C&A&M
-  interfaces: M
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline.expect
index 22f0c87..25ad7e6 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_32182.dart" as self;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline_modelled.expect
index f0f5e79..0a9400b 100644
--- a/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_32182.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_32182.dart" as self;
 
 class A<T> {}
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.strong.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32182.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_32182.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.outline.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32182.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_32182.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_32182.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32182.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_32182.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart b/pkg/front_end/testcases/regress/issue_32196.dart
index 254d45c..9eb700b 100644
--- a/pkg/front_end/testcases/regress/issue_32196.dart
+++ b/pkg/front_end/testcases/regress/issue_32196.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   final String name;
   A.get(this.name);
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_32196.dart.hierarchy.expect
deleted file mode 100644
index 6d21e9a..0000000
--- a/pkg/front_end/testcases/regress/issue_32196.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.name
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline.expect
index 7fecce8..4fb58cb 100644
--- a/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   final String name;
   A.get(this.name);
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline_modelled.expect
index 13664b5..8c1fac1 100644
--- a/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_32196.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A.get(this.name);
   A.set(this.name);
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.strong.expect b/pkg/front_end/testcases/regress/issue_32196.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32196.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_32196.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.outline.expect b/pkg/front_end/testcases/regress/issue_32196.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32196.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_32196.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_32196.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_32196.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32196.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_32196.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart b/pkg/front_end/testcases/regress/issue_32200.dart
index efdc4a0..4a8fb85 100644
--- a/pkg/front_end/testcases/regress/issue_32200.dart
+++ b/pkg/front_end/testcases/regress/issue_32200.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import "issue_32200.dart" as self;
 
 class Foo {
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_32200.dart.hierarchy.expect
deleted file mode 100644
index 891ea94..0000000
--- a/pkg/front_end/testcases/regress/issue_32200.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.self
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Foo.self
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline.expect
index 7912167..7a5a831 100644
--- a/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_32200.dart" as self;
 
 class Foo {
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline_modelled.expect
index 7912167..7a5a831 100644
--- a/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_32200.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_32200.dart" as self;
 
 class Foo {
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.strong.expect b/pkg/front_end/testcases/regress/issue_32200.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32200.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_32200.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.outline.expect b/pkg/front_end/testcases/regress/issue_32200.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32200.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_32200.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_32200.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_32200.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32200.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_32200.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart b/pkg/front_end/testcases/regress/issue_32660.dart
index ec799be..429407f 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart
+++ b/pkg/front_end/testcases/regress/issue_32660.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   foo(int x) => x;
 }
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_32660.dart.hierarchy.expect
deleted file mode 100644
index 3cbcc36..0000000
--- a/pkg/front_end/testcases/regress/issue_32660.dart.hierarchy.expect
+++ /dev/null
@@ -1,124 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> A
-  interfaces: B
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.A.foo%B.foo
-    C.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    D.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> D
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    E.D.foo%E.foo
-    E.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32660.dart.textual_outline.expect
index 07c64a4..e03e095 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   foo(int x) => x;
 }
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_32660.dart.textual_outline_modelled.expect
index 07c64a4..e03e095 100644
--- a/pkg/front_end/testcases/regress/issue_32660.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_32660.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   foo(int x) => x;
 }
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.strong.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32660.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_32660.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.outline.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32660.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_32660.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_32660.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32660.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_32660.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart b/pkg/front_end/testcases/regress/issue_32972.dart
index 23a1482..578caf4 100644
--- a/pkg/front_end/testcases/regress/issue_32972.dart
+++ b/pkg/front_end/testcases/regress/issue_32972.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 void foo<X>(X i) {
   print(i);
 }
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_32972.dart.hierarchy.expect
deleted file mode 100644
index 818484b..0000000
--- a/pkg/front_end/testcases/regress/issue_32972.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Foo:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Foo.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Foo.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Bar:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline.expect
index afd767f..c57478f 100644
--- a/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 void foo<X>(X i) {}
 
 class Foo {
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline_modelled.expect
index fedb95a..a04fc20 100644
--- a/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_32972.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Bar<X, Y> {}
 
 class Foo {
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.strong.expect b/pkg/front_end/testcases/regress/issue_32972.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32972.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_32972.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_32972.dart.outline.expect b/pkg/front_end/testcases/regress/issue_32972.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_32972.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_32972.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart b/pkg/front_end/testcases/regress/issue_33452.dart
index bd8c790..9e94976 100644
--- a/pkg/front_end/testcases/regress/issue_33452.dart
+++ b/pkg/front_end/testcases/regress/issue_33452.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class ExistingClass {
   ExistingClass.existingConstructor();
 }
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_33452.dart.hierarchy.expect
deleted file mode 100644
index 56edc45..0000000
--- a/pkg/front_end/testcases/regress/issue_33452.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-ExistingClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline.expect
index eff2983..fcbd268 100644
--- a/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class ExistingClass {
   ExistingClass.existingConstructor();
 }
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline_modelled.expect
index eff2983..fcbd268 100644
--- a/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_33452.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class ExistingClass {
   ExistingClass.existingConstructor();
 }
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.strong.expect b/pkg/front_end/testcases/regress/issue_33452.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_33452.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_33452.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.outline.expect b/pkg/front_end/testcases/regress/issue_33452.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_33452.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_33452.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_33452.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_33452.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_33452.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_33452.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart b/pkg/front_end/testcases/regress/issue_33672.dart
index f302c8a..b35af71d 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart
+++ b/pkg/front_end/testcases/regress/issue_33672.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 main() {
   int count = 0;
   yield: for (int a = 0; a < 10; ++a) {
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.outline.expect b/pkg/front_end/testcases/regress/issue_33672.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/regress/issue_33672.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_33672.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.strong.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_33672.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_33672.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_33672.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_33672.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_33672.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_33672.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart b/pkg/front_end/testcases/regress/issue_34225.dart
index e058ee7..d9470a5 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart
+++ b/pkg/front_end/testcases/regress/issue_34225.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class C {
   static set C(v) {} //# 01: compile-time error
 }
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_34225.dart.hierarchy.expect
deleted file mode 100644
index bd55f9e..0000000
--- a/pkg/front_end/testcases/regress/issue_34225.dart.hierarchy.expect
+++ /dev/null
@@ -1,55 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.C
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.D
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34225.dart.textual_outline.expect
index ab71dd0..e268fae 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   static set C(v) {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34225.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34225.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_34225.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34225.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34225.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_34225.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34225.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34225.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_34225.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart b/pkg/front_end/testcases/regress/issue_34291.dart
index 4011208..ee7e3f0 100644
--- a/pkg/front_end/testcases/regress/issue_34291.dart
+++ b/pkg/front_end/testcases/regress/issue_34291.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import "issue_34291_lib.dart" as lib;
 
 class B {}
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_34291.dart.hierarchy.expect
deleted file mode 100644
index 947e951..0000000
--- a/pkg/front_end/testcases/regress/issue_34291.dart.hierarchy.expect
+++ /dev/null
@@ -1,53 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline.expect
index 0019a54..16dbb06 100644
--- a/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_34291_lib.dart" as lib;
 
 class B {}
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline_modelled.expect
index 0019a54..16dbb06 100644
--- a/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_34291.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_34291_lib.dart" as lib;
 
 class B {}
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34291.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34291.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_34291.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34291.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34291.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_34291.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_34291.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34291.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34291.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_34291.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_34291_lib.dart b/pkg/front_end/testcases/regress/issue_34291_lib.dart
index a0e9344..2a07a00 100644
--- a/pkg/front_end/testcases/regress/issue_34291_lib.dart
+++ b/pkg/front_end/testcases/regress/issue_34291_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2018, 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=2.9
 class A {}
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart b/pkg/front_end/testcases/regress/issue_34403.dart
index 157dbf0..cbdf2da 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart
+++ b/pkg/front_end/testcases/regress/issue_34403.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import 'issue_34403_lib.dart' as p;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_34403.dart.hierarchy.expect
deleted file mode 100644
index 9e4da85..0000000
--- a/pkg/front_end/testcases/regress/issue_34403.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-F:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34403.dart.textual_outline.expect
index 6ec803e..b26df927 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34403.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue_34403_lib.dart' as p;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_34403.dart.textual_outline_modelled.expect
index 6ec803e..b26df927 100644
--- a/pkg/front_end/testcases/regress/issue_34403.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_34403.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue_34403_lib.dart' as p;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34403.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_34403.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34403.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_34403.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_34403.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34403.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_34403.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_34403_lib.dart b/pkg/front_end/testcases/regress/issue_34403_lib.dart
index 51e0085..0a78e41 100644
--- a/pkg/front_end/testcases/regress/issue_34403_lib.dart
+++ b/pkg/front_end/testcases/regress/issue_34403_lib.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class E<T> {
   E.bar();
 }
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart b/pkg/front_end/testcases/regress/issue_34498.dart
index fbf4c2b..0880816 100644
--- a/pkg/front_end/testcases/regress/issue_34498.dart
+++ b/pkg/front_end/testcases/regress/issue_34498.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 import 'issue_34498_lib.dart' as lib;
 
 class A {
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_34498.dart.hierarchy.expect
deleted file mode 100644
index 2907509..0000000
--- a/pkg/front_end/testcases/regress/issue_34498.dart.hierarchy.expect
+++ /dev/null
@@ -1,95 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.bar
-    Object.toString
-    A.lib
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    A.bar
-    Object.toString
-    A.lib
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    A.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.foo
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-MyClass:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34498.dart.textual_outline.expect
index cc0607c..5522b80 100644
--- a/pkg/front_end/testcases/regress/issue_34498.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34498.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue_34498_lib.dart' as lib;
 
 class A {
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_34498.dart.textual_outline_modelled.expect
index a3837b8..b84c73c 100644
--- a/pkg/front_end/testcases/regress/issue_34498.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_34498.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'issue_34498_lib.dart' as lib;
 
 class A {
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34498.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34498.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_34498.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34498.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34498.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_34498.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_34498.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34498.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34498.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_34498.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_34498_lib.dart b/pkg/front_end/testcases/regress/issue_34498_lib.dart
index a1b2795..bbefaa9 100644
--- a/pkg/front_end/testcases/regress/issue_34498_lib.dart
+++ b/pkg/front_end/testcases/regress/issue_34498_lib.dart
@@ -1,5 +1,5 @@
 // Copyright (c) 2018, 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=2.9
 class MyClass {}
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart b/pkg/front_end/testcases/regress/issue_34563.dart
index 84109cc..1ba791b 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart
+++ b/pkg/front_end/testcases/regress/issue_34563.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 mixin M1 {
   int get m => 1;
 }
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_34563.dart.hierarchy.expect
deleted file mode 100644
index 0486fad..0000000
--- a/pkg/front_end/testcases/regress/issue_34563.dart.hierarchy.expect
+++ /dev/null
@@ -1,123 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    M1.m
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C1:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C1.c
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C2:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C3:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34563.dart.textual_outline.expect
index 61b16e2..623f632 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 mixin M1 {
   int get m => 1;
 }
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34563.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_34563.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34563.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_34563.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34563.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_34563.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart b/pkg/front_end/testcases/regress/issue_34610.dart
index da9d50a..ed93b92 100644
--- a/pkg/front_end/testcases/regress/issue_34610.dart
+++ b/pkg/front_end/testcases/regress/issue_34610.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A { get A.named => null; get bar => 1; }
 
 class B { B.named : super(); get bar => 1; }
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_34610.dart.hierarchy.expect
deleted file mode 100644
index d7adf4b..0000000
--- a/pkg/front_end/testcases/regress/issue_34610.dart.hierarchy.expect
+++ /dev/null
@@ -1,75 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.bar
-    A.A
-    Object.toString
-    A.named
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.bar
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34610.dart.textual_outline.expect
index 176c1c6..76f6547 100644
--- a/pkg/front_end/testcases/regress/issue_34610.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34610.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   get A.named ()=> null;
   get bar => 1;
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34610.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_34610.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34610.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_34610.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_34610.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34610.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_34610.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart b/pkg/front_end/testcases/regress/issue_34614.dart
index aedbef3a..8cdbe47 100644
--- a/pkg/front_end/testcases/regress/issue_34614.dart
+++ b/pkg/front_end/testcases/regress/issue_34614.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class C { C. }
 
 main() {
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_34614.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/regress/issue_34614.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34614.dart.textual_outline.expect
index 9b80699..24394ba 100644
--- a/pkg/front_end/testcases/regress/issue_34614.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34614.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C. (){}
 }
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34614.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_34614.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34614.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_34614.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_34614.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34614.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_34614.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart b/pkg/front_end/testcases/regress/issue_34850.dart
index 052530e..d61c5ff 100644
--- a/pkg/front_end/testcases/regress/issue_34850.dart
+++ b/pkg/front_end/testcases/regress/issue_34850.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 <foo<
 
 int f1() {
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_34850.dart.textual_outline.expect
index 7024734..9e78bc0 100644
--- a/pkg/front_end/testcases/regress/issue_34850.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_34850.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 <
 foo< int >f1() {}
 foo Future<List<int>> (){}
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34850.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_34850.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.outline.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34850.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_34850.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_34850.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_34850.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_34850.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart b/pkg/front_end/testcases/regress/issue_35151.dart
index fedf195..8c372eb 100644
--- a/pkg/front_end/testcases/regress/issue_35151.dart
+++ b/pkg/front_end/testcases/regress/issue_35151.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class A {
   int a;
 }
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_35151.dart.hierarchy.expect
deleted file mode 100644
index 897a155..0000000
--- a/pkg/front_end/testcases/regress/issue_35151.dart.hierarchy.expect
+++ /dev/null
@@ -1,75 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
-
-B:
-  superclasses:
-    Object
-      -> A
-  interfaces:
-  classMembers:
-    A.a
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.a
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35151.dart.textual_outline.expect
index 5802d6d..375f782 100644
--- a/pkg/front_end/testcases/regress/issue_35151.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35151.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   int a;
 }
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35151.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35151.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35151.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35151.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35151.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_35151.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35151.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35151.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35151.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35151.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart b/pkg/front_end/testcases/regress/issue_35177.dart
index 70ea0be..7fb29a5 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart
+++ b/pkg/front_end/testcases/regress/issue_35177.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 main() {
   dynamic Function() f;
   (f)()<int>();
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35177.dart.outline.expect
deleted file mode 100644
index 6a28c0d..0000000
--- a/pkg/front_end/testcases/regress/issue_35177.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35177.dart.textual_outline.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35177.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_35177.dart.textual_outline_modelled.expect
index bae895a..7c126a2 100644
--- a/pkg/front_end/testcases/regress/issue_35177.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_35177.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35177.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35177.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_35177.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35177.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35177.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35177.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart b/pkg/front_end/testcases/regress/issue_35213.dart
index 37a9f1c..e231fb7 100644
--- a/pkg/front_end/testcases/regress/issue_35213.dart
+++ b/pkg/front_end/testcases/regress/issue_35213.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 f(int a int b) { }
 
 main() {
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35213.dart.textual_outline.expect
index 55bc6cb..b241519 100644
--- a/pkg/front_end/testcases/regress/issue_35213.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35213.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 f(int a, int b) {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_35213.dart.textual_outline_modelled.expect
index 55bc6cb..b241519 100644
--- a/pkg/front_end/testcases/regress/issue_35213.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_35213.dart.textual_outline_modelled.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 f(int a, int b) {}
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35213.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35213.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35213.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35213.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35213.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_35213.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35213.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35213.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35213.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35213.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart b/pkg/front_end/testcases/regress/issue_35220.dart
index 93b8134..1f52884 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart
+++ b/pkg/front_end/testcases/regress/issue_35220.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 class A {
   A bad() { return true != 2; }
 }
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35220.dart.textual_outline.expect
index 81e059b..178e278 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35220.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A bad() {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_35220.dart.textual_outline_modelled.expect
index 81e059b..178e278 100644
--- a/pkg/front_end/testcases/regress/issue_35220.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_35220.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {
   A bad() {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35220.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35220.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35220.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_35220.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35220.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35220.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35220.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart b/pkg/front_end/testcases/regress/issue_35258.dart
index 486fae4..941ce25 100644
--- a/pkg/front_end/testcases/regress/issue_35258.dart
+++ b/pkg/front_end/testcases/regress/issue_35258.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 main() {
   new C(42);
 }
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_35258.dart.hierarchy.expect
deleted file mode 100644
index 29f4cd3..0000000
--- a/pkg/front_end/testcases/regress/issue_35258.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.d
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline.expect
index 639a601..bf2e71f 100644
--- a/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 main() {}
 
 class C {
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline_modelled.expect
index f4d4891..4a88bcb 100644
--- a/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_35258.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C() {}
   C(this.d) {}
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35258.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35258.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35258.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35258.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35258.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_35258.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35258.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35258.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35258.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35258.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart b/pkg/front_end/testcases/regress/issue_35259.dart
index 10246aa..1cee48a2 100644
--- a/pkg/front_end/testcases/regress/issue_35259.dart
+++ b/pkg/front_end/testcases/regress/issue_35259.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class Supertype {
   factory Supertype() = Unresolved;
   factory Supertype() = Unresolved;
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_35259.dart.hierarchy.expect
deleted file mode 100644
index 9a92dd9..0000000
--- a/pkg/front_end/testcases/regress/issue_35259.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Supertype:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Supertype._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Supertype._redirecting#
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline.expect
index a47d649..423a8e9 100644
--- a/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Supertype {
   factory Supertype() = Unresolved;
   factory Supertype() = Unresolved;
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline_modelled.expect
index a47d649..423a8e9 100644
--- a/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_35259.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Supertype {
   factory Supertype() = Unresolved;
   factory Supertype() = Unresolved;
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35259.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35259.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35259.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35259.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35259.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_35259.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35259.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35259.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35259.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35259.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart b/pkg/front_end/testcases/regress/issue_35260.dart
index ab79fbe..16ef8d7 100644
--- a/pkg/front_end/testcases/regress/issue_35260.dart
+++ b/pkg/front_end/testcases/regress/issue_35260.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class Supertype {
   factory Supertype() = X;
   factory Supertype() = X;
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_35260.dart.hierarchy.expect
deleted file mode 100644
index 2c646a0..0000000
--- a/pkg/front_end/testcases/regress/issue_35260.dart.hierarchy.expect
+++ /dev/null
@@ -1,68 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Supertype:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Supertype._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    Supertype._redirecting#
-
-X:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Supertype
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline.expect
index beaef36..2ec72a8 100644
--- a/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Supertype {
   factory Supertype() = X;
   factory Supertype() = X;
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline_modelled.expect
index beaef36..2ec72a8 100644
--- a/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_35260.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Supertype {
   factory Supertype() = X;
   factory Supertype() = X;
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35260.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35260.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35260.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35260.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35260.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_35260.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35260.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35260.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35260.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35260.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart b/pkg/front_end/testcases/regress/issue_35266.dart
index 8564b50..b87ca47 100644
--- a/pkg/front_end/testcases/regress/issue_35266.dart
+++ b/pkg/front_end/testcases/regress/issue_35266.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 class B<T> extends C<T> {
   B();
   factory B.foo() = B<T>;
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_35266.dart.hierarchy.expect
deleted file mode 100644
index 2171f54..0000000
--- a/pkg/front_end/testcases/regress/issue_35266.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._redirecting#
-
-B:
-  superclasses:
-    Object
-      -> C<T>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    B._redirecting#
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B._redirecting#
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline.expect
index 1d6a7d0..92fdefa 100644
--- a/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<T> extends C<T> {
   B();
   factory B.foo() = B<T>;
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline_modelled.expect
index 1d6a7d0..92fdefa 100644
--- a/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_35266.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class B<T> extends C<T> {
   B();
   factory B.foo() = B<T>;
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35266.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35266.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35266.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35266.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35266.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_35266.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35266.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35266.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35266.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35266.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart b/pkg/front_end/testcases/regress/issue_35900.dart
index 7d0849d..f9b48dc 100644
--- a/pkg/front_end/testcases/regress/issue_35900.dart
+++ b/pkg/front_end/testcases/regress/issue_35900.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 main () { int x; print('${x' '); }
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.strong.expect b/pkg/front_end/testcases/regress/issue_35900.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35900.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_35900.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.outline.expect b/pkg/front_end/testcases/regress/issue_35900.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35900.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_35900.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_35900.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_35900.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_35900.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_35900.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart b/pkg/front_end/testcases/regress/issue_36400.dart
index 33c29d6..dea6e4e 100644
--- a/pkg/front_end/testcases/regress/issue_36400.dart
+++ b/pkg/front_end/testcases/regress/issue_36400.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Test {
   Test factory Test() {
     return null;
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_36400.dart.hierarchy.expect
deleted file mode 100644
index 6dc337c..0000000
--- a/pkg/front_end/testcases/regress/issue_36400.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-Test:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_36400.dart.textual_outline.expect
index a6cca15..a33d244 100644
--- a/pkg/front_end/testcases/regress/issue_36400.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36400.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Test {
   Test factory Test() {}
 }
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart.strong.expect b/pkg/front_end/testcases/regress/issue_36400.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36400.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_36400.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart.outline.expect b/pkg/front_end/testcases/regress/issue_36400.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36400.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_36400.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_36400.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_36400.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36400.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_36400.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart b/pkg/front_end/testcases/regress/issue_36647.dart
index 3fcff27..72babce 100644
--- a/pkg/front_end/testcases/regress/issue_36647.dart
+++ b/pkg/front_end/testcases/regress/issue_36647.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 import 'issue_36647_lib1.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_36647.dart.hierarchy.expect
deleted file mode 100644
index f111e00..0000000
--- a/pkg/front_end/testcases/regress/issue_36647.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-xxx:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline.expect
index 489c840..ac80ab7 100644
--- a/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 import 'issue_36647_lib1.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline_modelled.expect
index 489c840..ac80ab7 100644
--- a/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_36647.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 import 'issue_36647_lib1.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.strong.expect b/pkg/front_end/testcases/regress/issue_36647.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36647.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_36647.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.outline.expect b/pkg/front_end/testcases/regress/issue_36647.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36647.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_36647.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_36647.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_36647.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36647.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_36647.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart b/pkg/front_end/testcases/regress/issue_36647_2.dart
index 4096e59..7b521e8 100644
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart
+++ b/pkg/front_end/testcases/regress/issue_36647_2.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 export 'issue_36647_2_lib1.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.textual_outline.expect
index f3a511c..a071c84 100644
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36647_2.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 export 'issue_36647_2_lib1.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.textual_outline_modelled.expect
index f3a511c..a071c84 100644
--- a/pkg/front_end/testcases/regress/issue_36647_2.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_36647_2.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 export 'issue_36647_2_lib1.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.strong.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36647_2.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_36647_2.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.outline.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36647_2.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_36647_2.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_36647_2.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_36647_2.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36647_2.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_36647_2.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_36647_2_lib1.dart b/pkg/front_end/testcases/regress/issue_36647_2_lib1.dart
index b2d8d4b..83b7e44 100644
--- a/pkg/front_end/testcases/regress/issue_36647_2_lib1.dart
+++ b/pkg/front_end/testcases/regress/issue_36647_2_lib1.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 int foo = 42;
 int foo = 43;
 typedef bool bar();
diff --git a/pkg/front_end/testcases/regress/issue_36647_lib1.dart b/pkg/front_end/testcases/regress/issue_36647_lib1.dart
index 4aef191..5572e1c 100644
--- a/pkg/front_end/testcases/regress/issue_36647_lib1.dart
+++ b/pkg/front_end/testcases/regress/issue_36647_lib1.dart
@@ -1,5 +1,5 @@
 // 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=2.9
 export 'issue_36647_lib2.dart';
diff --git a/pkg/front_end/testcases/regress/issue_36647_lib2.dart b/pkg/front_end/testcases/regress/issue_36647_lib2.dart
index 3960141..0cbc933 100644
--- a/pkg/front_end/testcases/regress/issue_36647_lib2.dart
+++ b/pkg/front_end/testcases/regress/issue_36647_lib2.dart
@@ -1,6 +1,6 @@
 // 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=2.9
 class xxx xx XXX extends XXX {
 }
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart b/pkg/front_end/testcases/regress/issue_36669.dart
index 5aba8e6..48a19bb 100644
--- a/pkg/front_end/testcases/regress/issue_36669.dart
+++ b/pkg/front_end/testcases/regress/issue_36669.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class NoUnnamedConstuctor {
   NoUnnamedConstuctor._();
 }
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_36669.dart.hierarchy.expect
deleted file mode 100644
index b7c594c..0000000
--- a/pkg/front_end/testcases/regress/issue_36669.dart.hierarchy.expect
+++ /dev/null
@@ -1,114 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-NoUnnamedConstuctor:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-MixMeIn:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-NoUnnamedConstuctor with MixMeIn:
-  superclasses:
-    Object
-      -> NoUnnamedConstuctor
-  interfaces: MixMeIn
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Foo:
-  superclasses:
-    Object
-      -> NoUnnamedConstuctor
-        -> _Foo&NoUnnamedConstuctor&MixMeIn
-  interfaces: MixMeIn
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_36669.dart.textual_outline.expect
index 6cdd387..90f2098 100644
--- a/pkg/front_end/testcases/regress/issue_36669.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36669.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class NoUnnamedConstuctor {
   NoUnnamedConstuctor._();
 }
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_36669.dart.textual_outline_modelled.expect
index c4b4f56..ef3c45e 100644
--- a/pkg/front_end/testcases/regress/issue_36669.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_36669.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Foo extends NoUnnamedConstuctor with MixMeIn {}
 
 class MixMeIn {}
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.strong.expect b/pkg/front_end/testcases/regress/issue_36669.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36669.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_36669.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.outline.expect b/pkg/front_end/testcases/regress/issue_36669.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36669.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_36669.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_36669.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_36669.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36669.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_36669.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart b/pkg/front_end/testcases/regress/issue_36793.dart
index 1601a23..e5a48a0 100644
--- a/pkg/front_end/testcases/regress/issue_36793.dart
+++ b/pkg/front_end/testcases/regress/issue_36793.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 const int y = 42;
 
 @y
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_36793.dart.textual_outline.expect
index b3d1993..6e9cb4c 100644
--- a/pkg/front_end/testcases/regress/issue_36793.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_36793.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int y = 42;
 @y
 int x = 1;
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_36793.dart.textual_outline_modelled.expect
index b3d1993..6e9cb4c 100644
--- a/pkg/front_end/testcases/regress/issue_36793.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_36793.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 const int y = 42;
 @y
 int x = 1;
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.strong.expect b/pkg/front_end/testcases/regress/issue_36793.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36793.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_36793.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.outline.expect b/pkg/front_end/testcases/regress/issue_36793.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36793.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_36793.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_36793.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_36793.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_36793.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_36793.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart b/pkg/front_end/testcases/regress/issue_37285.dart
index 6b5857d..08673f3 100644
--- a/pkg/front_end/testcases/regress/issue_37285.dart
+++ b/pkg/front_end/testcases/regress/issue_37285.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class C {
   C() : super()[];
 }
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.hierarchy.expect b/pkg/front_end/testcases/regress/issue_37285.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/regress/issue_37285.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_37285.dart.textual_outline.expect
index f2ce432..ff7918c 100644
--- a/pkg/front_end/testcases/regress/issue_37285.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_37285.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class C {
   C() : super()[];
 }
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.strong.expect b/pkg/front_end/testcases/regress/issue_37285.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_37285.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_37285.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.outline.expect b/pkg/front_end/testcases/regress/issue_37285.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_37285.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_37285.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_37285.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_37285.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_37285.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_37285.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart b/pkg/front_end/testcases/regress/issue_37681.dart
index ca0cd8b..c8cca5e 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart
+++ b/pkg/front_end/testcases/regress/issue_37681.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 main() async {
   int f_async() async { return 42; }
   print(await f_async());
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_37681.dart.textual_outline.expect
index 386f405..ff8d120 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_37681.dart.textual_outline_modelled.expect
index 386f405..ff8d120 100644
--- a/pkg/front_end/testcases/regress/issue_37681.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_37681.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 main() async {}
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.strong.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_37681.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_37681.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.outline.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_37681.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_37681.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_37681.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_37681.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_37681.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_39035.crash_dart.outline.expect b/pkg/front_end/testcases/regress/issue_39035.crash_dart.outline.expect
deleted file mode 100644
index 19ddd7d..0000000
--- a/pkg/front_end/testcases/regress/issue_39035.crash_dart.outline.expect
+++ /dev/null
@@ -1,30 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Can't find '}' to match '${'.
-// M("${)=
-//    ^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:6: Error: String starting with " must end with ".
-// M("${)=
-//      ^^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:3: Error: Expected an identifier, but got '"'.
-// Try inserting an identifier before '"'.
-// M("${)=
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Expected ')' before this.
-// M("${)=
-//    ^^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:7: Error: Expected a function body or '=>'.
-// Try adding {}.
-// M("${)=
-//       ^
-//
-import self as self;
-
-static method M() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_39035.crash_dart.strong.expect b/pkg/front_end/testcases/regress/issue_39035.crash_dart.strong.expect
deleted file mode 100644
index 255f4ae..0000000
--- a/pkg/front_end/testcases/regress/issue_39035.crash_dart.strong.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Can't find '}' to match '${'.
-// M("${)=
-//    ^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:6: Error: String starting with " must end with ".
-// M("${)=
-//      ^^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:3: Error: Expected an identifier, but got '"'.
-// Try inserting an identifier before '"'.
-// M("${)=
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Expected ')' before this.
-// M("${)=
-//    ^^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:7: Error: Expected a function body or '=>'.
-// Try adding {}.
-// M("${)=
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:8: Error: Expected ';' after this.
-// M("${)=
-//        ^...
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:8: Error: Unexpected token ''.
-// M("${)=
-//        ^...
-//
-import self as self;
-
-static method M() → dynamic
-  return "";
diff --git a/pkg/front_end/testcases/regress/issue_39035.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_39035.crash_dart.strong.transformed.expect
deleted file mode 100644
index 255f4ae..0000000
--- a/pkg/front_end/testcases/regress/issue_39035.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Can't find '}' to match '${'.
-// M("${)=
-//    ^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:6: Error: String starting with " must end with ".
-// M("${)=
-//      ^^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:3: Error: Expected an identifier, but got '"'.
-// Try inserting an identifier before '"'.
-// M("${)=
-//   ^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Expected ')' before this.
-// M("${)=
-//    ^^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:7: Error: Expected a function body or '=>'.
-// Try adding {}.
-// M("${)=
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:8: Error: Expected ';' after this.
-// M("${)=
-//        ^...
-//
-// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:8: Error: Unexpected token ''.
-// M("${)=
-//        ^...
-//
-import self as self;
-
-static method M() → dynamic
-  return "";
diff --git a/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.expect b/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.expect
new file mode 100644
index 0000000..c7801f6
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.expect
@@ -0,0 +1,38 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Can't find '}' to match '${'.
+// M("${)=
+//    ^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:6: Error: String starting with " must end with ".
+// M("${)=
+//      ^^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:3: Error: Expected an identifier, but got '"'.
+// Try inserting an identifier before '"'.
+// M("${)=
+//   ^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Expected ')' before this.
+// M("${)=
+//    ^^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:7: Error: Expected a function body or '=>'.
+// Try adding {}.
+// M("${)=
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:8: Error: Expected ';' after this.
+// M("${)=
+//        ^...
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:8: Error: Unexpected token ''.
+// M("${)=
+//        ^...
+//
+import self as self;
+
+static method M() → dynamic
+  return "";
diff --git a/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..a266dd6
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.outline.expect
@@ -0,0 +1,30 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Can't find '}' to match '${'.
+// M("${)=
+//    ^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:6: Error: String starting with " must end with ".
+// M("${)=
+//      ^^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:3: Error: Expected an identifier, but got '"'.
+// Try inserting an identifier before '"'.
+// M("${)=
+//   ^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Expected ')' before this.
+// M("${)=
+//    ^^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:7: Error: Expected a function body or '=>'.
+// Try adding {}.
+// M("${)=
+//       ^
+//
+import self as self;
+
+static method M() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..c7801f6
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_39035.crash_dart.weak.transformed.expect
@@ -0,0 +1,38 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Can't find '}' to match '${'.
+// M("${)=
+//    ^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:6: Error: String starting with " must end with ".
+// M("${)=
+//      ^^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:3: Error: Expected an identifier, but got '"'.
+// Try inserting an identifier before '"'.
+// M("${)=
+//   ^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:4: Error: Expected ')' before this.
+// M("${)=
+//    ^^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:7: Error: Expected a function body or '=>'.
+// Try adding {}.
+// M("${)=
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:8: Error: Expected ';' after this.
+// M("${)=
+//        ^...
+//
+// pkg/front_end/testcases/regress/issue_39035.crash_dart:5:8: Error: Unexpected token ''.
+// M("${)=
+//        ^...
+//
+import self as self;
+
+static method M() → dynamic
+  return "";
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart b/pkg/front_end/testcases/regress/issue_39040.dart
index 0232245..4cb5870 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart
+++ b/pkg/front_end/testcases/regress/issue_39040.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 void main() {
   List<String> whereWasI = [];
   int outer = 1;
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_39040.dart.textual_outline.expect
index ab73b3a..864efbe 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_39040.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 void main() {}
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_39040.dart.textual_outline_modelled.expect
index ab73b3a..864efbe 100644
--- a/pkg/front_end/testcases/regress/issue_39040.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_39040.dart.textual_outline_modelled.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 void main() {}
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.strong.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_39040.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_39040.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.outline.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_39040.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_39040.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_39040.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_39040.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_39040.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart b/pkg/front_end/testcases/regress/issue_39091_1.dart
index 8dc8ee1..2a15740 100644
--- a/pkg/front_end/testcases/regress/issue_39091_1.dart
+++ b/pkg/front_end/testcases/regress/issue_39091_1.dart
@@ -1,5 +1,5 @@
-// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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=2.9
 hello
\ No newline at end of file
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.strong.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.strong.expect
deleted file mode 100644
index c414477..0000000
--- a/pkg/front_end/testcases/regress/issue_39091_1.dart.strong.expect
+++ /dev/null
@@ -1,16 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_39091_1.dart:5: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'.
-// hello
-// ^^^^^
-//
-// pkg/front_end/testcases/regress/issue_39091_1.dart:5:1: Error: Expected ';' after this.
-// hello
-// ^^^^^
-//
-import self as self;
-
-static field dynamic hello;
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.textual_outline.expect
index 943e3f5..6f45439 100644
--- a/pkg/front_end/testcases/regress/issue_39091_1.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_39091_1.dart.textual_outline.expect
@@ -1 +1,2 @@
+// @dart = 2.9
 hello;
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.outline.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_39091_1.dart.outline.expect
copy to pkg/front_end/testcases/regress/issue_39091_1.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.outline.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_39091_1.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_39091_1.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_39091_1.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_39091_1.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_39091_1.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_39091_1.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_39091_2.dart b/pkg/front_end/testcases/regress/issue_39091_2.dart
index c401750..f401961 100644
--- a/pkg/front_end/testcases/regress/issue_39091_2.dart
+++ b/pkg/front_end/testcases/regress/issue_39091_2.dart
@@ -1,7 +1,7 @@
-// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// 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=2.9
 main() {
 "";  /*æøå*/ "";
 "";
diff --git a/pkg/front_end/testcases/regress/issue_39091_2.dart.outline.expect b/pkg/front_end/testcases/regress/issue_39091_2.dart.outline.expect
deleted file mode 100644
index cd485bd..0000000
--- a/pkg/front_end/testcases/regress/issue_39091_2.dart.outline.expect
+++ /dev/null
@@ -1,24 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:1:1: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
-// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
-// ^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:1:2: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
-// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
-//  ^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:13:1: Error: Expected a declaration, but got '""'.
-// "";
-// ^^^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:13:4: Error: Unexpected token ';'.
-// "";
-//    ^
-//
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_39091_2.dart.strong.expect b/pkg/front_end/testcases/regress/issue_39091_2.dart.strong.expect
deleted file mode 100644
index 6db31c6..0000000
--- a/pkg/front_end/testcases/regress/issue_39091_2.dart.strong.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:1:1: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
-// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
-// ^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:1:2: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
-// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
-//  ^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:13:1: Error: Expected a declaration, but got '""'.
-// "";
-// ^^^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:13:4: Error: Unexpected token ';'.
-// "";
-//    ^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:11:11: Error: Getter not found: 'hello'.
-// "";/*æ*/ hello; /*æ*/
-//           ^^^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  "\u65279";
-  "\u65279";
-  "\u65279";
-  "\u65279";
-  "A";
-  "\u65279";
-  "\u65279";
-  invalid-expression "pkg/front_end/testcases/regress/issue_39091_2.dart:11:11: Error: Getter not found: 'hello'.
-\"\u65279\";/*\u0230*/ hello; /*\u0230*/
-          ^^^^^";
-}
diff --git a/pkg/front_end/testcases/regress/issue_39091_2.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_39091_2.dart.strong.transformed.expect
deleted file mode 100644
index 6db31c6..0000000
--- a/pkg/front_end/testcases/regress/issue_39091_2.dart.strong.transformed.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:1:1: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
-// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
-// ^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:1:2: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
-// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
-//  ^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:13:1: Error: Expected a declaration, but got '""'.
-// "";
-// ^^^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:13:4: Error: Unexpected token ';'.
-// "";
-//    ^
-//
-// pkg/front_end/testcases/regress/issue_39091_2.dart:11:11: Error: Getter not found: 'hello'.
-// "";/*æ*/ hello; /*æ*/
-//           ^^^^^
-//
-import self as self;
-
-static method main() → dynamic {
-  "\u65279";
-  "\u65279";
-  "\u65279";
-  "\u65279";
-  "A";
-  "\u65279";
-  "\u65279";
-  invalid-expression "pkg/front_end/testcases/regress/issue_39091_2.dart:11:11: Error: Getter not found: 'hello'.
-\"\u65279\";/*\u0230*/ hello; /*\u0230*/
-          ^^^^^";
-}
diff --git a/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.expect b/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.expect
new file mode 100644
index 0000000..baaeba50
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.expect
@@ -0,0 +1,34 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:1:1: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
+// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// ^
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:13:1: Error: Expected a declaration, but got '""'.
+// "";
+// ^^^
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:13:4: Error: Unexpected token ';'.
+// "";
+//    ^
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:11:11: Error: Getter not found: 'hello'.
+// "";/*æ*/ hello; /*æ*/
+//           ^^^^^
+//
+import self as self;
+
+static method main() → dynamic {
+  "\u65279";
+  "\u65279";
+  "\u65279";
+  "\u65279";
+  "A";
+  "\u65279";
+  "\u65279";
+  invalid-expression "pkg/front_end/testcases/regress/issue_39091_2.dart:11:11: Error: Getter not found: 'hello'.
+\"\u65279\";/*\u0230*/ hello; /*\u0230*/
+          ^^^^^";
+}
diff --git a/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.outline.expect
new file mode 100644
index 0000000..a457286
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.outline.expect
@@ -0,0 +1,20 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:1:1: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
+// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// ^
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:13:1: Error: Expected a declaration, but got '""'.
+// "";
+// ^^^
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:13:4: Error: Unexpected token ';'.
+// "";
+//    ^
+//
+import self as self;
+
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.transformed.expect
new file mode 100644
index 0000000..baaeba50
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_39091_2.dart.weak.transformed.expect
@@ -0,0 +1,34 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:1:1: Error: The non-ASCII space character U+FEFF can only be used in strings and comments.
+// // Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
+// ^
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:13:1: Error: Expected a declaration, but got '""'.
+// "";
+// ^^^
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:13:4: Error: Unexpected token ';'.
+// "";
+//    ^
+//
+// pkg/front_end/testcases/regress/issue_39091_2.dart:11:11: Error: Getter not found: 'hello'.
+// "";/*æ*/ hello; /*æ*/
+//           ^^^^^
+//
+import self as self;
+
+static method main() → dynamic {
+  "\u65279";
+  "\u65279";
+  "\u65279";
+  "\u65279";
+  "A";
+  "\u65279";
+  "\u65279";
+  invalid-expression "pkg/front_end/testcases/regress/issue_39091_2.dart:11:11: Error: Getter not found: 'hello'.
+\"\u65279\";/*\u0230*/ hello; /*\u0230*/
+          ^^^^^";
+}
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart b/pkg/front_end/testcases/regress/issue_39682.dart
index 117d0d4..63edd14 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart
+++ b/pkg/front_end/testcases/regress/issue_39682.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 import "issue_39682_lib.dart" deferred as foo;
 
 main() {
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_39682.dart.textual_outline.expect
index 1d2a6fb..e7a1ec4 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_39682.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_39682_lib.dart" deferred as foo;
 
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_39682.dart.textual_outline_modelled.expect
index ea21c2f..4ab8bb5 100644
--- a/pkg/front_end/testcases/regress/issue_39682.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_39682.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import "issue_39682_lib.dart" deferred as foo;
 
 String __loadLibrary_foo() {}
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.strong.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_39682.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_39682.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.outline.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_39682.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_39682.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_39682.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_39682.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_39682.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/issue_39682_lib.dart b/pkg/front_end/testcases/regress/issue_39682_lib.dart
index 7a16b65..721f173 100644
--- a/pkg/front_end/testcases/regress/issue_39682_lib.dart
+++ b/pkg/front_end/testcases/regress/issue_39682_lib.dart
@@ -1,7 +1,7 @@
 // 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.
-
+// @dart=2.9
 foo() {
   print("foo!");
 }
\ No newline at end of file
diff --git a/pkg/front_end/testcases/regress/issue_41265.crash_dart.outline.expect b/pkg/front_end/testcases/regress/issue_41265.crash_dart.outline.expect
deleted file mode 100644
index 3364d59..0000000
--- a/pkg/front_end/testcases/regress/issue_41265.crash_dart.outline.expect
+++ /dev/null
@@ -1,127 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:53: Error: Unexpected token '>'.
-// class DND1 extends Object with M<dynamic> Function()> {
-//                                                     ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: The type '() -> M<dynamic>' can't be mixed in.
-// class DND1 extends Object with M<dynamic> Function()> {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: The type '() -> M<dynamic>' can't be mixed in.
-// class DND2 extends Object with M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: Can't use a function type as supertype.
-// class DND1 extends Object with M<dynamic> Function()> {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: Can't use a function type as supertype.
-// class DND2 extends Object with M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:15:7: Error: Can't use a function type as supertype.
-// class DND3 extends M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:18:7: Error: Can't use a function type as supertype.
-// class DND4 implements M<dynamic> Function() {
-//       ^
-//
-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*>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class M<T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class _DND1&Object extends core::Object /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DND1&Object*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND1 extends self::_DND1&Object {
-  synthetic constructor •() → self::DND1*
-    ;
-}
-abstract class _DND2&Object extends core::Object /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DND2&Object*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND2 extends self::_DND2&Object {
-  synthetic constructor •() → self::DND2*
-    ;
-}
-class DND3 extends core::Object {
-  synthetic constructor •() → self::DND3*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND4 extends core::Object {
-  synthetic constructor •() → self::DND4*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/regress/issue_41265.crash_dart.strong.expect b/pkg/front_end/testcases/regress/issue_41265.crash_dart.strong.expect
deleted file mode 100644
index c080539..0000000
--- a/pkg/front_end/testcases/regress/issue_41265.crash_dart.strong.expect
+++ /dev/null
@@ -1,133 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:53: Error: Unexpected token '>'.
-// class DND1 extends Object with M<dynamic> Function()> {
-//                                                     ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: The type '() -> M<dynamic>' can't be mixed in.
-// class DND1 extends Object with M<dynamic> Function()> {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: The type '() -> M<dynamic>' can't be mixed in.
-// class DND2 extends Object with M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: Can't use a function type as supertype.
-// class DND1 extends Object with M<dynamic> Function()> {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: Can't use a function type as supertype.
-// class DND2 extends Object with M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:15:7: Error: Can't use a function type as supertype.
-// class DND3 extends M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:18:7: Error: Can't use a function type as supertype.
-// class DND4 implements M<dynamic> Function() {
-//       ^
-//
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class M<T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class _DND1&Object extends core::Object /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DND1&Object*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND1 extends self::_DND1&Object {
-  synthetic constructor •() → self::DND1*
-    : super self::_DND1&Object::•()
-    ;
-}
-abstract class _DND2&Object extends core::Object /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DND2&Object*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND2 extends self::_DND2&Object {
-  synthetic constructor •() → self::DND2*
-    : super self::_DND2&Object::•()
-    ;
-}
-class DND3 extends core::Object {
-  synthetic constructor •() → self::DND3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND4 extends core::Object {
-  synthetic constructor •() → self::DND4*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_41265.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_41265.crash_dart.strong.transformed.expect
deleted file mode 100644
index c080539..0000000
--- a/pkg/front_end/testcases/regress/issue_41265.crash_dart.strong.transformed.expect
+++ /dev/null
@@ -1,133 +0,0 @@
-library;
-//
-// Problems in library:
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:53: Error: Unexpected token '>'.
-// class DND1 extends Object with M<dynamic> Function()> {
-//                                                     ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: The type '() -> M<dynamic>' can't be mixed in.
-// class DND1 extends Object with M<dynamic> Function()> {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: The type '() -> M<dynamic>' can't be mixed in.
-// class DND2 extends Object with M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: Can't use a function type as supertype.
-// class DND1 extends Object with M<dynamic> Function()> {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: Can't use a function type as supertype.
-// class DND2 extends Object with M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:15:7: Error: Can't use a function type as supertype.
-// class DND3 extends M<dynamic> Function() {
-//       ^
-//
-// pkg/front_end/testcases/regress/issue_41265.crash_dart:18:7: Error: Can't use a function type as supertype.
-// class DND4 implements M<dynamic> Function() {
-//       ^
-//
-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::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class M<T extends core::Object* = dynamic> extends core::Object /*isMixinDeclaration*/  {
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-abstract class _DND1&Object extends core::Object /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DND1&Object*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND1 extends self::_DND1&Object {
-  synthetic constructor •() → self::DND1*
-    : super self::_DND1&Object::•()
-    ;
-}
-abstract class _DND2&Object extends core::Object /*isAnonymousMixin*/  {
-  synthetic constructor •() → self::_DND2&Object*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND2 extends self::_DND2&Object {
-  synthetic constructor •() → self::DND2*
-    : super self::_DND2&Object::•()
-    ;
-}
-class DND3 extends core::Object {
-  synthetic constructor •() → self::DND3*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-class DND4 extends core::Object {
-  synthetic constructor •() → self::DND4*
-    : super core::Object::•()
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.expect b/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.expect
new file mode 100644
index 0000000..03c63ac
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.expect
@@ -0,0 +1,73 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:53: Error: Unexpected token '>'.
+// class DND1 extends Object with M<dynamic> Function()> {
+//                                                     ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: The type '() -> M<dynamic>' can't be mixed in.
+// class DND1 extends Object with M<dynamic> Function()> {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: The type '() -> M<dynamic>' can't be mixed in.
+// class DND2 extends Object with M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: Can't use a function type as supertype.
+// class DND1 extends Object with M<dynamic> Function()> {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: Can't use a function type as supertype.
+// class DND2 extends Object with M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:15:7: Error: Can't use a function type as supertype.
+// class DND3 extends M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:18:7: Error: Can't use a function type as supertype.
+// class DND4 implements M<dynamic> Function() {
+//       ^
+//
+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::•()
+    ;
+}
+abstract class M<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/  {
+}
+abstract class _DND1&Object extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DND1&Object
+    : super core::Object::•()
+    ;
+}
+class DND1 extends self::_DND1&Object {
+  synthetic constructor •() → self::DND1
+    : super self::_DND1&Object::•()
+    ;
+}
+abstract class _DND2&Object extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DND2&Object
+    : super core::Object::•()
+    ;
+}
+class DND2 extends self::_DND2&Object {
+  synthetic constructor •() → self::DND2
+    : super self::_DND2&Object::•()
+    ;
+}
+class DND3 extends core::Object {
+  synthetic constructor •() → self::DND3
+    : super core::Object::•()
+    ;
+}
+class DND4 extends core::Object {
+  synthetic constructor •() → self::DND4
+    : super core::Object::•()
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.outline.expect b/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..b75b781
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.outline.expect
@@ -0,0 +1,67 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:53: Error: Unexpected token '>'.
+// class DND1 extends Object with M<dynamic> Function()> {
+//                                                     ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: The type '() -> M<dynamic>' can't be mixed in.
+// class DND1 extends Object with M<dynamic> Function()> {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: The type '() -> M<dynamic>' can't be mixed in.
+// class DND2 extends Object with M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: Can't use a function type as supertype.
+// class DND1 extends Object with M<dynamic> Function()> {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: Can't use a function type as supertype.
+// class DND2 extends Object with M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:15:7: Error: Can't use a function type as supertype.
+// class DND3 extends M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:18:7: Error: Can't use a function type as supertype.
+// class DND4 implements M<dynamic> Function() {
+//       ^
+//
+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%>
+    ;
+}
+abstract class M<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/  {
+}
+abstract class _DND1&Object extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DND1&Object
+    ;
+}
+class DND1 extends self::_DND1&Object {
+  synthetic constructor •() → self::DND1
+    ;
+}
+abstract class _DND2&Object extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DND2&Object
+    ;
+}
+class DND2 extends self::_DND2&Object {
+  synthetic constructor •() → self::DND2
+    ;
+}
+class DND3 extends core::Object {
+  synthetic constructor •() → self::DND3
+    ;
+}
+class DND4 extends core::Object {
+  synthetic constructor •() → self::DND4
+    ;
+}
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..03c63ac
--- /dev/null
+++ b/pkg/front_end/testcases/regress/issue_41265.crash_dart.weak.transformed.expect
@@ -0,0 +1,73 @@
+library /*isNonNullableByDefault*/;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:53: Error: Unexpected token '>'.
+// class DND1 extends Object with M<dynamic> Function()> {
+//                                                     ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: The type '() -> M<dynamic>' can't be mixed in.
+// class DND1 extends Object with M<dynamic> Function()> {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: The type '() -> M<dynamic>' can't be mixed in.
+// class DND2 extends Object with M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:9:7: Error: Can't use a function type as supertype.
+// class DND1 extends Object with M<dynamic> Function()> {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:12:7: Error: Can't use a function type as supertype.
+// class DND2 extends Object with M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:15:7: Error: Can't use a function type as supertype.
+// class DND3 extends M<dynamic> Function() {
+//       ^
+//
+// pkg/front_end/testcases/regress/issue_41265.crash_dart:18:7: Error: Can't use a function type as supertype.
+// class DND4 implements M<dynamic> Function() {
+//       ^
+//
+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::•()
+    ;
+}
+abstract class M<T extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/  {
+}
+abstract class _DND1&Object extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DND1&Object
+    : super core::Object::•()
+    ;
+}
+class DND1 extends self::_DND1&Object {
+  synthetic constructor •() → self::DND1
+    : super self::_DND1&Object::•()
+    ;
+}
+abstract class _DND2&Object extends core::Object /*isAnonymousMixin*/  {
+  synthetic constructor •() → self::_DND2&Object
+    : super core::Object::•()
+    ;
+}
+class DND2 extends self::_DND2&Object {
+  synthetic constructor •() → self::DND2
+    : super self::_DND2&Object::•()
+    ;
+}
+class DND3 extends core::Object {
+  synthetic constructor •() → self::DND3
+    : super core::Object::•()
+    ;
+}
+class DND4 extends core::Object {
+  synthetic constructor •() → self::DND4
+    : super core::Object::•()
+    ;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart b/pkg/front_end/testcases/regress/issue_42423.dart
index 094bb14..3d58bc3 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart
+++ b/pkg/front_end/testcases/regress/issue_42423.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 import 'package:expect/expect.dart';
 
 test1(dynamic stringList) {
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_42423.dart.textual_outline.expect
index f8a2a21..ac29037 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 test1(dynamic stringList) {}
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_42423.dart.textual_outline_modelled.expect
index 012ca7c..69999c2 100644
--- a/pkg/front_end/testcases/regress/issue_42423.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/regress/issue_42423.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'package:expect/expect.dart';
 
 main() {}
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.strong.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_42423.dart.strong.expect
rename to pkg/front_end/testcases/regress/issue_42423.dart.weak.expect
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.outline.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_42423.dart.outline.expect
rename to pkg/front_end/testcases/regress/issue_42423.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/regress/issue_42423.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/regress/issue_42423.dart.strong.transformed.expect
rename to pkg/front_end/testcases/regress/issue_42423.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.outline.expect b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.outline.expect
deleted file mode 100644
index 13bf5cc..0000000
--- a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.outline.expect
+++ /dev/null
Binary files differ
diff --git a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.expect b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.expect
deleted file mode 100644
index aad6d8e..0000000
--- a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.expect
+++ /dev/null
Binary files differ
diff --git a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.transformed.expect b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.transformed.expect
deleted file mode 100644
index aad6d8e..0000000
--- a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.strong.transformed.expect
+++ /dev/null
Binary files differ
diff --git a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.expect b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.expect
new file mode 100644
index 0000000..bffb3b3
--- /dev/null
+++ b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.expect
Binary files differ
diff --git a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.outline.expect b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.outline.expect
new file mode 100644
index 0000000..81cf541
--- /dev/null
+++ b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.outline.expect
Binary files differ
diff --git a/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.transformed.expect b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.transformed.expect
new file mode 100644
index 0000000..bffb3b3
--- /dev/null
+++ b/pkg/front_end/testcases/regress/utf_16_le_content.crash_dart.weak.transformed.expect
Binary files differ
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart b/pkg/front_end/testcases/runtime_checks/call_kinds.dart
index b0006ce..7422040 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.hierarchy.expect
deleted file mode 100644
index 11f7b3e..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.h
-    Object.hashCode
-    C.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.test
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.textual_outline.expect
index de4942d..6098d60 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F();
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.textual_outline_modelled.expect
index 078b15a..7f28360 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart
index ed8556e..81ff2c2 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.hierarchy.expect
deleted file mode 100644
index 3e0221a..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.test
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline.expect
index aaf824e..6eb1323 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline_modelled.expect
index 588c9cd..69519b0 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds_get.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart
index 2072ab6..e14b4f2 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.hierarchy.expect
deleted file mode 100644
index f629112..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.test
-  classSetters:
-    C.y
-    C.x
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline.expect
index c96f079..b8d22a2 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline_modelled.expect
index 1ea93b3..cbf6b63 100644
--- a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/call_kinds_set.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart
index 1ea9483..9c79ba9 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.hierarchy.expect
deleted file mode 100644
index 8397602..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline.expect
index acd8a15..ac57e71 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline_modelled.expect
index acd8a15..ac57e71 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart
index b2320f9..5ffb89a 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.hierarchy.expect
deleted file mode 100644
index 8397602..0000000
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.call
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline.expect
index c9eba70..ea8a339 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline_modelled.expect
index c9eba70..ea8a339 100644
--- a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 import 'dart:async';
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/call_method_implicit_tear_off_future_or.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart
index 40d9bcc..bfc499c 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2018, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.hierarchy.expect
deleted file mode 100644
index eaaef92..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.textual_outline.expect
index 8d81028..2f4bdf3 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.textual_outline_modelled.expect
index 54efdb7..24309e5 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_field.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_field.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart
index 9ca3747..5a55bde 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline.expect
index 3bc94cd..01ca255 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T t);
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline_modelled.expect
index d45149c..d63adb1 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_method_type_parameter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart
index dbc47cd..33868c9 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.hierarchy.expect
deleted file mode 100644
index 7b50101..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.textual_outline.expect
index dc2912a..4971ed6 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.textual_outline_modelled.expect
index 6c35eb5..3ed7c2d 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart
index bd39c36..bdde6a5 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.hierarchy.expect
deleted file mode 100644
index 7b50101..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.outline.expect
deleted file mode 100644
index ae504e7..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.outline.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  method f1() → (self::C::T*) →* void
-    ;
-  method f2() → core::List<(self::C::T*) →* void>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method g1(self::C<core::num*>* c) → void
-  ;
-static method g2(self::C<core::num*>* c) → void
-  ;
-static method g3(self::C<core::num*>* c) → void
-  ;
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.textual_outline.expect
index dc2912a..4971ed6 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.textual_outline_modelled.expect
index 6c35eb5..3ed7c2d 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/runtime_checks/contravariant_generic_return.dart.outline.expect
copy to pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_return_null_aware.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart
index 35f1929..ec99cae 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.hierarchy.expect
deleted file mode 100644
index 3f28571..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    C._x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C._x
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.textual_outline.expect
index 950b57d..96eabed 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.textual_outline_modelled.expect
index ac397a4..0a9988b 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 G<num> g(C<num> c) {}
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_generic_return_tear_off.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart
index 9845d5c..f940dab 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.hierarchy.expect
deleted file mode 100644
index eaaef92..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,39 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.textual_outline.expect
index 69264e5..385996d 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.textual_outline_modelled.expect
index f9b4c27..3120bc5 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart
index b9c82ef..d8489b5 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.hierarchy.expect
deleted file mode 100644
index 7b50101..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.textual_outline.expect
index c87589e..2e2cd6e 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.textual_outline_modelled.expect
index bc0e76e..3099710 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart
index f10066c..8c0d561 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.hierarchy.expect
deleted file mode 100644
index 7b50101..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.outline.expect
deleted file mode 100644
index fe6232e..0000000
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.outline.expect
+++ /dev/null
@@ -1,31 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<contravariant T extends core::Object* = dynamic> = (T*) →* void;
-class C<T extends core::Object* = dynamic> extends core::Object {
-  synthetic constructor •() → self::C<self::C::T*>*
-    ;
-  get f1() → (self::C::T*) →* void
-    ;
-  get f2() → core::List<(self::C::T*) →* void>*
-    ;
-  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
-  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
-  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
-  abstract member-signature method toString() → core::String*; -> core::Object::toString
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
-  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
-}
-static method g1(self::C<core::num*>* c) → void
-  ;
-static method g2(self::C<core::num*>* c) → void
-  ;
-static method g3(self::C<core::num*>* c) → void
-  ;
-static method main() → void
-  ;
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.textual_outline.expect
index c87589e..2e2cd6e 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.textual_outline_modelled.expect
index bc0e76e..3099710 100644
--- a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/runtime_checks/contravariant_getter_return.dart.outline.expect
copy to pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/contravariant_getter_return_null_aware.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart
index ec30f9e..07ef302 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.hierarchy.expect
deleted file mode 100644
index 466f6ef..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.g1
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline.expect
index 066813e..d5b5708 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline_modelled.expect
index 0bbb372..0cea1b9 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_method_type_parameter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart
index d5cfa14..bb6a3cd 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.textual_outline.expect
index 9eb7363..e49980f 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.textual_outline_modelled.expect
index a772405..82b0389 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart
index 6cb0061..8c2a6b4 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.hierarchy.expect
deleted file mode 100644
index c59ab56..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.f4
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f3
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline.expect
index be90d87..bf82a37 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline_modelled.expect
index 9b83d94..672a106 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_complex.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart
index 3ec2d07..dbc9828 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.hierarchy.expect
deleted file mode 100644
index 5eaaea6..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.hierarchy.expect
+++ /dev/null
@@ -1,107 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    I.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    I.f2
-  classSetters:
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: I<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  interfaceSetters:
-
-D:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> C<U>
-  interfaces: I<int>
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    D.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.f2
-  classSetters:
-  interfaceMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    D.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    D.f2
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.textual_outline.expect
index 51601b9..7e31659 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.textual_outline_modelled.expect
index 15e7d8a..20115dc 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart
index 4da2532..ea3b2d7 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.hierarchy.expect
deleted file mode 100644
index eee2991..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.hierarchy.expect
+++ /dev/null
@@ -1,105 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    M.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: M, I<int>
-  classMembers:
-    M.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.M.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline.expect
index 7d6cf9b..e5cf27f 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline_modelled.expect
index f1f1057..dab06f7 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_mixin.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart
index a869fd9..409b0b4 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.hierarchy.expect
deleted file mode 100644
index 66e9deb..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: I<int>
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline.expect
index 1995799..479adf0 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline_modelled.expect
index da6ecc9..cc37c29 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart
index 8208926..85f3e7c 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.hierarchy.expect
deleted file mode 100644
index 63ed69c..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.hierarchy.expect
+++ /dev/null
@@ -1,104 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: M, I<int>
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline.expect
index ef098bf..3a36753 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline_modelled.expect
index 6b9085b..1c14876 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_in_interface_super_mixin.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart
index 8261613..0d4dd96 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.hierarchy.expect
deleted file mode 100644
index 7b50101..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.textual_outline.expect
index 86fd3b6..6e9b88c 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.textual_outline_modelled.expect
index c813f8d..cce693e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 F<num> g1(C<num> c) {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_generic_parameter_tear_off.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart
index 02bfdcf..c506dd0 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.hierarchy.expect
deleted file mode 100644
index 9f0d2f3..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.hierarchy.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    D.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    E.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline.expect
index a0211e4..ce94263 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline_modelled.expect
index 7b38b24..845403c 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 F<num> g2(C c) {}
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart
index 7c7f663..070f4c9 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.hierarchy.expect
deleted file mode 100644
index 3142f9e..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,106 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C
-  classMembers:
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-  interfaceMembers:
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.x
-
-E:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: D, C
-  classMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
-  interfaceMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.x
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.textual_outline.expect
index 42ad63f..a6f9dc1 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.textual_outline_modelled.expect
index 42ad63f..a6f9dc1 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart
index d8f1ceb..3b905d7 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.hierarchy.expect
deleted file mode 100644
index 3142f9e..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,106 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C
-  classMembers:
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-  interfaceMembers:
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.x
-
-E:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: D, C
-  classMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
-  interfaceMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.x
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.textual_outline.expect
index 0e97340..c7a1db5 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.textual_outline_modelled.expect
index 0e97340..c7a1db5 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_field_inherited_by_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart
index d9b8a30e..54580cd 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.hierarchy.expect
deleted file mode 100644
index 0fba878..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,76 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-
-E:
-  superclasses:
-    Object
-      -> C
-        -> D
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline.expect
index 3e18946..dc45d51 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline_modelled.expect
index 3e18946..dc45d51 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart
index 21bd63d..b3bcc5e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.hierarchy.expect
deleted file mode 100644
index 7242fb4..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,90 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.x
-
-E:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: D, C
-  classMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.x
-  interfaceMembers:
-    Object.toString
-    E.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.x
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.textual_outline.expect
index 335e47d..8d6ae0f 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.textual_outline_modelled.expect
index 335e47d..8d6ae0f 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_keyword_setter_inherited_by_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart
index 029caad..fef54de 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart
+++ b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.hierarchy.expect
deleted file mode 100644
index f13de1a..0000000
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
-    C.x
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.textual_outline.expect
index b8c3d2f..7a6ee1e 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.textual_outline_modelled.expect
index b7e0f42..4204df0 100644
--- a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_setter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_setter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/covariant_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/covariant_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart
index 790dff4..d9e65fb 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.hierarchy.expect
deleted file mode 100644
index 840a542..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    C.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C<num>
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    D.f1
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.f2
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline.expect
index 3385f7f..5a050cf 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline_modelled.expect
index 89135dc..fa18448 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart
index 6206b0e..894c95b 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.hierarchy.expect
deleted file mode 100644
index e4a9a22..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline.expect
index 3ab451a..2e2fd8f 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline_modelled.expect
index cc44c99..025143f 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation_generic.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart
index 7c7fe48..7a6a6a5 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.hierarchy.expect
deleted file mode 100644
index 0f300a8..0000000
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.f
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline.expect
index 7737325..4611b50 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline_modelled.expect
index 4e49871..40fbf9f 100644
--- a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/dynamic_invocation_of_getter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart
index 065bd4e..c1f2d16 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.hierarchy.expect
deleted file mode 100644
index 7869c3b..0000000
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.hierarchy.expect
+++ /dev/null
@@ -1,91 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces: B<num>
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-  interfaceMembers:
-    Object.toString
-    D.C.x%B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.C.x%B.x
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.textual_outline.expect
index 8c4b40b..be28691 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.textual_outline_modelled.expect
index 8c4b40b..be28691 100644
--- a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/field_forwarding_stub_generic_covariant.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/folder.options b/pkg/front_end/testcases/runtime_checks/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/runtime_checks/folder.options
+++ b/pkg/front_end/testcases/runtime_checks/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart
index 816a396..1858b00 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.hierarchy.expect
deleted file mode 100644
index 8993132..0000000
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.hierarchy.expect
+++ /dev/null
@@ -1,100 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    B._x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.g
-    B.check
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B._x
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    I.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: I<num>
-  classMembers:
-    B.f
-    Object.toString
-    B._x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    B.g
-    B.check
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B._x
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    B._x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.B.g%I.g
-    B.check
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    B._x
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.textual_outline.expect
index 289a96e..df71248 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.textual_outline_modelled.expect
index 1ca314d..c3d5b86 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/forwarding_stub_with_default_values.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart
index 2cd0b19..50a9e4d 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.hierarchy.expect
deleted file mode 100644
index 66e9deb..0000000
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: I<int>
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline.expect
index 8c6231b..681a9ab 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline_modelled.expect
index 345dc98..1177a3c 100644
--- a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/forwarding_stub_with_non_covariant_param.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart
index d9f6ffd..80ac157 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.hierarchy.expect
deleted file mode 100644
index c37a550..0000000
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,113 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
-    C.x
-
-D:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C<num>
-  classMembers:
-    D.y
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.y
-    D.x
-  interfaceMembers:
-    D.y
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.y
-    D.x
-
-E:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: C<num>
-  classMembers:
-    E.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    E.y
-    E.x
-  interfaceMembers:
-    E.y
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    E.y
-    E.x
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.textual_outline.expect
index 04e6489..2d3e16b 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.textual_outline_modelled.expect
index 8d40bf2..551aa2b 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/generic_covariance_inheritance_setter_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart
index 54358a5..f049390 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.hierarchy.expect
deleted file mode 100644
index 7c05629..0000000
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.hierarchy.expect
+++ /dev/null
@@ -1,109 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-A:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    A.x
-
-B:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: A
-  classMembers:
-    B.f
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-  interfaceMembers:
-    B.f
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    B.x
-
-C:
-  Longest path to Object: 3
-  superclasses:
-    Object
-  interfaces: B, A
-  classMembers:
-    C.f
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-  interfaceMembers:
-    C.f
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.x
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.textual_outline.expect
index 9423c72..9bc6e47 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.textual_outline_modelled.expect
index 49de95f..a7a82e5 100644
--- a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class A {
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/generic_vs_explicit_covariance.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart
index 90270b7..449fbe0 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.hierarchy.expect
deleted file mode 100644
index ba00015..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.hierarchy.expect
+++ /dev/null
@@ -1,36 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.textual_outline.expect
index 1c0e505..53f98f0 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.textual_outline_modelled.expect
index 1c0e505..53f98f0 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart
index 2746bf6..8940551 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_assert_statement.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart
index 9a698b6..c7da78b 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.hierarchy.expect
deleted file mode 100644
index ffdc90c..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.hierarchy.expect
+++ /dev/null
@@ -1,38 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.b
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.b
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.textual_outline.expect
index 5767080..012849c 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.textual_outline_modelled.expect
index 37e2b22..f4ab978 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_constructor_initializer.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart
index 0b205d7..4ee9d69 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart
index fa1137a..617e9dd 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.textual_outline.expect
index c07c403..91e6295 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.textual_outline_modelled.expect
index c07c403..91e6295 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_for_condition.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart
index 697e7e6..dc3b23b 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.outline.expect
copy to pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_if.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart
index e76e533..d1de7be 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.textual_outline.expect
index c07c403..91e6295 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.textual_outline_modelled.expect
index c07c403..91e6295 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_not.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart
index 549c6ac5..db3ef60 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.outline.expect
deleted file mode 100644
index 09dc88c..0000000
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.outline.expect
+++ /dev/null
@@ -1,5 +0,0 @@
-library test;
-import self as self;
-
-static method main() → dynamic
-  ;
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.textual_outline.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.textual_outline_modelled.expect
index d0b557f..4b71679 100644
--- a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 main() {}
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.strong.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.outline.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/runtime_checks/implicit_downcast_do.dart.outline.expect
copy to pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks/implicit_downcast_while.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart
index 47824ee..427af13 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.hierarchy.expect
deleted file mode 100644
index 0bd7033..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: I<num>
-  classMembers:
-    C.B.f%C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline.expect
index 84c7157..d51e54c 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline_modelled.expect
index 168422a..e3df18c 100644
--- a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/abstract_override_becomes_forwarding_stub.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart
index d08fb41..208e734 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.hierarchy.expect
deleted file mode 100644
index 9928ab6..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.hierarchy.expect
+++ /dev/null
@@ -1,87 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.g1
-    Object._instanceOf
-    C.g2
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g4
-    Object._simpleInstanceOfFalse
-    C.g3
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-      -> C<int>
-  interfaces:
-  classMembers:
-    C.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.g1
-    Object._instanceOf
-    C.g2
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g4
-    Object._simpleInstanceOfFalse
-    C.g3
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-E:
-  superclasses:
-    Object
-      -> C<num>
-  interfaces:
-  classMembers:
-    E.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.g1
-    Object._instanceOf
-    C.g2
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.g4
-    Object._simpleInstanceOfFalse
-    C.g3
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.textual_outline.expect
index 6c7fe09..21fa569 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.textual_outline_modelled.expect
index a210365..ce16639 100644
--- a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/call_through_this.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart
index 961c46a..282d831 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.hierarchy.expect
deleted file mode 100644
index 5275de2..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.y
-    C.[]=
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
-    C.x
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.textual_outline.expect
index bd7aa707..e5e025e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.textual_outline_modelled.expect
index 231976b..68b1d9d 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T, U extends F<T>> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_combiner.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart
index f1fa94d..6efbcbc 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.hierarchy.expect
deleted file mode 100644
index d44831f..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.plusResult
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-D:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    D.value
-    D.getValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    D.setValue
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.value
-    D.setValue
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.textual_outline.expect
index c331f05..09c5418 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void expectTypeError(void callback()) {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.textual_outline_modelled.expect
index c2c9d06..661f952 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart
index f68ef5b..4c8c9a7 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.hierarchy.expect
deleted file mode 100644
index b777652..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.textual_outline.expect
index b03de79..0b43ccc 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.textual_outline_modelled.expect
index 2e87293..c0bc672 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_getter_return_compound_assign.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart
index ea34543..e935be9 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.hierarchy.expect
deleted file mode 100644
index b854250..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.hierarchy.expect
+++ /dev/null
@@ -1,56 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.+
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.[]=
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.textual_outline.expect
index 63f05d9..25e6f2f 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.textual_outline_modelled.expect
index ee8f9fa..c7d6555 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_index_assign.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart
index adf83c0..dfab294 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.hierarchy.expect
deleted file mode 100644
index 946de54..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.hierarchy.expect
+++ /dev/null
@@ -1,37 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    C.[]
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.textual_outline.expect
index 3e84e6d..800ea5e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 typedef void F<T>(T x);
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.textual_outline_modelled.expect
index f10da16..ee7266a 100644
--- a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 F<num> test(C<num> c) {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/contravariant_index_get.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart
index 5d2400e..b194037 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.hierarchy.expect
deleted file mode 100644
index e5581ef..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.hierarchy.expect
+++ /dev/null
@@ -1,60 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.h
-    Object.hashCode
-    B.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B<int>
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    B.h
-    Object.hashCode
-    B.g
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.textual_outline.expect
index 6f29a54..17a00a3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.textual_outline_modelled.expect
index 8dc39af..fc92324 100644
--- a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/derived_class_typed.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart
index e454c40..73be4e2 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.hierarchy.expect
deleted file mode 100644
index 6a9568c..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.hierarchy.expect
+++ /dev/null
@@ -1,58 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-C:
-  superclasses:
-    Object
-      -> B<num>
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.textual_outline.expect
index 7cfc8c5..c2a9e1e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.textual_outline_modelled.expect
index 7cfc8c5..c2a9e1e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_abstract_generic_covariant.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart
index aa86636..de25e30 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.hierarchy.expect
deleted file mode 100644
index 54bc8ea..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.hierarchy.expect
+++ /dev/null
@@ -1,415 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.x
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-
-D:
-  superclasses:
-    Object
-      -> C
-  interfaces: B
-  classMembers:
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.x
-  interfaceMembers:
-    Object.toString
-    D.C.x%B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.C.x%B.x
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.textual_outline.expect
index 13b768c..84550a3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.textual_outline_modelled.expect
index 13b768c..84550a3 100644
--- a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/field_forwarding_stub_explicit_covariant.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/folder.options b/pkg/front_end/testcases/runtime_checks_new/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/runtime_checks_new/folder.options
+++ b/pkg/front_end/testcases/runtime_checks_new/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart
index fcb5d83..e3b91c9 100644
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.hierarchy.expect
deleted file mode 100644
index deb6bc8..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.hierarchy.expect
+++ /dev/null
@@ -1,43 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    C.staticField
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    C.instanceField
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    C.test
-  classSetters:
-    C.staticSetter
-    C.staticField
-    C.instanceSetter
-    C.instanceField
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline.expect
index f3282d1..cc05471 100644
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 var topLevel;
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline_modelled.expect
index 5b85754..755828d 100644
--- a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class C {
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/for_in_call_kinds.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart
index 72eae8b..d082c68 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.hierarchy.expect
deleted file mode 100644
index eb5ae02..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.hierarchy.expect
+++ /dev/null
@@ -1,116 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-    B.x
-
-C:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B<num>
-  classMembers:
-    C.y
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.y
-    C.x
-  interfaceMembers:
-    C.y
-    Object.toString
-    C.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.y
-    C.x
-
-D:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: B<T>
-  classMembers:
-    D.y
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    D.y
-    D.x
-  interfaceMembers:
-    D.y
-    Object.toString
-    D.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    D.y
-    D.x
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.textual_outline.expect
index e27dd81..672a0499 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.textual_outline_modelled.expect
index 5c970ba..4497bc5 100644
--- a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C<T> implements B<num> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/generic_covariance_based_on_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart
index 828f93f..2a1a47e 100644
--- a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.hierarchy.expect
deleted file mode 100644
index 92c8c0c..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,40 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    C.staticValue
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    C.instanceValue
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.staticValue
-    C.instanceValue
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.textual_outline.expect
index 340c0be..a7faa46 100644
--- a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 Object o = 1;
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.textual_outline_modelled.expect
index 3b8f20e..ddb4de8 100644
--- a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 Object o = 1;
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/implicit_downcast_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart
index 261d869..c13bc20 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.hierarchy.expect
deleted file mode 100644
index 9a9e066..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.hierarchy.expect
+++ /dev/null
@@ -1,444 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-    B.x
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.y
-    Object.toString
-    I.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I.y
-    I.x
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    M.y
-    Object.toString
-    M.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.y
-    M.x
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: M, I<int>
-  classMembers:
-    C.M.y%B.y%I.y
-    Object.toString
-    C.M.x%B.x%I.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    C.M.y%B.y=%I.y=
-    C.M.x%B.x=%I.x=
-  interfaceMembers:
-    C.M.y%B.y%I.y
-    Object.toString
-    C.M.x%B.x%I.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.M.y%B.y=%I.y=
-    C.M.x%B.x=%I.x=
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.textual_outline.expect
index 532c570..0765c2b 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void expectTypeError(void callback()) {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.textual_outline_modelled.expect
index 31492ae..5cec6be 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_field.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter_and_setter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter_and_setter.dart.strong.expect
deleted file mode 100644
index 9b5e0ad..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_getter_and_setter.dart.strong.expect
+++ /dev/null
@@ -1,74 +0,0 @@
-library test;
-import self as self;
-import "dart:core" as core;
-
-typedef F<T extends core::Object> = (T) → T;
-class B extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → (core::int) → core::int {
-    throw "Should not be reached";
-  }
-  set x((core::int) → core::int value) → void {
-    throw "Should not be reached";
-  }
-}
-abstract class I<T extends core::Object> extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  abstract generic-contravariant get x() → (self::I::T) → self::I::T;
-  abstract set x(generic-covariant-impl generic-covariant-interface (self::I::T) → self::I::T value) → void;
-}
-class M extends core::Object {
-  synthetic constructor •() → void
-    : super core::Object::•()
-    ;
-  get x() → (core::int) → core::int
-    return (core::int i) → core::int {
-      self::expect(i, 1);
-      return 2;
-    };
-  set x((core::int) → core::int value) → void {
-    self::expect(value.call(3), 4);
-  }
-}
-class C = self::B with self::M implements self::I<core::int> {
-  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.{core::Object::==}(expected)) {
-    throw "Expected ${expected}, got ${value}";
-  }
-}
-static method test(self::I<core::Object> iObj, self::I<core::int> iInt) → void {
-  self::expectTypeError(() → core::Null {
-    (core::Object) → core::Object x = iObj.{self::I::x} as{TypeError} (core::Object) → core::Object;
-  });
-  (core::int) → core::int x = iInt.{self::I::x} as{TypeError} (core::int) → core::int;
-  self::expect(x.call(1), 2);
-  self::expectTypeError(() → core::Null {
-    (core::int) → core::Object f = (core::int value) → core::int => 4;
-    iObj.{self::I::x} = f;
-  });
-  function g(core::int value) → core::int {
-    self::expect(value, 3);
-    return 4;
-  }
-  iInt.{self::I::x} = g;
-}
-static method main() → void {
-  self::C c = new self::C::•();
-  self::test(c, c);
-}
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart
index 574153f..479bc2b 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.hierarchy.expect
deleted file mode 100644
index e23589d..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.hierarchy.expect
+++ /dev/null
@@ -1,444 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.y
-    Object.toString
-    B.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    B.y
-    B.x
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.y
-    Object.toString
-    I.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    I.y
-    I.x
-
-M:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    M.y
-    Object.toString
-    M.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.y
-    M.x
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: M, I<int>
-  classMembers:
-    M.y
-    Object.toString
-    M.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-    M.y
-    M.x
-  interfaceMembers:
-    C.M.y%I.y
-    Object.toString
-    C.M.x%I.x
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-    C.M.y=%I.y=
-    C.M.x=%I.x=
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline.expect
index 7b50e59..c5e0532 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void expectTypeError(void callback()) {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline_modelled.expect
index 7bcde01..fe4e746 100644
--- a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/mixin_forwarding_stub_setter.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart
index a4fc889..71c3912 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.hierarchy.expect
deleted file mode 100644
index dbd4f79..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.hierarchy.expect
+++ /dev/null
@@ -1,411 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: I
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline.expect
index c474b44..26c3afd 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 void expectTypeError(void callback()) {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline_modelled.expect
index d49ed63..1b0c9b8 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class I {
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_checked_via_target.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart
index ef67155..f08c5bf 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.hierarchy.expect
deleted file mode 100644
index f7b0451..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.hierarchy.expect
+++ /dev/null
@@ -1,411 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: I<int>
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline.expect
index 83b6b0f..c2382d9 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline_modelled.expect
index 90a097c..aba7ead 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C extends B implements I<int> {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_interface.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart
index 4d1e82d..543f895 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.hierarchy.expect
deleted file mode 100644
index 578a89f..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,411 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B<int>
-  interfaces: I
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline.expect
index ac08d82..84472ae 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B<T> {
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline_modelled.expect
index 22c5f69..bf8a304 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C extends B<int> implements I {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariantImpl_from_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart
index 57a9f99..a782521 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.hierarchy.expect
deleted file mode 100644
index dbd4f79..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.hierarchy.expect
+++ /dev/null
@@ -1,411 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: I
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline.expect
index d453753..6905d9d 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline_modelled.expect
index f722096..1eb2ff4 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C extends B implements I {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_interface.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart
index 3daf251..7a96d67 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2017, 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=2.9
 /*@testedFeatures=checks*/
 library test;
 
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.hierarchy.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.hierarchy.expect
deleted file mode 100644
index dbd4f79..0000000
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.hierarchy.expect
+++ /dev/null
@@ -1,411 +0,0 @@
-Object:
-  superclasses:
-  interfaces:
-  classMembers:
-    Object._haveSameRuntimeType
-    Object.toString
-    Object.runtimeType
-    Object._toString
-    Object._simpleInstanceOf
-    Object._hashCodeRnd
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._objectHashCode
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-B:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-I:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-
-C:
-  superclasses:
-    Object
-      -> B
-  interfaces: I
-  classMembers:
-    B.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  classSetters:
-  interfaceMembers:
-    C.B.f%I.f
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-  interfaceSetters:
-
-Comparable:
-  superclasses:
-    Object
-  interfaces:
-  classMembers:
-    Object.toString
-    Object.runtimeType
-    Object._simpleInstanceOf
-    Object._instanceOf
-    Object.noSuchMethod
-    Object._identityHashCode
-    Comparable.compareTo
-    Object.hashCode
-    Object._simpleInstanceOfFalse
-    Object._simpleInstanceOfTrue
-    Object.==
-    Comparable.compare
-  classSetters:
-
-num:
-  Longest path to Object: 2
-  superclasses:
-    Object
-  interfaces: Comparable<num>
-  classMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  classSetters:
-  interfaceMembers:
-    num.~/
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    num._returnDoubleNull
-    num.Object.toString%num.toString
-    num._returnIntNull
-    num.+
-    num.clamp
-    num.toDouble
-    num.ceil
-    num.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    num.toStringAsExponential
-    num./
-    num.abs
-    num._moduloFromInteger
-    num._subFromInteger
-    num._addFromInteger
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    num.sign
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    num.floorToDouble
-    Object._identityHashCode
-    num.>
-    num.roundToDouble
-    num.round
-    num.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    num.truncate
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    num.ceilToDouble
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    num.truncateToDouble
-    num.parse
-    num.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    num.*
-  interfaceSetters:
-
-int:
-  Longest path to Object: 3
-  superclasses:
-    Object
-      -> num
-  interfaces: Comparable<num>
-  classMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  classSetters:
-  interfaceMembers:
-    int._minInt64
-    num.~/
-    int.toSigned
-    int._shrFromInteger
-    int._throwFormatException
-    int._parseBlock
-    num.<=
-    num._equalToInteger
-    num.isInfinite
-    num.<
-    int._int64OverflowLimits
-    int._parseRadix
-    int.Object.toString%int.toString
-    int._PARSE_LIMITS
-    int._kNull
-    num.+
-    num.clamp
-    num.toDouble
-    int.ceil
-    int.unary-
-    num._mulFromInteger
-    num.>=
-    Object.runtimeType
-    Object._simpleInstanceOf
-    num.isNegative
-    num.isNaN
-    int._initInt64OverflowLimits
-    int.isEven
-    num.toStringAsExponential
-    num./
-    int.abs
-    int._bitAndFromSmi
-    int.|
-    num._moduloFromInteger
-    int.gcd
-    int._int64UnsignedOverflowLimits
-    int.<<
-    num._subFromInteger
-    num._addFromInteger
-    int.toUnsigned
-    int.toRadixString
-    int._int64UnsignedSmiOverflowLimits
-    Object._instanceOf
-    num.remainder
-    num.isFinite
-    num.toInt
-    num.%
-    int._tryParseSmi
-    int.sign
-    int.>>
-    Object.noSuchMethod
-    num.toStringAsPrecision
-    int.modInverse
-    int.floorToDouble
-    Object._identityHashCode
-    num.>
-    int.roundToDouble
-    int.round
-    int._maxInt64
-    int.floor
-    num.compareTo
-    num.Object.hashCode%num.hashCode
-    num._truncDivFromInteger
-    int.truncate
-    int.^
-    int._shlFromInteger
-    int.&
-    num.-
-    Object._simpleInstanceOfFalse
-    num._greaterThanFromInteger
-    int.bitLength
-    int.ceilToDouble
-    int.modPow
-    int.isOdd
-    int._bitAndFromInteger
-    Object._simpleInstanceOfTrue
-    num.Object.==%num.==
-    int._bitOrFromInteger
-    int.truncateToDouble
-    int._bitXorFromInteger
-    int.parse
-    int.tryParse
-    num.toStringAsFixed
-    num._remainderFromInteger
-    int._parse
-    num.*
-    int.~
-  interfaceSetters:
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline.expect
index e101817..b63fd0c 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 class B {
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline_modelled.expect
index 5bade16..11118cd 100644
--- a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 library test;
 
 abstract class C extends B implements I {}
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.strong.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.strong.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.outline.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.outline.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.strong.transformed.expect b/pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.strong.transformed.expect
rename to pkg/front_end/testcases/runtime_checks_new/stub_from_interface_covariant_from_super.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart
index 15f76e8..eede9ad 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 import 'dart:async' show FutureOr;
 
 import 'dart:collection' show LinkedHashMap, LinkedHashSet;
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.textual_outline.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.textual_outline.expect
index 183ae0c..e19adfd 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async' show FutureOr;
 import 'dart:collection' show LinkedHashMap, LinkedHashSet;
 
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.textual_outline_modelled.expect
index cd5d4f6..b6343b9 100644
--- a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.textual_outline_modelled.expect
+++ b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.textual_outline_modelled.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 import 'dart:async' show FutureOr;
 import 'dart:collection' show LinkedHashMap, LinkedHashSet;
 
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.strong.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/set_literals/disambiguation_rule.dart.strong.expect
rename to pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.expect
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.outline.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/set_literals/disambiguation_rule.dart.outline.expect
rename to pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.strong.transformed.expect b/pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/set_literals/disambiguation_rule.dart.strong.transformed.expect
rename to pkg/front_end/testcases/set_literals/disambiguation_rule.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/set_literals/folder.options b/pkg/front_end/testcases/set_literals/folder.options
index dbc148e..e69de29 100644
--- a/pkg/front_end/testcases/set_literals/folder.options
+++ b/pkg/front_end/testcases/set_literals/folder.options
@@ -1 +0,0 @@
---enable-experiment=no-non-nullable
\ No newline at end of file
diff --git a/pkg/front_end/testcases/static_field_lowering/enum.dart.strong.expect b/pkg/front_end/testcases/static_field_lowering/enum.dart.strong.expect
new file mode 100644
index 0000000..45171d4
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/enum.dart.strong.expect
@@ -0,0 +1,33 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*isEnum*/  {
+  final field core::int index;
+  final field core::String _name;
+  static const field core::List<self::A> values = #C7;
+  static const field self::A a = #C3;
+  static const field self::A b = #C6;
+  const constructor •(core::int index, core::String _name) → self::A
+    : self::A::index = index, self::A::_name = _name, super core::Object::•()
+    ;
+  method toString() → core::String
+    return this.{self::A::_name};
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "A.a"
+  #C3 = self::A {index:#C1, _name:#C2}
+  #C4 = 1
+  #C5 = "A.b"
+  #C6 = self::A {index:#C4, _name:#C5}
+  #C7 = <self::A>[#C3, #C6]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///enum.dart:
+- A. (from org-dartlang-testcase:///enum.dart:5:6)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
diff --git a/pkg/front_end/testcases/static_field_lowering/enum.dart.strong.transformed.expect b/pkg/front_end/testcases/static_field_lowering/enum.dart.strong.transformed.expect
new file mode 100644
index 0000000..45171d4
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/enum.dart.strong.transformed.expect
@@ -0,0 +1,33 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*isEnum*/  {
+  final field core::int index;
+  final field core::String _name;
+  static const field core::List<self::A> values = #C7;
+  static const field self::A a = #C3;
+  static const field self::A b = #C6;
+  const constructor •(core::int index, core::String _name) → self::A
+    : self::A::index = index, self::A::_name = _name, super core::Object::•()
+    ;
+  method toString() → core::String
+    return this.{self::A::_name};
+}
+static method main() → dynamic {}
+
+constants  {
+  #C1 = 0
+  #C2 = "A.a"
+  #C3 = self::A {index:#C1, _name:#C2}
+  #C4 = 1
+  #C5 = "A.b"
+  #C6 = self::A {index:#C4, _name:#C5}
+  #C7 = <self::A>[#C3, #C6]
+}
+
+
+Constructor coverage from constants:
+org-dartlang-testcase:///enum.dart:
+- A. (from org-dartlang-testcase:///enum.dart:5:6)
+- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart:25:9)
diff --git a/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.outline.expect b/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.outline.expect
new file mode 100644
index 0000000..9243372
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/enum.dart.weak.outline.expect
@@ -0,0 +1,25 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object /*isEnum*/  {
+  final field core::int index;
+  final field core::String _name;
+  static const field core::List<self::A> values = const <self::A>[self::A::a, self::A::b];
+  static const field self::A a = const self::A::•(0, "A.a");
+  static const field self::A b = const self::A::•(1, "A.b");
+  const constructor •(core::int index, core::String _name) → self::A
+    : self::A::index = index, self::A::_name = _name, super core::Object::•()
+    ;
+  method toString() → core::String
+    return this.{self::A::_name};
+}
+static method main() → dynamic
+  ;
+
+
+Extra constant evaluation status:
+Evaluated: ListLiteral @ org-dartlang-testcase:///enum.dart:5:6 -> ListConstant(const <A*>[const A{A.index: 0, A._name: "A.a"}, const A{A.index: 1, A._name: "A.b"}])
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///enum.dart:6:3 -> InstanceConstant(const A{A.index: 0, A._name: "A.a"})
+Evaluated: ConstructorInvocation @ org-dartlang-testcase:///enum.dart:7:3 -> InstanceConstant(const A{A.index: 1, A._name: "A.b"})
+Extra constant evaluation: evaluated: 7, effectively constant: 3
diff --git a/pkg/front_end/testcases/static_field_lowering/folder.options b/pkg/front_end/testcases/static_field_lowering/folder.options
index c55c0d4..96868a3 100644
--- a/pkg/front_end/testcases/static_field_lowering/folder.options
+++ b/pkg/front_end/testcases/static_field_lowering/folder.options
@@ -1,2 +1 @@
---enable-experiment=non-nullable
 --force-static-field-lowering
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect
new file mode 100644
index 0000000..5a2a090
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect
@@ -0,0 +1,240 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+class Class extends core::Object {
+  static const field core::int staticConstField = #C1;
+  static field core::int? staticFieldWithoutInitializer = null;
+  field core::int nonNullableInstanceFieldWithInitializer = self::init<core::int>(55);
+  field core::int? nullableInstanceFieldWithInitializer = self::init<core::int?>(17);
+  static field core::int? _#nonNullableStaticFieldWithInitializer1 = null;
+  static field core::int? _#nullableStaticFieldWithInitializer1 = null;
+  static field core::bool _#nullableStaticFieldWithInitializer1#isSet = false;
+  static field core::int? _#nonNullableStaticFieldWithInitializer2 = null;
+  static field core::int? _#nullableStaticFieldWithInitializer2 = null;
+  static field core::bool _#nullableStaticFieldWithInitializer2#isSet = false;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer1 = null;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer1 = null;
+  static field core::bool _#nullableStaticFinalFieldWithInitializer1#isSet = false;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer2Init = null;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer2 = null;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer2Init = null;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer2 = null;
+  static field core::bool _#nullableStaticFinalFieldWithInitializer2#isSet = false;
+  synthetic constructor •() → self::Class
+    : super core::Object::•()
+    ;
+  static get nonNullableStaticFieldWithInitializer1() → core::int
+    return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1.==(null) ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int};
+  static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void
+    self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
+  static get nullableStaticFieldWithInitializer1() → core::int? {
+    if(!self::Class::_#nullableStaticFieldWithInitializer1#isSet) {
+      self::Class::_#nullableStaticFieldWithInitializer1 = self::init<core::int?>(17);
+      self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
+    }
+    return self::Class::_#nullableStaticFieldWithInitializer1;
+  }
+  static set nullableStaticFieldWithInitializer1(core::int? #t3) → void {
+    self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
+    self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
+  }
+  static get nonNullableStaticFieldWithInitializer2() → core::int
+    return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4.==(null) ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t4{core::int};
+  static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void
+    self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
+  static get nullableStaticFieldWithInitializer2() → core::int? {
+    if(!self::Class::_#nullableStaticFieldWithInitializer2#isSet) {
+      self::Class::_#nullableStaticFieldWithInitializer2 = self::init<core::int?>(17);
+      self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
+    }
+    return self::Class::_#nullableStaticFieldWithInitializer2;
+  }
+  static set nullableStaticFieldWithInitializer2(core::int? #t6) → void {
+    self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
+    self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
+  }
+  static get nonNullableStaticFinalFieldWithInitializer1() → core::int
+    return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t7.==(null) ?{core::int} let final core::int #t8 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t7{core::int};
+  static get nullableStaticFinalFieldWithInitializer1() → core::int? {
+    if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
+      final core::int? #t9 = self::init<core::int?>(19);
+      if(self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet)
+        throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer1");
+      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t9;
+      self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet = true;
+    }
+    return self::Class::_#nullableStaticFinalFieldWithInitializer1;
+  }
+  static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int
+    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t10{core::int};
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void
+    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
+  static get nonNullableStaticFinalFieldWithInitializer2() → core::int
+    return let final core::int? #t12 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t12.==(null) ?{core::int} let final core::int #t13 = (let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t15 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t14.{core::num::+}(1) in #t14).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1) : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t13 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t12{core::int};
+  static get nullableStaticFinalFieldWithInitializer2Init() → core::int
+    return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16.==(null) ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t16{core::int};
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void
+    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
+  static get nullableStaticFinalFieldWithInitializer2() → core::int? {
+    if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
+      final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1) in #t19).{core::num::==}(0) ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1) : 32;
+      if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
+        throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
+      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
+      self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet = true;
+    }
+    return self::Class::_#nullableStaticFinalFieldWithInitializer2;
+  }
+}
+static field dynamic lastInit;
+static const field core::int constTopLevelField = #C2;
+static field core::int? topLevelFieldWithoutInitializer;
+static field core::int? _#nonNullableTopLevelFieldWithInitializer1 = null;
+static field core::int? _#nullableTopLevelFieldWithInitializer = null;
+static field core::bool _#nullableTopLevelFieldWithInitializer#isSet = false;
+static field core::int? _#nonNullableTopLevelFieldWithInitializer2 = null;
+static field core::int? _#nullableTopLevelFieldWithInitializer2 = null;
+static field core::bool _#nullableTopLevelFieldWithInitializer2#isSet = false;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer1 = null;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer1 = null;
+static field core::bool _#nullableFinalTopLevelFieldWithInitializer1#isSet = false;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer2Init = null;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer2 = null;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer2Init = null;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer2 = null;
+static field core::bool _#nullableFinalTopLevelFieldWithInitializer2#isSet = false;
+static method init<T extends core::Object? = dynamic>(self::init::T% value) → self::init::T% {
+  self::lastInit = value;
+  return value;
+}
+static get nonNullableTopLevelFieldWithInitializer1() → core::int
+  return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t21{core::int};
+static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void
+  self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
+static get nullableTopLevelFieldWithInitializer() → core::int? {
+  if(!self::_#nullableTopLevelFieldWithInitializer#isSet) {
+    self::_#nullableTopLevelFieldWithInitializer = self::init<core::int?>(123);
+    self::_#nullableTopLevelFieldWithInitializer#isSet = true;
+  }
+  return self::_#nullableTopLevelFieldWithInitializer;
+}
+static set nullableTopLevelFieldWithInitializer(core::int? #t23) → void {
+  self::_#nullableTopLevelFieldWithInitializer#isSet = true;
+  self::_#nullableTopLevelFieldWithInitializer = #t23;
+}
+static get nonNullableTopLevelFieldWithInitializer2() → core::int
+  return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t24{core::int};
+static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void
+  self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
+static get nullableTopLevelFieldWithInitializer2() → core::int? {
+  if(!self::_#nullableTopLevelFieldWithInitializer2#isSet) {
+    self::_#nullableTopLevelFieldWithInitializer2 = self::init<core::int?>(123);
+    self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
+  }
+  return self::_#nullableTopLevelFieldWithInitializer2;
+}
+static set nullableTopLevelFieldWithInitializer2(core::int? #t26) → void {
+  self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
+  self::_#nullableTopLevelFieldWithInitializer2 = #t26;
+}
+static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int
+  return let final core::int? #t27 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t27.==(null) ?{core::int} let final core::int #t28 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t28 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t27{core::int};
+static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
+  if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
+    final core::int? #t29 = self::init<core::int?>(32);
+    if(self::_#nullableFinalTopLevelFieldWithInitializer1#isSet)
+      throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer1");
+    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t29;
+    self::_#nullableFinalTopLevelFieldWithInitializer1#isSet = true;
+  }
+  return self::_#nullableFinalTopLevelFieldWithInitializer1;
+}
+static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int
+  return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t30{core::int};
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void
+  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
+static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int
+  return let final core::int? #t32 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t32.==(null) ?{core::int} let final core::int #t33 = (let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t35 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t34.{core::num::+}(1) in #t34).{core::num::==}(0) ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t33 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t32{core::int};
+static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int
+  return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36.==(null) ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t36{core::int};
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void
+  self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
+static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
+  if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
+    final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1) in #t39).{core::num::==}(0) ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1) : 32;
+    if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
+      throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
+    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
+    self::_#nullableFinalTopLevelFieldWithInitializer2#isSet = true;
+  }
+  return self::_#nullableFinalTopLevelFieldWithInitializer2;
+}
+static method main() → dynamic {
+  self::expect(null, self::lastInit);
+  self::expect(null, self::topLevelFieldWithoutInitializer);
+  self::expect(324, #C2);
+  self::expect(null, self::Class::staticFieldWithoutInitializer);
+  self::expect(123, #C1);
+  self::expect(42, self::nonNullableTopLevelFieldWithInitializer1);
+  self::expect(42, self::lastInit);
+  self::expect(123, self::nullableTopLevelFieldWithInitializer);
+  self::expect(123, self::lastInit);
+  self::nonNullableTopLevelFieldWithInitializer2 = 56;
+  self::expect(123, self::lastInit);
+  self::expect(56, self::nonNullableTopLevelFieldWithInitializer2);
+  self::expect(123, self::lastInit);
+  self::nullableTopLevelFieldWithInitializer2 = 7;
+  self::expect(123, self::lastInit);
+  self::expect(7, self::nullableTopLevelFieldWithInitializer2);
+  self::expect(123, self::lastInit);
+  self::expect(87, self::nonNullableFinalTopLevelFieldWithInitializer1);
+  self::expect(87, self::lastInit);
+  self::expect(32, self::nullableFinalTopLevelFieldWithInitializer1);
+  self::expect(32, self::lastInit);
+  self::throws(() → core::int => self::nonNullableFinalTopLevelFieldWithInitializer2, "Read nonNullableFinalTopLevelFieldWithInitializer2");
+  self::throws(() → core::int? => self::nullableFinalTopLevelFieldWithInitializer2, "Read nullableFinalTopLevelFieldWithInitializer2");
+  self::expect(55, self::Class::nonNullableStaticFieldWithInitializer1);
+  self::expect(55, self::lastInit);
+  self::expect(17, self::Class::nullableStaticFieldWithInitializer1);
+  self::expect(17, self::lastInit);
+  self::Class::nonNullableStaticFieldWithInitializer2 = 63;
+  self::expect(17, self::lastInit);
+  self::expect(63, self::Class::nonNullableStaticFieldWithInitializer2);
+  self::expect(17, self::lastInit);
+  self::Class::nullableStaticFieldWithInitializer2 = 89;
+  self::expect(17, self::lastInit);
+  self::expect(89, self::Class::nullableStaticFieldWithInitializer2);
+  self::expect(17, self::lastInit);
+  self::expect(73, self::Class::nonNullableStaticFinalFieldWithInitializer1);
+  self::expect(73, self::lastInit);
+  self::expect(19, self::Class::nullableStaticFinalFieldWithInitializer1);
+  self::expect(19, self::lastInit);
+  self::throws(() → core::int => self::Class::nonNullableStaticFinalFieldWithInitializer2, "Read nonNullableStaticFinalFieldWithInitializer2");
+  self::throws(() → core::int? => self::Class::nullableStaticFinalFieldWithInitializer2, "Read nullableStaticFinalFieldWithInitializer2");
+  self::Class c = new self::Class::•();
+  self::expect(17, self::lastInit);
+  self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer});
+  self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer});
+}
+static method expect(dynamic expected, dynamic actual) → dynamic {
+  if(!expected.{core::Object::==}(actual))
+    throw "Expected ${expected}, actual ${actual}";
+}
+static method throws(() → dynamic f, core::String message) → dynamic {
+  dynamic value;
+  try {
+    value = f.call();
+  }
+  on core::Error catch(final core::Error e) {
+    core::print(e);
+    return;
+  }
+  throw "${message}: ${value}";
+}
+
+constants  {
+  #C1 = 123
+  #C2 = 324
+}
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect
new file mode 100644
index 0000000..5a2a090
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect
@@ -0,0 +1,240 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:_internal" as _in;
+
+class Class extends core::Object {
+  static const field core::int staticConstField = #C1;
+  static field core::int? staticFieldWithoutInitializer = null;
+  field core::int nonNullableInstanceFieldWithInitializer = self::init<core::int>(55);
+  field core::int? nullableInstanceFieldWithInitializer = self::init<core::int?>(17);
+  static field core::int? _#nonNullableStaticFieldWithInitializer1 = null;
+  static field core::int? _#nullableStaticFieldWithInitializer1 = null;
+  static field core::bool _#nullableStaticFieldWithInitializer1#isSet = false;
+  static field core::int? _#nonNullableStaticFieldWithInitializer2 = null;
+  static field core::int? _#nullableStaticFieldWithInitializer2 = null;
+  static field core::bool _#nullableStaticFieldWithInitializer2#isSet = false;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer1 = null;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer1 = null;
+  static field core::bool _#nullableStaticFinalFieldWithInitializer1#isSet = false;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer2Init = null;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer2 = null;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer2Init = null;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer2 = null;
+  static field core::bool _#nullableStaticFinalFieldWithInitializer2#isSet = false;
+  synthetic constructor •() → self::Class
+    : super core::Object::•()
+    ;
+  static get nonNullableStaticFieldWithInitializer1() → core::int
+    return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1.==(null) ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int};
+  static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void
+    self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
+  static get nullableStaticFieldWithInitializer1() → core::int? {
+    if(!self::Class::_#nullableStaticFieldWithInitializer1#isSet) {
+      self::Class::_#nullableStaticFieldWithInitializer1 = self::init<core::int?>(17);
+      self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
+    }
+    return self::Class::_#nullableStaticFieldWithInitializer1;
+  }
+  static set nullableStaticFieldWithInitializer1(core::int? #t3) → void {
+    self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
+    self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
+  }
+  static get nonNullableStaticFieldWithInitializer2() → core::int
+    return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4.==(null) ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t4{core::int};
+  static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void
+    self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
+  static get nullableStaticFieldWithInitializer2() → core::int? {
+    if(!self::Class::_#nullableStaticFieldWithInitializer2#isSet) {
+      self::Class::_#nullableStaticFieldWithInitializer2 = self::init<core::int?>(17);
+      self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
+    }
+    return self::Class::_#nullableStaticFieldWithInitializer2;
+  }
+  static set nullableStaticFieldWithInitializer2(core::int? #t6) → void {
+    self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
+    self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
+  }
+  static get nonNullableStaticFinalFieldWithInitializer1() → core::int
+    return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t7.==(null) ?{core::int} let final core::int #t8 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t7{core::int};
+  static get nullableStaticFinalFieldWithInitializer1() → core::int? {
+    if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
+      final core::int? #t9 = self::init<core::int?>(19);
+      if(self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet)
+        throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer1");
+      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t9;
+      self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet = true;
+    }
+    return self::Class::_#nullableStaticFinalFieldWithInitializer1;
+  }
+  static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int
+    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t10{core::int};
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void
+    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
+  static get nonNullableStaticFinalFieldWithInitializer2() → core::int
+    return let final core::int? #t12 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t12.==(null) ?{core::int} let final core::int #t13 = (let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t15 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t14.{core::num::+}(1) in #t14).{core::num::==}(0) ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1) : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2.==(null) ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t13 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t12{core::int};
+  static get nullableStaticFinalFieldWithInitializer2Init() → core::int
+    return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16.==(null) ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t16{core::int};
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void
+    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
+  static get nullableStaticFinalFieldWithInitializer2() → core::int? {
+    if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
+      final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1) in #t19).{core::num::==}(0) ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1) : 32;
+      if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
+        throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
+      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
+      self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet = true;
+    }
+    return self::Class::_#nullableStaticFinalFieldWithInitializer2;
+  }
+}
+static field dynamic lastInit;
+static const field core::int constTopLevelField = #C2;
+static field core::int? topLevelFieldWithoutInitializer;
+static field core::int? _#nonNullableTopLevelFieldWithInitializer1 = null;
+static field core::int? _#nullableTopLevelFieldWithInitializer = null;
+static field core::bool _#nullableTopLevelFieldWithInitializer#isSet = false;
+static field core::int? _#nonNullableTopLevelFieldWithInitializer2 = null;
+static field core::int? _#nullableTopLevelFieldWithInitializer2 = null;
+static field core::bool _#nullableTopLevelFieldWithInitializer2#isSet = false;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer1 = null;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer1 = null;
+static field core::bool _#nullableFinalTopLevelFieldWithInitializer1#isSet = false;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer2Init = null;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer2 = null;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer2Init = null;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer2 = null;
+static field core::bool _#nullableFinalTopLevelFieldWithInitializer2#isSet = false;
+static method init<T extends core::Object? = dynamic>(self::init::T% value) → self::init::T% {
+  self::lastInit = value;
+  return value;
+}
+static get nonNullableTopLevelFieldWithInitializer1() → core::int
+  return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t21{core::int};
+static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void
+  self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
+static get nullableTopLevelFieldWithInitializer() → core::int? {
+  if(!self::_#nullableTopLevelFieldWithInitializer#isSet) {
+    self::_#nullableTopLevelFieldWithInitializer = self::init<core::int?>(123);
+    self::_#nullableTopLevelFieldWithInitializer#isSet = true;
+  }
+  return self::_#nullableTopLevelFieldWithInitializer;
+}
+static set nullableTopLevelFieldWithInitializer(core::int? #t23) → void {
+  self::_#nullableTopLevelFieldWithInitializer#isSet = true;
+  self::_#nullableTopLevelFieldWithInitializer = #t23;
+}
+static get nonNullableTopLevelFieldWithInitializer2() → core::int
+  return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24.==(null) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t24{core::int};
+static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void
+  self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
+static get nullableTopLevelFieldWithInitializer2() → core::int? {
+  if(!self::_#nullableTopLevelFieldWithInitializer2#isSet) {
+    self::_#nullableTopLevelFieldWithInitializer2 = self::init<core::int?>(123);
+    self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
+  }
+  return self::_#nullableTopLevelFieldWithInitializer2;
+}
+static set nullableTopLevelFieldWithInitializer2(core::int? #t26) → void {
+  self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
+  self::_#nullableTopLevelFieldWithInitializer2 = #t26;
+}
+static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int
+  return let final core::int? #t27 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t27.==(null) ?{core::int} let final core::int #t28 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t28 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t27{core::int};
+static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
+  if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
+    final core::int? #t29 = self::init<core::int?>(32);
+    if(self::_#nullableFinalTopLevelFieldWithInitializer1#isSet)
+      throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer1");
+    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t29;
+    self::_#nullableFinalTopLevelFieldWithInitializer1#isSet = true;
+  }
+  return self::_#nullableFinalTopLevelFieldWithInitializer1;
+}
+static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int
+  return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t30{core::int};
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void
+  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
+static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int
+  return let final core::int? #t32 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t32.==(null) ?{core::int} let final core::int #t33 = (let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t35 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t34.{core::num::+}(1) in #t34).{core::num::==}(0) ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2.==(null) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t33 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t32{core::int};
+static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int
+  return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36.==(null) ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t36{core::int};
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void
+  self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
+static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
+  if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
+    final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1) in #t39).{core::num::==}(0) ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1) : 32;
+    if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
+      throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
+    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
+    self::_#nullableFinalTopLevelFieldWithInitializer2#isSet = true;
+  }
+  return self::_#nullableFinalTopLevelFieldWithInitializer2;
+}
+static method main() → dynamic {
+  self::expect(null, self::lastInit);
+  self::expect(null, self::topLevelFieldWithoutInitializer);
+  self::expect(324, #C2);
+  self::expect(null, self::Class::staticFieldWithoutInitializer);
+  self::expect(123, #C1);
+  self::expect(42, self::nonNullableTopLevelFieldWithInitializer1);
+  self::expect(42, self::lastInit);
+  self::expect(123, self::nullableTopLevelFieldWithInitializer);
+  self::expect(123, self::lastInit);
+  self::nonNullableTopLevelFieldWithInitializer2 = 56;
+  self::expect(123, self::lastInit);
+  self::expect(56, self::nonNullableTopLevelFieldWithInitializer2);
+  self::expect(123, self::lastInit);
+  self::nullableTopLevelFieldWithInitializer2 = 7;
+  self::expect(123, self::lastInit);
+  self::expect(7, self::nullableTopLevelFieldWithInitializer2);
+  self::expect(123, self::lastInit);
+  self::expect(87, self::nonNullableFinalTopLevelFieldWithInitializer1);
+  self::expect(87, self::lastInit);
+  self::expect(32, self::nullableFinalTopLevelFieldWithInitializer1);
+  self::expect(32, self::lastInit);
+  self::throws(() → core::int => self::nonNullableFinalTopLevelFieldWithInitializer2, "Read nonNullableFinalTopLevelFieldWithInitializer2");
+  self::throws(() → core::int? => self::nullableFinalTopLevelFieldWithInitializer2, "Read nullableFinalTopLevelFieldWithInitializer2");
+  self::expect(55, self::Class::nonNullableStaticFieldWithInitializer1);
+  self::expect(55, self::lastInit);
+  self::expect(17, self::Class::nullableStaticFieldWithInitializer1);
+  self::expect(17, self::lastInit);
+  self::Class::nonNullableStaticFieldWithInitializer2 = 63;
+  self::expect(17, self::lastInit);
+  self::expect(63, self::Class::nonNullableStaticFieldWithInitializer2);
+  self::expect(17, self::lastInit);
+  self::Class::nullableStaticFieldWithInitializer2 = 89;
+  self::expect(17, self::lastInit);
+  self::expect(89, self::Class::nullableStaticFieldWithInitializer2);
+  self::expect(17, self::lastInit);
+  self::expect(73, self::Class::nonNullableStaticFinalFieldWithInitializer1);
+  self::expect(73, self::lastInit);
+  self::expect(19, self::Class::nullableStaticFinalFieldWithInitializer1);
+  self::expect(19, self::lastInit);
+  self::throws(() → core::int => self::Class::nonNullableStaticFinalFieldWithInitializer2, "Read nonNullableStaticFinalFieldWithInitializer2");
+  self::throws(() → core::int? => self::Class::nullableStaticFinalFieldWithInitializer2, "Read nullableStaticFinalFieldWithInitializer2");
+  self::Class c = new self::Class::•();
+  self::expect(17, self::lastInit);
+  self::expect(55, c.{self::Class::nonNullableInstanceFieldWithInitializer});
+  self::expect(17, c.{self::Class::nullableInstanceFieldWithInitializer});
+}
+static method expect(dynamic expected, dynamic actual) → dynamic {
+  if(!expected.{core::Object::==}(actual))
+    throw "Expected ${expected}, actual ${actual}";
+}
+static method throws(() → dynamic f, core::String message) → dynamic {
+  dynamic value;
+  try {
+    value = f.call();
+  }
+  on core::Error catch(final core::Error e) {
+    core::print(e);
+    return;
+  }
+  throw "${message}: ${value}";
+}
+
+constants  {
+  #C1 = 123
+  #C2 = 324
+}
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.outline.expect
new file mode 100644
index 0000000..0a31045
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.outline.expect
@@ -0,0 +1,95 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static const field core::int staticConstField = 123;
+  static field core::int? staticFieldWithoutInitializer;
+  field core::int nonNullableInstanceFieldWithInitializer;
+  field core::int? nullableInstanceFieldWithInitializer;
+  static field core::int? _#nonNullableStaticFieldWithInitializer1;
+  static field core::bool _#nonNullableStaticFieldWithInitializer1#isSet;
+  static field core::int? _#nullableStaticFieldWithInitializer1;
+  static field core::bool _#nullableStaticFieldWithInitializer1#isSet;
+  static field core::int? _#nonNullableStaticFieldWithInitializer2;
+  static field core::bool _#nonNullableStaticFieldWithInitializer2#isSet;
+  static field core::int? _#nullableStaticFieldWithInitializer2;
+  static field core::bool _#nullableStaticFieldWithInitializer2#isSet;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer1;
+  static field core::bool _#nonNullableStaticFinalFieldWithInitializer1#isSet;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer1;
+  static field core::bool _#nullableStaticFinalFieldWithInitializer1#isSet;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer2Init;
+  static field core::bool _#nonNullableStaticFinalFieldWithInitializer2Init#isSet;
+  static field core::int? _#nonNullableStaticFinalFieldWithInitializer2;
+  static field core::bool _#nonNullableStaticFinalFieldWithInitializer2#isSet;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer2Init;
+  static field core::bool _#nullableStaticFinalFieldWithInitializer2Init#isSet;
+  static field core::int? _#nullableStaticFinalFieldWithInitializer2;
+  static field core::bool _#nullableStaticFinalFieldWithInitializer2#isSet;
+  synthetic constructor •() → self::Class
+    ;
+  static get nonNullableStaticFieldWithInitializer1() → core::int;
+  static set nonNullableStaticFieldWithInitializer1(core::int #t1) → void;
+  static get nullableStaticFieldWithInitializer1() → core::int?;
+  static set nullableStaticFieldWithInitializer1(core::int? #t2) → void;
+  static get nonNullableStaticFieldWithInitializer2() → core::int;
+  static set nonNullableStaticFieldWithInitializer2(core::int #t3) → void;
+  static get nullableStaticFieldWithInitializer2() → core::int?;
+  static set nullableStaticFieldWithInitializer2(core::int? #t4) → void;
+  static get nonNullableStaticFinalFieldWithInitializer1() → core::int;
+  static get nullableStaticFinalFieldWithInitializer1() → core::int?;
+  static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int;
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t5) → void;
+  static get nonNullableStaticFinalFieldWithInitializer2() → core::int;
+  static get nullableStaticFinalFieldWithInitializer2Init() → core::int;
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t6) → void;
+  static get nullableStaticFinalFieldWithInitializer2() → core::int?;
+}
+static field dynamic lastInit;
+static const field core::int constTopLevelField = 324;
+static field core::int? topLevelFieldWithoutInitializer;
+static field core::int? _#nonNullableTopLevelFieldWithInitializer1;
+static field core::bool _#nonNullableTopLevelFieldWithInitializer1#isSet;
+static field core::int? _#nullableTopLevelFieldWithInitializer;
+static field core::bool _#nullableTopLevelFieldWithInitializer#isSet;
+static field core::int? _#nonNullableTopLevelFieldWithInitializer2;
+static field core::bool _#nonNullableTopLevelFieldWithInitializer2#isSet;
+static field core::int? _#nullableTopLevelFieldWithInitializer2;
+static field core::bool _#nullableTopLevelFieldWithInitializer2#isSet;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer1;
+static field core::bool _#nonNullableFinalTopLevelFieldWithInitializer1#isSet;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer1;
+static field core::bool _#nullableFinalTopLevelFieldWithInitializer1#isSet;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer2Init;
+static field core::bool _#nonNullableFinalTopLevelFieldWithInitializer2Init#isSet;
+static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer2;
+static field core::bool _#nonNullableFinalTopLevelFieldWithInitializer2#isSet;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer2Init;
+static field core::bool _#nullableFinalTopLevelFieldWithInitializer2Init#isSet;
+static field core::int? _#nullableFinalTopLevelFieldWithInitializer2;
+static field core::bool _#nullableFinalTopLevelFieldWithInitializer2#isSet;
+static method init<T extends core::Object? = dynamic>(self::init::T% value) → self::init::T%
+  ;
+static get nonNullableTopLevelFieldWithInitializer1() → core::int;
+static set nonNullableTopLevelFieldWithInitializer1(core::int #t7) → void;
+static get nullableTopLevelFieldWithInitializer() → core::int?;
+static set nullableTopLevelFieldWithInitializer(core::int? #t8) → void;
+static get nonNullableTopLevelFieldWithInitializer2() → core::int;
+static set nonNullableTopLevelFieldWithInitializer2(core::int #t9) → void;
+static get nullableTopLevelFieldWithInitializer2() → core::int?;
+static set nullableTopLevelFieldWithInitializer2(core::int? #t10) → void;
+static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int;
+static get nullableFinalTopLevelFieldWithInitializer1() → core::int?;
+static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int;
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t11) → void;
+static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int;
+static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int;
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t12) → void;
+static get nullableFinalTopLevelFieldWithInitializer2() → core::int?;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() → dynamic f, core::String message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.expect b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.expect
new file mode 100644
index 0000000..144aafa
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.expect
@@ -0,0 +1,94 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/static_field_lowering/opt_out.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
+// // @dart=2.8
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static const field core::int* staticConstField = #C1;
+  field core::int* instanceFieldWithInitializer = self::init<core::int*>(55);
+  static field core::int* staticFieldWithoutInitializer = null;
+  static field core::int* staticFieldWithInitializer1 = self::init<core::int*>(55);
+  static field core::int* staticFieldWithInitializer2 = self::init<core::int*>(55);
+  static final field core::int* staticFinalFieldWithInitializer1 = self::init<core::int*>(73);
+  static field core::int* staticFinalFieldWithInitializer2Init = 0;
+  static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1) in #t1).{core::num::==}(0) ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1) : 87;
+  synthetic constructor •() → self::Class*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field dynamic lastInit;
+static const field core::int* constTopLevelField = #C2;
+static field core::int* topLevelFieldWithoutInitializer;
+static field core::int* topLevelFieldWithInitializer1 = self::init<core::int*>(42);
+static field core::int* topLevelFieldWithInitializer2 = self::init<core::int*>(42);
+static final field core::int* finalTopLevelFieldWithInitializer1 = self::init<core::int*>(87);
+static field core::int* finalTopLevelFieldWithInitializer2Init = 0;
+static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87;
+static method init<T extends core::Object* = dynamic>(self::init::T* value) → self::init::T* {
+  self::lastInit = value;
+  return value;
+}
+static method main() → dynamic {
+  self::expect(null, self::lastInit);
+  self::expect(null, self::topLevelFieldWithoutInitializer);
+  self::expect(324, #C2);
+  self::expect(null, self::Class::staticFieldWithoutInitializer);
+  self::expect(123, #C1);
+  self::expect(42, self::topLevelFieldWithInitializer1);
+  self::expect(42, self::lastInit);
+  self::topLevelFieldWithInitializer2 = 56;
+  self::expect(42, self::lastInit);
+  self::expect(56, self::topLevelFieldWithInitializer2);
+  self::expect(42, self::lastInit);
+  self::expect(87, self::finalTopLevelFieldWithInitializer1);
+  self::expect(87, self::lastInit);
+  self::throws(() → core::int* => self::finalTopLevelFieldWithInitializer2, "Read finalTopLevelFieldWithInitializer2");
+  self::expect(55, self::Class::staticFieldWithInitializer1);
+  self::expect(55, self::lastInit);
+  self::Class::staticFieldWithInitializer2 = 63;
+  self::expect(55, self::lastInit);
+  self::expect(63, self::Class::staticFieldWithInitializer2);
+  self::expect(55, self::lastInit);
+  self::expect(73, self::Class::staticFinalFieldWithInitializer1);
+  self::expect(73, self::lastInit);
+  self::throws(() → core::int* => self::Class::staticFinalFieldWithInitializer2, "Read staticFinalFieldWithInitializer2");
+  self::Class* c = new self::Class::•();
+  self::expect(55, self::lastInit);
+  self::expect(55, c.{self::Class::instanceFieldWithInitializer});
+}
+static method expect(dynamic expected, dynamic actual) → dynamic {
+  if(!expected.{core::Object::==}(actual))
+    throw "Expected ${expected}, actual ${actual}";
+}
+static method throws(() →* dynamic f, core::String* message) → dynamic {
+  dynamic value;
+  try {
+    value = f.call();
+  }
+  on dynamic catch(final dynamic e) {
+    core::print(e);
+    return;
+  }
+  throw "${message}: ${value}";
+}
+
+constants  {
+  #C1 = 123
+  #C2 = 324
+}
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.transformed.expect b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.transformed.expect
new file mode 100644
index 0000000..144aafa
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.strong.transformed.expect
@@ -0,0 +1,94 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/static_field_lowering/opt_out.dart:5:1: Error: A library can't opt out of null safety by default, when using sound null safety.
+// // @dart=2.8
+// ^^^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static const field core::int* staticConstField = #C1;
+  field core::int* instanceFieldWithInitializer = self::init<core::int*>(55);
+  static field core::int* staticFieldWithoutInitializer = null;
+  static field core::int* staticFieldWithInitializer1 = self::init<core::int*>(55);
+  static field core::int* staticFieldWithInitializer2 = self::init<core::int*>(55);
+  static final field core::int* staticFinalFieldWithInitializer1 = self::init<core::int*>(73);
+  static field core::int* staticFinalFieldWithInitializer2Init = 0;
+  static final field core::int* staticFinalFieldWithInitializer2 = (let final core::int* #t1 = self::Class::staticFinalFieldWithInitializer2Init in let final core::int* #t2 = self::Class::staticFinalFieldWithInitializer2Init = #t1.{core::num::+}(1) in #t1).{core::num::==}(0) ?{core::int*} self::Class::staticFinalFieldWithInitializer2.{core::num::+}(1) : 87;
+  synthetic constructor •() → self::Class*
+    : super core::Object::•()
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field dynamic lastInit;
+static const field core::int* constTopLevelField = #C2;
+static field core::int* topLevelFieldWithoutInitializer;
+static field core::int* topLevelFieldWithInitializer1 = self::init<core::int*>(42);
+static field core::int* topLevelFieldWithInitializer2 = self::init<core::int*>(42);
+static final field core::int* finalTopLevelFieldWithInitializer1 = self::init<core::int*>(87);
+static field core::int* finalTopLevelFieldWithInitializer2Init = 0;
+static final field core::int* finalTopLevelFieldWithInitializer2 = (let final core::int* #t3 = self::finalTopLevelFieldWithInitializer2Init in let final core::int* #t4 = self::finalTopLevelFieldWithInitializer2Init = #t3.{core::num::+}(1) in #t3).{core::num::==}(0) ?{core::int*} self::finalTopLevelFieldWithInitializer2.{core::num::+}(1) : 87;
+static method init<T extends core::Object* = dynamic>(self::init::T* value) → self::init::T* {
+  self::lastInit = value;
+  return value;
+}
+static method main() → dynamic {
+  self::expect(null, self::lastInit);
+  self::expect(null, self::topLevelFieldWithoutInitializer);
+  self::expect(324, #C2);
+  self::expect(null, self::Class::staticFieldWithoutInitializer);
+  self::expect(123, #C1);
+  self::expect(42, self::topLevelFieldWithInitializer1);
+  self::expect(42, self::lastInit);
+  self::topLevelFieldWithInitializer2 = 56;
+  self::expect(42, self::lastInit);
+  self::expect(56, self::topLevelFieldWithInitializer2);
+  self::expect(42, self::lastInit);
+  self::expect(87, self::finalTopLevelFieldWithInitializer1);
+  self::expect(87, self::lastInit);
+  self::throws(() → core::int* => self::finalTopLevelFieldWithInitializer2, "Read finalTopLevelFieldWithInitializer2");
+  self::expect(55, self::Class::staticFieldWithInitializer1);
+  self::expect(55, self::lastInit);
+  self::Class::staticFieldWithInitializer2 = 63;
+  self::expect(55, self::lastInit);
+  self::expect(63, self::Class::staticFieldWithInitializer2);
+  self::expect(55, self::lastInit);
+  self::expect(73, self::Class::staticFinalFieldWithInitializer1);
+  self::expect(73, self::lastInit);
+  self::throws(() → core::int* => self::Class::staticFinalFieldWithInitializer2, "Read staticFinalFieldWithInitializer2");
+  self::Class* c = new self::Class::•();
+  self::expect(55, self::lastInit);
+  self::expect(55, c.{self::Class::instanceFieldWithInitializer});
+}
+static method expect(dynamic expected, dynamic actual) → dynamic {
+  if(!expected.{core::Object::==}(actual))
+    throw "Expected ${expected}, actual ${actual}";
+}
+static method throws(() →* dynamic f, core::String* message) → dynamic {
+  dynamic value;
+  try {
+    value = f.call();
+  }
+  on dynamic catch(final dynamic e) {
+    core::print(e);
+    return;
+  }
+  throw "${message}: ${value}";
+}
+
+constants  {
+  #C1 = 123
+  #C2 = 324
+}
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.outline.expect
new file mode 100644
index 0000000..cd2533d
--- /dev/null
+++ b/pkg/front_end/testcases/static_field_lowering/opt_out.dart.weak.outline.expect
@@ -0,0 +1,42 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+class Class extends core::Object {
+  static const field core::int* staticConstField = 123;
+  field core::int* instanceFieldWithInitializer;
+  static field core::int* staticFieldWithoutInitializer;
+  static field core::int* staticFieldWithInitializer1;
+  static field core::int* staticFieldWithInitializer2;
+  static final field core::int* staticFinalFieldWithInitializer1;
+  static field core::int* staticFinalFieldWithInitializer2Init;
+  static final field core::int* staticFinalFieldWithInitializer2;
+  synthetic constructor •() → self::Class*
+    ;
+  abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode
+  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf
+  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf
+  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue
+  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse
+  abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::==
+  abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode
+  abstract member-signature method toString() → core::String*; -> core::Object::toString
+  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod
+  abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType
+}
+static field dynamic lastInit;
+static const field core::int* constTopLevelField = 324;
+static field core::int* topLevelFieldWithoutInitializer;
+static field core::int* topLevelFieldWithInitializer1;
+static field core::int* topLevelFieldWithInitializer2;
+static final field core::int* finalTopLevelFieldWithInitializer1;
+static field core::int* finalTopLevelFieldWithInitializer2Init;
+static final field core::int* finalTopLevelFieldWithInitializer2;
+static method init<T extends core::Object* = dynamic>(self::init::T* value) → self::init::T*
+  ;
+static method main() → dynamic
+  ;
+static method expect(dynamic expected, dynamic actual) → dynamic
+  ;
+static method throws(() →* dynamic f, core::String* message) → dynamic
+  ;
diff --git a/pkg/front_end/testcases/strong.status b/pkg/front_end/testcases/strong.status
index 06c1780..a696227 100644
--- a/pkg/front_end/testcases/strong.status
+++ b/pkg/front_end/testcases/strong.status
@@ -6,172 +6,6 @@
 # Kernel ASTs directly, that is, code in pkg/fasta/lib/src/kernel/ with
 # strong-mode enabled.
 
-# general/platform_invalid_uris/main: SemiFuzzFailure # semi fuzz fails but isn't currently enabled by default.
-# general/error_recovery/issue_39058.crash: SemiFuzzFailure # semi fuzz fails but isn't currently enabled by default.
-# general/error_recovery/issue_39058_prime.crash: SemiFuzzFailure # semi fuzz fails but isn't currently enabled by default.
-# general/error_recovery/issue_39202.crash: SemiFuzzCrash # semi fuzz fails but isn't currently enabled by default.
-# regress/utf_16_le_content.crash: Crash # semi fuzz fails but isn't currently enabled by default.
-
-extensions/call_methods: TypeCheckError
-extensions/extension_setter_error: TypeCheckError
-extensions/instance_access_of_static: RuntimeError
-extensions/invalid_explicit_access: RuntimeError
-extensions/issue40713: TypeCheckError
-extensions/static_access_of_instance: RuntimeError
-general/abstract_members: TypeCheckError
-general/accessors: RuntimeError
-general/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
-general/async_method_with_invalid_type: Crash
-general/await_in_non_async: RuntimeError # Expected.
-general/bug21938: TypeCheckError
-general/bug30695: TypeCheckError
-general/bug31124: RuntimeError # Test has no main method (and we shouldn't add one).
-general/call: TypeCheckError
-general/callable_type_variable: TypeCheckError
-general/candidate_found: TypeCheckError
-general/cascade: RuntimeError
-general/constructor_initializer_invalid: RuntimeError # Fails execution after recovery
-general/covariant_field: TypeCheckError
-general/covariant_generic: RuntimeError
-general/duplicated_declarations: TypeCheckError
-general/duplicated_field_initializer: RuntimeError
-general/error_locations/error_location_01: RuntimeError
-general/error_locations/error_location_02: RuntimeError
-general/error_locations/error_location_03: RuntimeError
-general/error_locations/error_location_05: RuntimeError
-general/error_locations/error_location_06: RuntimeError
-general/error_recovery/await_not_in_async: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_general.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_get.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_return_type.crash: RuntimeError
-general/error_recovery/constructor_recovery_bad_name_set.crash: RuntimeError
-general/error_recovery/constructor_recovery_get: RuntimeError
-general/error_recovery/constructor_recovery_ok: RuntimeError
-general/error_recovery/constructor_recovery_operator.crash: RuntimeError
-general/error_recovery/constructor_recovery_return_type: RuntimeError
-general/error_recovery/constructor_recovery_set: RuntimeError
-general/error_recovery/empty_await_for: RuntimeError
-general/error_recovery/empty_for: RuntimeError
-general/error_recovery/issue_38415.crash: RuntimeError
-general/error_recovery/issue_39024.crash: RuntimeError
-general/error_recovery/issue_39026.crash: RuntimeError
-general/error_recovery/issue_39026_prime.crash: RuntimeError
-general/error_recovery/issue_39033.crash: RuntimeError
-general/error_recovery/issue_39058.crash: RuntimeError
-general/error_recovery/issue_39058_prime.crash: RuntimeError
-general/error_recovery/issue_39202.crash: RuntimeError
-general/error_recovery/issue_39230.crash: RuntimeError
-general/error_recovery/issue_39958_01: RuntimeError
-general/error_recovery/issue_39958_02: RuntimeError
-general/error_recovery/issue_39958_03: RuntimeError
-general/error_recovery/issue_39958_04: RuntimeError
-general/error_recovery/yield_not_in_generator: RuntimeError
-general/expressions: RuntimeError
-general/external_import: RuntimeError # The native extension to import doesn't exist. This is ok.
-general/getter_vs_setter_type: TypeCheckError
-general/incomplete_field_formal_parameter: RuntimeError
-general/infer_field_from_multiple: TypeCheckError
-general/invalid_operator: TypeCheckError
-general/invalid_operator_override: TypeCheckError
-general/invocations: RuntimeError
-general/issue37776: RuntimeError
-general/issue38938: RuntimeError # no main and compile time errors.
-general/issue38944: RuntimeError # no main and compile time errors.
-general/issue38961: RuntimeError # no main and compile time errors.
-general/issue41210a: TypeCheckError
-general/issue41210b/issue41210: TypeCheckError
-general/issue41210b/issue41210.no_link: TypeCheckError
-general/micro: RuntimeError
-general/mixin_application_override: ExpectationFileMismatch # Too many errors.
-general/mixin_application_override: TypeCheckError
-general/mixin_constructors_with_default_values: RuntimeError # Expected
-general/mixin_covariant2: RuntimeError
-general/operator_method_not_found: RuntimeError # Expected
-general/optional: TypeCheckError
-general/override_check_accessor_after_inference: TypeCheckError # Issue #31620
-general/override_check_accessor_basic: TypeCheckError # Issue #31620
-general/override_check_accessor_with_covariant_modifier: TypeCheckError # Issue #31620
-general/override_check_after_inference: TypeCheckError # Issue #31620
-general/override_check_basic: TypeCheckError # Issue #31620
-general/override_check_with_covariant_modifier: TypeCheckError # Issue #31620
-general/override_setter_with_field: TypeCheckError
-general/spread_collection: RuntimeError
-general/type_parameter_type_named_int: RuntimeError # Expected
-general/type_variable_as_super: RuntimeError
-general/unsound_promotion: TypeCheckError
-general/void_methods: RuntimeError
-general/with_dependencies/issue_43084/issue_43084: RuntimeError
-general_nnbd_opt_out/abstract_members: TypeCheckError
-general_nnbd_opt_out/accessors: RuntimeError
-general_nnbd_opt_out/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
-general_nnbd_opt_out/await_in_non_async: RuntimeError # Expected.
-general_nnbd_opt_out/bug21938: TypeCheckError
-general_nnbd_opt_out/bug30695: TypeCheckError
-general_nnbd_opt_out/bug31124: RuntimeError # Test has no main method (and we shouldn't add one).
-general_nnbd_opt_out/call: TypeCheckError
-general_nnbd_opt_out/candidate_found: TypeCheckError
-general_nnbd_opt_out/cascade: RuntimeError
-general_nnbd_opt_out/constructor_initializer_invalid: RuntimeError # Fails execution after recovery
-general_nnbd_opt_out/covariant_generic: RuntimeError
-general_nnbd_opt_out/duplicated_declarations: TypeCheckError
-general_nnbd_opt_out/duplicated_field_initializer: RuntimeError
-general_nnbd_opt_out/error_locations/error_location_01: RuntimeError
-general_nnbd_opt_out/error_locations/error_location_02: RuntimeError
-general_nnbd_opt_out/error_locations/error_location_03: RuntimeError
-general_nnbd_opt_out/error_locations/error_location_05: RuntimeError
-general_nnbd_opt_out/error_locations/error_location_06: RuntimeError
-general_nnbd_opt_out/expressions: RuntimeError
-general_nnbd_opt_out/external_import: RuntimeError # The native extension to import doesn't exist. This is ok.
-general_nnbd_opt_out/incomplete_field_formal_parameter: RuntimeError
-general_nnbd_opt_out/invocations: RuntimeError
-general_nnbd_opt_out/issue37776: RuntimeError
-general_nnbd_opt_out/issue38938: RuntimeError # no main and compile time errors.
-general_nnbd_opt_out/issue38944: RuntimeError # no main and compile time errors.
-general_nnbd_opt_out/issue38961: RuntimeError # no main and compile time errors.
-general_nnbd_opt_out/micro: RuntimeError
-general_nnbd_opt_out/mixin_application_override: ExpectationFileMismatch # Too many errors.
-general_nnbd_opt_out/mixin_application_override: TypeCheckError
-general_nnbd_opt_out/mixin_constructors_with_default_values: RuntimeError # Expected
-general_nnbd_opt_out/operator_method_not_found: RuntimeError # Expected
-general_nnbd_opt_out/optional: TypeCheckError
-general_nnbd_opt_out/override_check_accessor_after_inference: TypeCheckError # Issue #31620
-general_nnbd_opt_out/override_check_accessor_basic: TypeCheckError # Issue #31620
-general_nnbd_opt_out/override_check_accessor_with_covariant_modifier: TypeCheckError # Issue #31620
-general_nnbd_opt_out/override_check_after_inference: TypeCheckError # Issue #31620
-general_nnbd_opt_out/override_check_basic: TypeCheckError # Issue #31620
-general_nnbd_opt_out/override_check_with_covariant_modifier: TypeCheckError # Issue #31620
-general_nnbd_opt_out/override_setter_with_field: TypeCheckError
-general_nnbd_opt_out/spread_collection: RuntimeError
-general_nnbd_opt_out/statements: Crash
-general_nnbd_opt_out/type_parameter_type_named_int: RuntimeError # Expected
-general_nnbd_opt_out/type_variable_as_super: RuntimeError
-general_nnbd_opt_out/unsound_promotion: TypeCheckError
-general_nnbd_opt_out/void_methods: RuntimeError
-inference/constructors_infer_from_arguments_argument_not_assignable: TypeCheckError
-inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer: TypeCheckError
-inference/downwards_inference_for_each: RuntimeError # Issue #36382
-inference/downwards_inference_on_list_literals_infer_downwards: RuntimeError
-inference/future_then_upwards: RuntimeError
-inference/future_then_upwards_2: RuntimeError
-inference/generic_methods_correctly_recognize_generic_upper_bound: TypeCheckError
-inference/generic_methods_do_not_infer_invalid_override_of_generic_method: TypeCheckError
-inference/generic_methods_handle_override_of_non_generic_with_generic: TypeCheckError
-inference/infer_method_missing_params: TypeCheckError
-inference/infer_type_regardless_of_declaration_order_or_cycles: RuntimeError
-inference/infer_types_on_generic_instantiations_4: RuntimeError
-inference/infer_types_on_generic_instantiations_infer: TypeCheckError
-inference/instantiate_tearoff_of_call: TypeCheckError # Issue #31746
-inference/instantiate_to_bounds_generic_has_bound_defined_after transform: RuntimeError
-inference/mixin_inference_outwards_3: TypeCheckError
-inference/mixin_inference_outwards_4: TypeCheckError
-inference/mixin_inference_unification_1: TypeCheckError
-inference/mixin_inference_unification_2: TypeCheckError
-inference/override_equals: RuntimeError
-inference_new/infer_assign_to_index_super_upwards: TypeCheckError
-inference_new/infer_assign_to_index_this_upwards: TypeCheckError
-inference_new/infer_assign_to_index_upwards: TypeCheckError
-inference_new/infer_assign_to_property_custom: TypeCheckError
-inference_new/invalid_assignment_during_toplevel_inference: TypeCheckError
 late_lowering/covariant_late_field: TypeCheckError
 nnbd/covariant_late_field: TypeCheckError
 nnbd/getter_vs_setter_type: TypeCheckError
@@ -186,76 +20,6 @@
 none/operator: TypeCheckError
 none/property_get: TypeCheckError
 none/property_set: TypeCheckError
-rasta/abstract_constructor: RuntimeError
-rasta/bad_constructor_redirection: RuntimeError
-rasta/bad_continue: RuntimeError
-rasta/bad_default_constructor: RuntimeError
-rasta/bad_explicit_super_constructor: RuntimeError
-rasta/bad_implicit_super_constructor: RuntimeError
-rasta/bad_interpolation: RuntimeError
-rasta/bad_redirection: RuntimeError
-rasta/bad_setter_initializer: RuntimeError
-rasta/breaking_bad: RuntimeError
-rasta/class_hierarchy: RuntimeError
-rasta/class_member: RuntimeError
-rasta/constant_get_and_invoke: RuntimeError
-rasta/duplicated_mixin: RuntimeError # Expected, this file has no main method.
-rasta/export: RuntimeError # Expected, this file has no main method.
-rasta/foo: RuntimeError # Expected, this file has no main method.
-rasta/generic_factory: RuntimeError
-rasta/issue_000001: RuntimeError
-rasta/issue_000031: RuntimeError
-rasta/issue_000032: RuntimeError
-rasta/issue_000034: RuntimeError
-rasta/issue_000036: RuntimeError
-rasta/issue_000039: RuntimeError
-rasta/issue_000041: RuntimeError
-rasta/issue_000042: RuntimeError
-rasta/issue_000043: RuntimeError
-rasta/issue_000044: RuntimeError
-rasta/issue_000046: RuntimeError
-rasta/issue_000081: RuntimeError
-rasta/malformed_const_constructor: RuntimeError
-rasta/malformed_function: RuntimeError
-rasta/mixin_library: TypeCheckError
-rasta/native_is_illegal: RuntimeError
-rasta/parser_error: RuntimeError
-rasta/static: RuntimeError
-rasta/super: TypeCheckError
-rasta/super_initializer: RuntimeError
-rasta/super_mixin: TypeCheckError
-rasta/super_operator: TypeCheckError
-rasta/type_literals: RuntimeError
-rasta/typedef: RuntimeError
-rasta/unresolved: RuntimeError
-rasta/unresolved_constructor: RuntimeError
-rasta/unresolved_for_in: RuntimeError
-rasta/unresolved_recovery: TypeCheckError
-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_31299: TypeCheckError
-regress/issue_32972: TypeCheckError
-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
-regress/issue_39035.crash: RuntimeError
-regress/issue_39091_1: RuntimeError
-regress/issue_39091_2: RuntimeError
-regress/utf_16_le_content.crash: RuntimeError
-runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError
-runtime_checks_new/mixin_forwarding_stub_getter: TypeCheckError
-set_literals/disambiguation_rule: RuntimeError
 value_class/simple: RuntimeError # Expected
 value_class/value_extends_non_value: RuntimeError # Expected
 value_class/value_implements_non_value: RuntimeError # Expected
diff --git a/pkg/front_end/testcases/text_serialization.status b/pkg/front_end/testcases/text_serialization.status
index 401ebbc..b3e1ee4 100644
--- a/pkg/front_end/testcases/text_serialization.status
+++ b/pkg/front_end/testcases/text_serialization.status
@@ -76,8 +76,8 @@
 general/issue38944: RuntimeError
 general/issue38961: RuntimeError
 general/issue41210a: TypeCheckError
-general/issue41210b/issue41210: TypeCheckError
 general/issue41210b/issue41210.no_link: TypeCheckError
+general/issue41210b/issue41210: TypeCheckError
 general/micro: RuntimeError
 general/mixin_application_override: TypeCheckError
 general/mixin_constructors_with_default_values: RuntimeError
@@ -137,7 +137,6 @@
 general_nnbd_opt_out/override_check_with_covariant_modifier: TypeCheckError # Issue #31620
 general_nnbd_opt_out/override_setter_with_field: TypeCheckError
 general_nnbd_opt_out/spread_collection: RuntimeError # Should be fixed as part of implementing spread collection support
-general_nnbd_opt_out/statements: Crash
 general_nnbd_opt_out/type_parameter_type_named_int: RuntimeError
 general_nnbd_opt_out/type_variable_as_super: RuntimeError
 general_nnbd_opt_out/unsound_promotion: TypeCheckError
@@ -178,13 +177,30 @@
 nnbd/nullable_object_access: TypeCheckError
 nnbd/nullable_receiver: TypeCheckError
 nnbd/potentially_nullable_access: TypeCheckError
+nnbd_mixed/bad_mixins: TypeCheckError
+nnbd_mixed/covariant_from_opt_in: TypeCheckError
+nnbd_mixed/hierarchy/conflict: TypeCheckError
+nnbd_mixed/hierarchy/duplicates: TypeCheckError
+nnbd_mixed/hierarchy/forwarding_semi_stub_field: TypeCheckError
+nnbd_mixed/hierarchy/forwarding_semi_stub_method: TypeCheckError
+nnbd_mixed/hierarchy/forwarding_semi_stub_setter: TypeCheckError
+nnbd_mixed/hierarchy/getter_setter: TypeCheckError
+nnbd_mixed/hierarchy/in_dill_out_in/in_out_in: TypeCheckError
+nnbd_mixed/hierarchy/in_out_dill_in/in_out_in: TypeCheckError
+nnbd_mixed/hierarchy/in_out_in: TypeCheckError
+nnbd_mixed/hierarchy/mix_in_override: TypeCheckError
+nnbd_mixed/hierarchy/override: TypeCheckError
+nnbd_mixed/inheritance_from_opt_in: TypeCheckError
+nnbd_mixed/issue41567: TypeCheckError
+nnbd_mixed/messages_with_types_opt_in: TypeCheckError
+nnbd_mixed/messages_with_types_opt_out: TypeCheckError
 none/equals: TypeCheckError
 none/method_invocation: TypeCheckError
 none/mixin_covariant: TextSerializationFailure
+none/mixin_super: TextSerializationFailure
 none/operator: TypeCheckError
 none/property_get: TypeCheckError
 none/property_set: TypeCheckError
-none/mixin_super: TextSerializationFailure
 none/tearoff_opt_out: TextSerializationFailure
 rasta/abstract_constructor: RuntimeError
 rasta/bad_constructor_redirection: RuntimeError
@@ -255,7 +271,7 @@
 regress/utf_16_le_content.crash: RuntimeError
 runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError
 set_literals/disambiguation_rule: RuntimeError
+value_class/copy_with_call_sites: RuntimeError # Expected
 value_class/simple: RuntimeError # Expected
 value_class/value_extends_non_value: RuntimeError # Expected
 value_class/value_implements_non_value: RuntimeError # Expected
-value_class/copy_with_call_sites: RuntimeError # Expected
\ No newline at end of file
diff --git a/pkg/front_end/testcases/textual_outline.status b/pkg/front_end/testcases/textual_outline.status
index 4c36c59..c01fda9 100644
--- a/pkg/front_end/testcases/textual_outline.status
+++ b/pkg/front_end/testcases/textual_outline.status
@@ -58,6 +58,7 @@
 general/issue42997: FormatterCrash
 general/issue43363: FormatterCrash
 general/many_errors: FormatterCrash
+general/null_safety_invalid_experiment: FormatterCrash
 general/null_safety_invalid_experiment_and_language_version: FormatterCrash
 general/type_parameters_on_void: FormatterCrash
 general/var_as_type_name: FormatterCrash
diff --git a/pkg/front_end/testcases/triple_shift/folder.options b/pkg/front_end/testcases/triple_shift/folder.options
index 199ca30..55774c6 100644
--- a/pkg/front_end/testcases/triple_shift/folder.options
+++ b/pkg/front_end/testcases/triple_shift/folder.options
@@ -1 +1 @@
---enable-experiment=triple-shift,no-non-nullable
\ No newline at end of file
+--enable-experiment=triple-shift
diff --git a/pkg/front_end/testcases/triple_shift/invalid_operator.dart b/pkg/front_end/testcases/triple_shift/invalid_operator.dart
index 97cbba7..9e33989 100644
--- a/pkg/front_end/testcases/triple_shift/invalid_operator.dart
+++ b/pkg/front_end/testcases/triple_shift/invalid_operator.dart
@@ -1,7 +1,7 @@
 // Copyright (c) 2020, 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=2.9
 class Operators1 {
   operator >>>() => true;
 }
diff --git a/pkg/front_end/testcases/triple_shift/invalid_operator.dart.strong.expect b/pkg/front_end/testcases/triple_shift/invalid_operator.dart.strong.expect
index a5258fd..4fc7537 100644
--- a/pkg/front_end/testcases/triple_shift/invalid_operator.dart.strong.expect
+++ b/pkg/front_end/testcases/triple_shift/invalid_operator.dart.strong.expect
@@ -2,6 +2,10 @@
 //
 // Problems in library:
 //
+// pkg/front_end/testcases/triple_shift/invalid_operator.dart:4:1: Error: A library can't opt out of null safety by default, when using sound null safety.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
 // pkg/front_end/testcases/triple_shift/invalid_operator.dart:6:12: Error: Operator '>>>' should have exactly one parameter.
 //   operator >>>() => true;
 //            ^^^
diff --git a/pkg/front_end/testcases/triple_shift/invalid_operator.dart.strong.transformed.expect b/pkg/front_end/testcases/triple_shift/invalid_operator.dart.strong.transformed.expect
index a5258fd..4fc7537 100644
--- a/pkg/front_end/testcases/triple_shift/invalid_operator.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/triple_shift/invalid_operator.dart.strong.transformed.expect
@@ -2,6 +2,10 @@
 //
 // Problems in library:
 //
+// pkg/front_end/testcases/triple_shift/invalid_operator.dart:4:1: Error: A library can't opt out of null safety by default, when using sound null safety.
+// // @dart=2.9
+// ^^^^^^^^^^^^
+//
 // pkg/front_end/testcases/triple_shift/invalid_operator.dart:6:12: Error: Operator '>>>' should have exactly one parameter.
 //   operator >>>() => true;
 //            ^^^
diff --git a/pkg/front_end/testcases/triple_shift/invalid_operator.dart.textual_outline.expect b/pkg/front_end/testcases/triple_shift/invalid_operator.dart.textual_outline.expect
index a449983..0c9cae8 100644
--- a/pkg/front_end/testcases/triple_shift/invalid_operator.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/triple_shift/invalid_operator.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Operators1 {
   operator >>(){}
   operator>() => true;
diff --git a/pkg/front_end/testcases/triple_shift/invalid_operator.dart.outline.expect b/pkg/front_end/testcases/triple_shift/invalid_operator.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/triple_shift/invalid_operator.dart.outline.expect
rename to pkg/front_end/testcases/triple_shift/invalid_operator.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.outline.expect
new file mode 100644
index 0000000..47c2311
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/fold_initial.dart.weak.outline.expect
@@ -0,0 +1,22 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static method foldInitialElements() → void
+  ;
+static method foldInitialSpread1() → void
+  ;
+static method foldInitialSpread2() → void
+  ;
+static method foldInitialSpread3() → void
+  ;
+static method foldInitialSpread4() → void
+  ;
+static method foldInitialSpread5() → void
+  ;
+static method foldInitialSpread6() → void
+  ;
+static method main() → dynamic
+  ;
+static method expect(core::List<dynamic>* list1, core::List<dynamic>* list2) → void
+  ;
diff --git a/pkg/front_end/testcases/general/cascade.dart.outline.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/general/cascade.dart.outline.expect
copy to pkg/front_end/testcases/unified_collections/invariance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.outline.expect
new file mode 100644
index 0000000..9d7f592
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.outline.expect
@@ -0,0 +1,10 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static method useAddAll() → void
+  ;
+static method main() → dynamic
+  ;
+static method expect(core::List<dynamic>* list1, core::List<dynamic>* list2) → void
+  ;
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.outline.expect
new file mode 100644
index 0000000..0a95df2
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.outline.expect
@@ -0,0 +1,12 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method useAddAll() → void
+  ;
+static method useAddAllNullable() → void
+  ;
+static method main() → dynamic
+  ;
+static method expect(core::List<dynamic> list1, core::List<dynamic> list2) → void
+  ;
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.outline.expect
new file mode 100644
index 0000000..fc5cbac
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.outline.expect
@@ -0,0 +1,49 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:35:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// var error4 = {if (b) 0: 1 else for (var a in list) a};
+//                                ^
+//
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:36:22: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// var error5 = {if (b) for (var a in list) a else 0: 1};
+//                      ^
+//
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:43:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// var error8 = {if (b) 0: 1 else for (var i = 0; i < list.length; i++) list[i]};
+//                                ^
+//
+// pkg/front_end/testcases/unified_collections/mixed_entries.dart:44:22: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
+// var error9 = {if (b) for (var i = 0; i < list.length; i++) list[i] else 0: 1};
+//                      ^
+//
+import self as self;
+import "dart:core" as core;
+
+static field core::bool* b;
+static field core::List<dynamic>* list;
+static field core::Map<dynamic, dynamic>* map0;
+static field core::Map<dynamic, dynamic>* map1;
+static field core::Map<dynamic, dynamic>* map2;
+static field core::Map<dynamic, dynamic>* map3;
+static field core::Map<dynamic, core::int*>* map4;
+static field core::Map<dynamic, core::int*>* map5;
+static field core::Map<dynamic, core::int*>* map6;
+static field core::Map<dynamic, core::int*>* map7;
+static field core::Map<dynamic, core::int*>* map8;
+static field core::Map<dynamic, core::int*>* map9;
+static field core::Map<dynamic, core::int*>* map10;
+static field core::Map<dynamic, core::int*>* map11;
+static field core::Map<core::int*, core::int*>* map12;
+static field core::Map<dynamic, Null>* error4;
+static field core::Map<dynamic, Null>* error5;
+static field dynamic error6;
+static field dynamic error7;
+static field core::Map<dynamic, Null>* error8;
+static field core::Map<dynamic, Null>* error9;
+static field dynamic error10;
+static field dynamic error11;
+static field dynamic error12;
+static method main() → dynamic
+  ;
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.outline.expect
new file mode 100644
index 0000000..5b9b10a
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.outline.expect
@@ -0,0 +1,10 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static method useAddAll() → void
+  ;
+static method main() → dynamic
+  ;
+static method expect(core::Set<dynamic>* set1, core::Set<dynamic>* set2) → void
+  ;
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.outline.expect
new file mode 100644
index 0000000..56a5c72
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.outline.expect
@@ -0,0 +1,12 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method useAddAll() → void
+  ;
+static method useAddAllNullable() → void
+  ;
+static method main() → dynamic
+  ;
+static method expect(core::Set<dynamic> set1, core::Set<dynamic> set2) → void
+  ;
diff --git a/pkg/front_end/testcases/regress/issue_29937.dart.outline.expect b/pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.outline.expect
similarity index 100%
copy from pkg/front_end/testcases/regress/issue_29937.dart.outline.expect
copy to pkg/front_end/testcases/unified_collections/string_concatenation.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.outline.expect b/pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/copy_with_call_sites.dart.outline.expect
rename to pkg/front_end/testcases/value_class/copy_with_call_sites.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/empty.dart.outline.expect b/pkg/front_end/testcases/value_class/empty.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/empty.dart.outline.expect
rename to pkg/front_end/testcases/value_class/empty.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/explicit_mixin.dart.outline.expect b/pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/explicit_mixin.dart.outline.expect
rename to pkg/front_end/testcases/value_class/explicit_mixin.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/folder.options b/pkg/front_end/testcases/value_class/folder.options
index 65e072c..9c8a8cb 100644
--- a/pkg/front_end/testcases/value_class/folder.options
+++ b/pkg/front_end/testcases/value_class/folder.options
@@ -1 +1 @@
---enable-experiment=non-nullable,value-class
\ No newline at end of file
+--enable-experiment=value-class
\ No newline at end of file
diff --git a/pkg/front_end/testcases/value_class/non_final_field_error.dart.outline.expect b/pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/non_final_field_error.dart.outline.expect
rename to pkg/front_end/testcases/value_class/non_final_field_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.outline.expect b/pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.outline.expect
rename to pkg/front_end/testcases/value_class/non_value_extends_value_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.outline.expect b/pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.outline.expect
rename to pkg/front_end/testcases/value_class/non_value_implements_value_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/simple.dart.outline.expect b/pkg/front_end/testcases/value_class/simple.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/simple.dart.outline.expect
rename to pkg/front_end/testcases/value_class/simple.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value.dart.outline.expect b/pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/value_extends_non_value.dart.outline.expect
rename to pkg/front_end/testcases/value_class/value_extends_non_value.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.outline.expect b/pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.outline.expect
rename to pkg/front_end/testcases/value_class/value_extends_non_value_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/value_implements_non_value.dart.outline.expect b/pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/value_implements_non_value.dart.outline.expect
rename to pkg/front_end/testcases/value_class/value_implements_non_value.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/value_class/value_mixin_error.dart.outline.expect b/pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/value_class/value_mixin_error.dart.outline.expect
rename to pkg/front_end/testcases/value_class/value_mixin_error.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart b/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart
index 71aa5cf..1aea4d3 100644
--- a/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart
+++ b/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A<out X, in Y, inout Z> {}
 
 main() {
diff --git a/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.textual_outline.expect b/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.textual_outline.expect
index eaa0557..b4adc16 100644
--- a/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.textual_outline.expect
@@ -1,2 +1,3 @@
+// @dart = 2.9
 class A<out X, in Y, inout Z> {}
 main() {}
diff --git a/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.strong.expect b/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.strong.expect
rename to pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.weak.expect
diff --git a/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.outline.expect b/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.outline.expect
rename to pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.strong.transformed.expect b/pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.strong.transformed.expect
rename to pkg/front_end/testcases/variance/class_type_parameter_modifier.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/variance/folder.options b/pkg/front_end/testcases/variance/folder.options
index a49934f..3ce5008 100644
--- a/pkg/front_end/testcases/variance/folder.options
+++ b/pkg/front_end/testcases/variance/folder.options
@@ -1 +1 @@
---enable-experiment=variance,no-non-nullable
+--enable-experiment=variance
diff --git a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart
index 058c7be..1d1c133 100644
--- a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart
+++ b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 typedef ContraFunction<T> = void Function(T);
 typedef InvFunction<T> = T Function(T);
 class Contravariant<in T> {}
diff --git a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.textual_outline.expect b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.textual_outline.expect
index bcdf4ff..aa7684d 100644
--- a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 typedef ContraFunction<T> = void Function(T);
 typedef InvFunction<T> = T Function(T);
 class Contravariant<in T> {}
diff --git a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.strong.expect b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.strong.expect
rename to pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.expect
diff --git a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.outline.expect b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.outline.expect
rename to pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.strong.transformed.expect b/pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.strong.transformed.expect
rename to pkg/front_end/testcases/variance/generic_covariance_sound_variance.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart b/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart
index 2aefefb..ec067aa 100644
--- a/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart
+++ b/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class A {}
 
 mixin B<inout X, out Y, in Z> on A {}
diff --git a/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.textual_outline.expect b/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.textual_outline.expect
index dd52422..a4e2429 100644
--- a/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class A {}
 mixin B<inout X, out Y, in Z> on A {}
 main() {}
diff --git a/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.strong.expect b/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.strong.expect
rename to pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.weak.expect
diff --git a/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.outline.expect b/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.outline.expect
rename to pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.strong.transformed.expect b/pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.strong.transformed.expect
rename to pkg/front_end/testcases/variance/mixin_type_parameter_modifier.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/variance/unconstrained_inference.dart b/pkg/front_end/testcases/variance/unconstrained_inference.dart
index 7f68e00..fa68fbe 100644
--- a/pkg/front_end/testcases/variance/unconstrained_inference.dart
+++ b/pkg/front_end/testcases/variance/unconstrained_inference.dart
@@ -1,7 +1,7 @@
 // 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=2.9
 class Covariant<out T> {}
 class Contravariant<in T> {}
 class Invariant<inout T> {}
diff --git a/pkg/front_end/testcases/variance/unconstrained_inference.dart.textual_outline.expect b/pkg/front_end/testcases/variance/unconstrained_inference.dart.textual_outline.expect
index 0d3c633..8440fa0 100644
--- a/pkg/front_end/testcases/variance/unconstrained_inference.dart.textual_outline.expect
+++ b/pkg/front_end/testcases/variance/unconstrained_inference.dart.textual_outline.expect
@@ -1,3 +1,4 @@
+// @dart = 2.9
 class Covariant<out T> {}
 class Contravariant<in T> {}
 class Invariant<inout T> {}
diff --git a/pkg/front_end/testcases/variance/unconstrained_inference.dart.strong.expect b/pkg/front_end/testcases/variance/unconstrained_inference.dart.weak.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/unconstrained_inference.dart.strong.expect
rename to pkg/front_end/testcases/variance/unconstrained_inference.dart.weak.expect
diff --git a/pkg/front_end/testcases/variance/unconstrained_inference.dart.outline.expect b/pkg/front_end/testcases/variance/unconstrained_inference.dart.weak.outline.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/unconstrained_inference.dart.outline.expect
rename to pkg/front_end/testcases/variance/unconstrained_inference.dart.weak.outline.expect
diff --git a/pkg/front_end/testcases/variance/unconstrained_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/variance/unconstrained_inference.dart.weak.transformed.expect
similarity index 100%
rename from pkg/front_end/testcases/variance/unconstrained_inference.dart.strong.transformed.expect
rename to pkg/front_end/testcases/variance/unconstrained_inference.dart.weak.transformed.expect
diff --git a/pkg/front_end/testcases/weak.status b/pkg/front_end/testcases/weak.status
index a382980..210d44b 100644
--- a/pkg/front_end/testcases/weak.status
+++ b/pkg/front_end/testcases/weak.status
@@ -2,7 +2,13 @@
 # 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 weak_suite.dart test suite.
+# Status file for the weak_tester.dart test suite.
+
+# general/platform_invalid_uris/main: SemiFuzzFailure # semi fuzz fails but isn't currently enabled by default.
+# general/error_recovery/issue_39058.crash: SemiFuzzFailure # semi fuzz fails but isn't currently enabled by default.
+# general/error_recovery/issue_39058_prime.crash: SemiFuzzFailure # semi fuzz fails but isn't currently enabled by default.
+# general/error_recovery/issue_39202.crash: SemiFuzzCrash # semi fuzz fails but isn't currently enabled by default.
+# regress/utf_16_le_content.crash: Crash # semi fuzz fails but isn't currently enabled by default.
 
 extensions/call_methods: TypeCheckError
 extensions/extension_setter_error: TypeCheckError
@@ -10,6 +16,89 @@
 extensions/invalid_explicit_access: RuntimeError
 extensions/issue40713: TypeCheckError
 extensions/static_access_of_instance: RuntimeError
+general/abstract_members: TypeCheckError
+general/accessors: RuntimeError
+general/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
+general/async_method_with_invalid_type: Crash
+general/await_in_non_async: RuntimeError # Expected.
+general/bug21938: TypeCheckError
+general/bug30695: TypeCheckError
+general/bug31124: RuntimeError # Test has no main method (and we shouldn't add one).
+general/call: TypeCheckError
+general/callable_type_variable: TypeCheckError
+general/candidate_found: TypeCheckError
+general/cascade: RuntimeError
+general/constructor_initializer_invalid: RuntimeError # Fails execution after recovery
+general/covariant_field: TypeCheckError
+general/covariant_generic: RuntimeError
+general/duplicated_declarations: TypeCheckError
+general/duplicated_field_initializer: RuntimeError
+general/error_locations/error_location_01: RuntimeError
+general/error_locations/error_location_02: RuntimeError
+general/error_locations/error_location_03: RuntimeError
+general/error_locations/error_location_05: RuntimeError
+general/error_locations/error_location_06: RuntimeError
+general/error_recovery/await_not_in_async: RuntimeError
+general/error_recovery/constructor_recovery_bad_name_general.crash: RuntimeError
+general/error_recovery/constructor_recovery_bad_name_get.crash: RuntimeError
+general/error_recovery/constructor_recovery_bad_name_return_type.crash: RuntimeError
+general/error_recovery/constructor_recovery_bad_name_set.crash: RuntimeError
+general/error_recovery/constructor_recovery_get: RuntimeError
+general/error_recovery/constructor_recovery_ok: RuntimeError
+general/error_recovery/constructor_recovery_operator.crash: RuntimeError
+general/error_recovery/constructor_recovery_return_type: RuntimeError
+general/error_recovery/constructor_recovery_set: RuntimeError
+general/error_recovery/empty_await_for: RuntimeError
+general/error_recovery/empty_for: RuntimeError
+general/error_recovery/issue_38415.crash: RuntimeError
+general/error_recovery/issue_39024.crash: RuntimeError
+general/error_recovery/issue_39026.crash: RuntimeError
+general/error_recovery/issue_39026_prime.crash: RuntimeError
+general/error_recovery/issue_39033.crash: RuntimeError
+general/error_recovery/issue_39058.crash: RuntimeError
+general/error_recovery/issue_39058_prime.crash: RuntimeError
+general/error_recovery/issue_39202.crash: RuntimeError
+general/error_recovery/issue_39230.crash: RuntimeError
+general/error_recovery/issue_39958_01: RuntimeError
+general/error_recovery/issue_39958_02: RuntimeError
+general/error_recovery/issue_39958_03: RuntimeError
+general/error_recovery/issue_39958_04: RuntimeError
+general/error_recovery/yield_not_in_generator: RuntimeError
+general/expressions: RuntimeError
+general/external_import: RuntimeError # The native extension to import doesn't exist. This is ok.
+general/getter_vs_setter_type: TypeCheckError
+general/incomplete_field_formal_parameter: RuntimeError
+general/infer_field_from_multiple: TypeCheckError
+general/invalid_operator: TypeCheckError
+general/invalid_operator_override: TypeCheckError
+general/invocations: RuntimeError
+general/issue37776: RuntimeError
+general/issue38938: RuntimeError # no main and compile time errors.
+general/issue38944: RuntimeError # no main and compile time errors.
+general/issue38961: RuntimeError # no main and compile time errors.
+general/issue41210a: TypeCheckError
+general/issue41210b/issue41210: TypeCheckError
+general/issue41210b/issue41210.no_link: TypeCheckError
+general/micro: RuntimeError
+general/mixin_application_override: ExpectationFileMismatch # Too many errors.
+general/mixin_application_override: TypeCheckError
+general/mixin_constructors_with_default_values: RuntimeError # Expected
+general/mixin_covariant2: RuntimeError
+general/operator_method_not_found: RuntimeError # Expected
+general/optional: TypeCheckError
+general/override_check_accessor_after_inference: TypeCheckError # Issue #31620
+general/override_check_accessor_basic: TypeCheckError # Issue #31620
+general/override_check_accessor_with_covariant_modifier: TypeCheckError # Issue #31620
+general/override_check_after_inference: TypeCheckError # Issue #31620
+general/override_check_basic: TypeCheckError # Issue #31620
+general/override_check_with_covariant_modifier: TypeCheckError # Issue #31620
+general/override_setter_with_field: TypeCheckError
+general/spread_collection: RuntimeError
+general/type_parameter_type_named_int: RuntimeError # Expected
+general/type_variable_as_super: RuntimeError
+general/unsound_promotion: TypeCheckError
+general/void_methods: RuntimeError
+general/with_dependencies/issue_43084/issue_43084: RuntimeError
 general_nnbd_opt_out/abstract_members: TypeCheckError
 general_nnbd_opt_out/accessors: RuntimeError
 general_nnbd_opt_out/ambiguous_exports: RuntimeError # Expected, this file exports two main methods.
@@ -64,6 +153,40 @@
 nnbd/nullable_object_access: TypeCheckError
 nnbd/nullable_receiver: TypeCheckError
 nnbd/potentially_nullable_access: TypeCheckError
+inference/constructors_infer_from_arguments_argument_not_assignable: TypeCheckError
+inference/do_not_infer_overridden_fields_that_explicitly_say_dynamic_infer: TypeCheckError
+inference/downwards_inference_for_each: RuntimeError # Issue #36382
+inference/downwards_inference_on_list_literals_infer_downwards: RuntimeError
+inference/future_then_upwards: RuntimeError
+inference/future_then_upwards_2: RuntimeError
+inference/generic_methods_correctly_recognize_generic_upper_bound: TypeCheckError
+inference/generic_methods_do_not_infer_invalid_override_of_generic_method: TypeCheckError
+inference/generic_methods_handle_override_of_non_generic_with_generic: TypeCheckError
+inference/infer_method_missing_params: TypeCheckError
+inference/infer_type_regardless_of_declaration_order_or_cycles: RuntimeError
+inference/infer_types_on_generic_instantiations_4: RuntimeError
+inference/infer_types_on_generic_instantiations_infer: TypeCheckError
+inference/instantiate_tearoff_of_call: TypeCheckError # Issue #31746
+inference/instantiate_to_bounds_generic_has_bound_defined_after transform: RuntimeError
+inference/mixin_inference_outwards_3: TypeCheckError
+inference/mixin_inference_outwards_4: TypeCheckError
+inference/mixin_inference_unification_1: TypeCheckError
+inference/mixin_inference_unification_2: TypeCheckError
+inference/override_equals: RuntimeError
+inference_new/infer_assign_to_index_super_upwards: TypeCheckError
+inference_new/infer_assign_to_index_this_upwards: TypeCheckError
+inference_new/infer_assign_to_index_upwards: TypeCheckError
+inference_new/infer_assign_to_property_custom: TypeCheckError
+inference_new/invalid_assignment_during_toplevel_inference: TypeCheckError
+late_lowering/covariant_late_field: TypeCheckError
+nnbd/covariant_late_field: TypeCheckError
+nnbd/getter_vs_setter_type: TypeCheckError
+nnbd/issue42546: TypeCheckError
+nnbd/issue42603: TypeCheckError
+nnbd/no_support_for_old_null_aware_index_access_syntax: RuntimeError # Expected.
+nnbd/nullable_object_access: TypeCheckError
+nnbd/nullable_receiver: TypeCheckError
+nnbd/potentially_nullable_access: TypeCheckError
 nnbd_mixed/bad_mixins: TypeCheckError
 nnbd_mixed/covariant_from_opt_in: TypeCheckError
 nnbd_mixed/hierarchy/conflict: TypeCheckError
@@ -86,6 +209,76 @@
 none/operator: TypeCheckError
 none/property_get: TypeCheckError
 none/property_set: TypeCheckError
+rasta/abstract_constructor: RuntimeError
+rasta/bad_constructor_redirection: RuntimeError
+rasta/bad_continue: RuntimeError
+rasta/bad_default_constructor: RuntimeError
+rasta/bad_explicit_super_constructor: RuntimeError
+rasta/bad_implicit_super_constructor: RuntimeError
+rasta/bad_interpolation: RuntimeError
+rasta/bad_redirection: RuntimeError
+rasta/bad_setter_initializer: RuntimeError
+rasta/breaking_bad: RuntimeError
+rasta/class_hierarchy: RuntimeError
+rasta/class_member: RuntimeError
+rasta/constant_get_and_invoke: RuntimeError
+rasta/duplicated_mixin: RuntimeError # Expected, this file has no main method.
+rasta/export: RuntimeError # Expected, this file has no main method.
+rasta/foo: RuntimeError # Expected, this file has no main method.
+rasta/generic_factory: RuntimeError
+rasta/issue_000001: RuntimeError
+rasta/issue_000031: RuntimeError
+rasta/issue_000032: RuntimeError
+rasta/issue_000034: RuntimeError
+rasta/issue_000036: RuntimeError
+rasta/issue_000039: RuntimeError
+rasta/issue_000041: RuntimeError
+rasta/issue_000042: RuntimeError
+rasta/issue_000043: RuntimeError
+rasta/issue_000044: RuntimeError
+rasta/issue_000046: RuntimeError
+rasta/issue_000081: RuntimeError
+rasta/malformed_const_constructor: RuntimeError
+rasta/malformed_function: RuntimeError
+rasta/mixin_library: TypeCheckError
+rasta/native_is_illegal: RuntimeError
+rasta/parser_error: RuntimeError
+rasta/static: RuntimeError
+rasta/super: TypeCheckError
+rasta/super_initializer: RuntimeError
+rasta/super_mixin: TypeCheckError
+rasta/super_operator: TypeCheckError
+rasta/type_literals: RuntimeError
+rasta/typedef: RuntimeError
+rasta/unresolved: RuntimeError
+rasta/unresolved_constructor: RuntimeError
+rasta/unresolved_for_in: RuntimeError
+rasta/unresolved_recovery: TypeCheckError
+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_31299: TypeCheckError
+regress/issue_32972: TypeCheckError
+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
+regress/issue_39035.crash: RuntimeError
+regress/issue_39091_1: RuntimeError
+regress/issue_39091_2: RuntimeError
+regress/utf_16_le_content.crash: RuntimeError
+runtime_checks_new/contravariant_generic_return_with_compound_assign_implicit_downcast: RuntimeError
+runtime_checks_new/mixin_forwarding_stub_getter: TypeCheckError
+set_literals/disambiguation_rule: RuntimeError
 value_class/simple: RuntimeError # Expected
 value_class/value_extends_non_value: RuntimeError # Expected
 value_class/value_implements_non_value: RuntimeError # Expected
diff --git a/pkg/front_end/testing.json b/pkg/front_end/testing.json
index ffd672a..fd8960b 100644
--- a/pkg/front_end/testing.json
+++ b/pkg/front_end/testing.json
@@ -56,7 +56,6 @@
         "/testcases/.*_part[0-9]*\\.dart$",
         "/testcases/.*_lib[0-9]*\\.dart$",
         "/testcases/dartino/",
-        "/testcases/shaker/",
         "/testcases/expression/"
       ]
     },
@@ -74,13 +73,7 @@
         "/testcases/.*_part[0-9]*\\.dart$",
         "/testcases/.*_lib[0-9]*\\.dart$",
         "/testcases/dartino/",
-        "/testcases/shaker/",
-        "/testcases/expression/",
-        "/testcases/general_nnbd_opt_out/",
-        "/testcases/nnbd_mixed/",
-        "/testcases/nonfunction_type_aliases/",
-        "/testcases/static_field_lowering/",
-        "/testcases/unified_collections"
+        "/testcases/expression/"
       ]
     },
     {
@@ -97,35 +90,24 @@
         "/testcases/.*_part[0-9]*\\.dart$",
         "/testcases/.*_lib[0-9]*\\.dart$",
         "/testcases/dartino/",
-        "/testcases/shaker/",
         "/testcases/expression/",
+        "/testcases/extensions/",
+        "/testcases/general/",
         "/testcases/general_nnbd_opt_out/",
+        "/testcases/implicit_getter_calls",
+        "/testcases/inference",
+        "/testcases/inference_new",
+        "/testcases/instantiate_to_bound/",
+        "/testcases/new_const_insertion",
         "/testcases/nnbd_mixed/",
-        "/testcases/nonfunction_type_aliases/",
-        "/testcases/static_field_lowering/",
-        "/testcases/unified_collections"
-      ]
-    },
-    {
-      "name": "fast_strong",
-      "kind": "Chain",
-      "source": "test/fasta/fast_strong_suite.dart",
-      "path": "testcases/",
-      "status": "testcases/strong.status",
-      "pattern": [
-        "\\.dart$",
-        "\\.crash_dart$"
-      ],
-      "exclude": [
-        "/testcases/.*_part[0-9]*\\.dart$",
-        "/testcases/.*_lib[0-9]*\\.dart$",
-        "/testcases/dartino/",
-        "/testcases/shaker/",
-        "/testcases/expression/",
-        "/testcases/general_nnbd_opt_out/",
-        "/testcases/nnbd_mixed/",
-        "/testcases/nonfunction_type_aliases/",
-        "/testcases/static_field_lowering/",
+        "/testcases/no_such_method_forwarders",
+        "/testcases/nonfunction_type_aliases_no_nnbd/",
+        "/testcases/rasta/",
+        "/testcases/regress/",
+        "/testcases/runtime_checks",
+        "/testcases/runtime_checks_new",
+        "/testcases/set_literals",
+        "/testcases/variance",
         "/testcases/unified_collections"
       ]
     },
@@ -143,19 +125,13 @@
         "/testcases/.*_part[0-9]*\\.dart$",
         "/testcases/.*_lib[0-9]*\\.dart$",
         "/testcases/dartino/",
-        "/testcases/shaker/",
-        "/testcases/expression/",
-        "/testcases/general_nnbd_opt_out/",
-        "/testcases/nnbd_mixed/",
-        "/testcases/nonfunction_type_aliases/",
-        "/testcases/static_field_lowering/",
-        "/testcases/unified_collections"
+        "/testcases/expression/"
       ]
     },
     {
       "name": "weak",
       "kind": "Chain",
-      "source": "test/fasta/weak_suite.dart",
+      "source": "test/fasta/weak_tester.dart",
       "path": "testcases/",
       "status": "testcases/weak.status",
       "pattern": [
@@ -165,21 +141,7 @@
         "/testcases/.*_part[0-9]*\\.dart$",
         "/testcases/.*_lib[0-9]*\\.dart$",
         "/testcases/dartino/",
-        "/testcases/expression/",
-        "/testcases/extensions/",
-        "/testcases/general/",
-        "/testcases/implicit_getter_calls",
-        "/testcases/inference",
-        "/testcases/inference_new",
-        "/testcases/instantiate_to_bound/",
-        "/testcases/new_const_insertion",
-        "/testcases/no_such_method_forwarders",
-        "/testcases/rasta/",
-        "/testcases/regress/",
-        "/testcases/runtime_checks",
-        "/testcases/runtime_checks_new",
-        "/testcases/set_literals",
-        "/testcases/variance"
+        "/testcases/expression/"
       ]
     },
     {
diff --git a/pkg/vm/lib/transformations/ffi_definitions.dart b/pkg/vm/lib/transformations/ffi_definitions.dart
index 688af2c..a2daadf 100644
--- a/pkg/vm/lib/transformations/ffi_definitions.dart
+++ b/pkg/vm/lib/transformations/ffi_definitions.dart
@@ -176,9 +176,6 @@
 
     _checkStructClass(node);
 
-    // Struct objects are manufactured in the VM by 'allocate' and 'load'.
-    _makeEntryPoint(node);
-
     final indexedClass = currentLibraryIndex?.lookupIndexedClass(node.name);
     _checkConstructors(node, indexedClass);
     indexedStructClasses[node] = indexedClass;
@@ -367,6 +364,11 @@
         reference: referenceFrom?.reference)
       ..fileOffset = node.fileOffset
       ..isNonNullableByDefault = node.enclosingLibrary.isNonNullableByDefault;
+
+    // Struct objects are manufactured in the VM by being passed by value
+    // in return position in FFI calls, and by value in arguments in FFI
+    // callbacks.
+    // TODO(http://dartbug.com/38721): Support tree-shaking, remove this.
     _makeEntryPoint(ctor);
     node.addConstructor(ctor);
   }
@@ -538,7 +540,6 @@
         fileUri: struct.fileUri,
         getterReference: getterReference)
       ..fileOffset = struct.fileOffset;
-    _makeEntryPoint(sizeOf);
     struct.addField(sizeOf);
   }
 
diff --git a/tools/VERSION b/tools/VERSION
index a6a98c2..ad78b64 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 13
 PATCH 0
-PRERELEASE 49
+PRERELEASE 50
 PRERELEASE_PATCH 0
\ No newline at end of file